; ModuleID = '$__lldb_module' source_filename = "$__lldb_module" target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-apple-macosx13.0.0" %"class.std::__1::__deque_iterator" = type { ptr, ptr } %"struct.std::__1::__less" = type { i8 } %"class.std::__1::deque" = type { %"struct.std::__1::__split_buffer", i64, %"class.std::__1::__compressed_pair.1" } %"struct.std::__1::__split_buffer" = type { ptr, ptr, ptr, %"class.std::__1::__compressed_pair" } %"class.std::__1::__compressed_pair" = type { %"struct.std::__1::__compressed_pair_elem" } %"struct.std::__1::__compressed_pair_elem" = type { ptr } %"class.std::__1::__compressed_pair.1" = type { %"struct.std::__1::__compressed_pair_elem.2" } %"struct.std::__1::__compressed_pair_elem.2" = type { i64 } %"struct.std::__1::pair" = type <{ %"class.std::__1::__deque_iterator", i8, [7 x i8] }> @reloc_placeholder = internal global i8 0 ; Function Attrs: convergent mustprogress noinline nounwind optnone define void @"_Z12$__lldb_exprPv"(ptr %"$__lldb_arg") #0 { entry: %0 = getelementptr i8, ptr %"$__lldb_arg", i32 0 %"$__lldb_arg.addr" = alloca ptr, align 8, !clang.decl.ptr !88 %agg.tmp = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp1 = alloca %"class.std::__1::__deque_iterator", align 8 call void (ptr, ...) inttoptr (i64 4435747824 to ptr)(ptr %"$__lldb_arg.addr") store ptr %"$__lldb_arg", ptr %"$__lldb_arg.addr", align 8 call void (ptr, ...) inttoptr (i64 4435747824 to ptr)(ptr %0) %1 = load ptr, ptr %0, align 8 %call = call { ptr, ptr } @_ZNSt3__15dequeIiNS_9allocatorIiEEE5beginB7v180000Ev(ptr nonnull align 8 dereferenceable(48) %1) #4 %2 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 0 %3 = extractvalue { ptr, ptr } %call, 0 call void (ptr, ...) inttoptr (i64 4435747824 to ptr)(ptr %2) store ptr %3, ptr %2, align 8 %4 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 1 %5 = extractvalue { ptr, ptr } %call, 1 call void (ptr, ...) inttoptr (i64 4435747824 to ptr)(ptr %4) store ptr %5, ptr %4, align 8 call void (ptr, ...) inttoptr (i64 4435747824 to ptr)(ptr %0) %6 = load ptr, ptr %0, align 8 %call2 = call { ptr, ptr } @_ZNSt3__15dequeIiNS_9allocatorIiEEE3endB7v180000Ev(ptr nonnull align 8 dereferenceable(48) %6) #4 %7 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp1, i32 0, i32 0 %8 = extractvalue { ptr, ptr } %call2, 0 call void (ptr, ...) inttoptr (i64 4435747824 to ptr)(ptr %7) store ptr %8, ptr %7, align 8 %9 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp1, i32 0, i32 1 %10 = extractvalue { ptr, ptr } %call2, 1 call void (ptr, ...) inttoptr (i64 4435747824 to ptr)(ptr %9) store ptr %10, ptr %9, align 8 %11 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 0 call void (ptr, ...) inttoptr (i64 4435747824 to ptr)(ptr %11) %12 = load ptr, ptr %11, align 8 %13 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 1 call void (ptr, ...) inttoptr (i64 4435747824 to ptr)(ptr %13) %14 = load ptr, ptr %13, align 8 %15 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp1, i32 0, i32 0 call void (ptr, ...) inttoptr (i64 4435747824 to ptr)(ptr %15) %16 = load ptr, ptr %15, align 8 %17 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp1, i32 0, i32 1 call void (ptr, ...) inttoptr (i64 4435747824 to ptr)(ptr %17) %18 = load ptr, ptr %17, align 8 call void @_ZNSt3__14sortB7v180000INS_16__deque_iteratorIiPiRiPS2_lLl1024EEEEEvT_S6_(ptr %12, ptr %14, ptr %16, ptr %18) #5 ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__14sortB7v180000INS_16__deque_iteratorIiPiRiPS2_lLl1024EEEEEvT_S6_(ptr %__first.coerce0, ptr %__first.coerce1, ptr %__last.coerce0, ptr %__last.coerce1) #0 { entry: %__first = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !89 %__last = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !90 %agg.tmp = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp1 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp2 = alloca %"struct.std::__1::__less", align 1 %0 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 0 store ptr %__first.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 1 store ptr %__first.coerce1, ptr %1, align 8 %2 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 0 store ptr %__last.coerce0, ptr %2, align 8 %3 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 1 store ptr %__last.coerce1, ptr %3, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp, ptr align 8 %__first, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp1, ptr align 8 %__last, i64 16, i1 false) %4 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 0 %5 = load ptr, ptr %4, align 8 %6 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 1 %7 = load ptr, ptr %6, align 8 %8 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp1, i32 0, i32 0 %9 = load ptr, ptr %8, align 8 %10 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp1, i32 0, i32 1 %11 = load ptr, ptr %10, align 8 call void @_ZNSt3__14sortB7v180000INS_16__deque_iteratorIiPiRiPS2_lLl1024EEENS_6__lessIvvEEEEvT_S8_T0_(ptr %5, ptr %7, ptr %9, ptr %11) #5 ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden { ptr, ptr } @_ZNSt3__15dequeIiNS_9allocatorIiEEE5beginB7v180000Ev(ptr nonnull align 8 dereferenceable(48) %this) #0 align 2 { entry: %retval = alloca %"class.std::__1::__deque_iterator", align 8 %this.addr = alloca ptr, align 8, !clang.decl.ptr !91 %__mp = alloca ptr, align 8, !clang.decl.ptr !92 store ptr %this, ptr %this.addr, align 8 %this1 = load ptr, ptr %this.addr, align 8 %__map_ = getelementptr inbounds %"class.std::__1::deque", ptr %this1, i32 0, i32 0 %call = call ptr @_ZNSt3__114__split_bufferIPiNS_9allocatorIS1_EEE5beginB7v180000Ev(ptr nonnull align 8 dereferenceable(32) %__map_) #4 %__start_ = getelementptr inbounds %"class.std::__1::deque", ptr %this1, i32 0, i32 1 %0 = load i64, ptr %__start_, align 8 %div = udiv i64 %0, 1024 %add.ptr = getelementptr inbounds ptr, ptr %call, i64 %div store ptr %add.ptr, ptr %__mp, align 8 %1 = load ptr, ptr %__mp, align 8 %__map_2 = getelementptr inbounds %"class.std::__1::deque", ptr %this1, i32 0, i32 0 %call3 = call zeroext i1 @_ZNKSt3__114__split_bufferIPiNS_9allocatorIS1_EEE5emptyB7v180000Ev(ptr nonnull align 8 dereferenceable(32) %__map_2) #5 br i1 %call3, label %cond.true, label %cond.false cond.true: ; preds = %entry br label %cond.end cond.false: ; preds = %entry %2 = load ptr, ptr %__mp, align 8 %3 = load ptr, ptr %2, align 8 %__start_4 = getelementptr inbounds %"class.std::__1::deque", ptr %this1, i32 0, i32 1 %4 = load i64, ptr %__start_4, align 8 %rem = urem i64 %4, 1024 %add.ptr5 = getelementptr inbounds i32, ptr %3, i64 %rem br label %cond.end cond.end: ; preds = %cond.false, %cond.true %cond = phi ptr [ null, %cond.true ], [ %add.ptr5, %cond.false ] call void @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEC1B7v180000ES3_S1_(ptr nonnull align 8 dereferenceable(16) %retval, ptr %1, ptr %cond) #4 %5 = load { ptr, ptr }, ptr %retval, align 8 ret { ptr, ptr } %5 } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden { ptr, ptr } @_ZNSt3__15dequeIiNS_9allocatorIiEEE3endB7v180000Ev(ptr nonnull align 8 dereferenceable(48) %this) #0 align 2 { entry: %retval = alloca %"class.std::__1::__deque_iterator", align 8 %this.addr = alloca ptr, align 8, !clang.decl.ptr !93 %__p = alloca i64, align 8, !clang.decl.ptr !94 %__mp = alloca ptr, align 8, !clang.decl.ptr !95 store ptr %this, ptr %this.addr, align 8 %this1 = load ptr, ptr %this.addr, align 8 %call = call i64 @_ZNKSt3__15dequeIiNS_9allocatorIiEEE4sizeB7v180000Ev(ptr nonnull align 8 dereferenceable(48) %this1) #4 %__start_ = getelementptr inbounds %"class.std::__1::deque", ptr %this1, i32 0, i32 1 %0 = load i64, ptr %__start_, align 8 %add = add i64 %call, %0 store i64 %add, ptr %__p, align 8 %__map_ = getelementptr inbounds %"class.std::__1::deque", ptr %this1, i32 0, i32 0 %call2 = call ptr @_ZNSt3__114__split_bufferIPiNS_9allocatorIS1_EEE5beginB7v180000Ev(ptr nonnull align 8 dereferenceable(32) %__map_) #4 %1 = load i64, ptr %__p, align 8 %div = udiv i64 %1, 1024 %add.ptr = getelementptr inbounds ptr, ptr %call2, i64 %div store ptr %add.ptr, ptr %__mp, align 8 %2 = load ptr, ptr %__mp, align 8 %__map_3 = getelementptr inbounds %"class.std::__1::deque", ptr %this1, i32 0, i32 0 %call4 = call zeroext i1 @_ZNKSt3__114__split_bufferIPiNS_9allocatorIS1_EEE5emptyB7v180000Ev(ptr nonnull align 8 dereferenceable(32) %__map_3) #5 br i1 %call4, label %cond.true, label %cond.false cond.true: ; preds = %entry br label %cond.end cond.false: ; preds = %entry %3 = load ptr, ptr %__mp, align 8 %4 = load ptr, ptr %3, align 8 %5 = load i64, ptr %__p, align 8 %rem = urem i64 %5, 1024 %add.ptr5 = getelementptr inbounds i32, ptr %4, i64 %rem br label %cond.end cond.end: ; preds = %cond.false, %cond.true %cond = phi ptr [ null, %cond.true ], [ %add.ptr5, %cond.false ] call void @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEC1B7v180000ES3_S1_(ptr nonnull align 8 dereferenceable(16) %retval, ptr %2, ptr %cond) #4 %6 = load { ptr, ptr }, ptr %retval, align 8 ret { ptr, ptr } %6 } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden ptr @_ZNSt3__114__split_bufferIPiNS_9allocatorIS1_EEE5beginB7v180000Ev(ptr nonnull align 8 dereferenceable(32) %this) #0 align 2 { entry: %this.addr = alloca ptr, align 8, !clang.decl.ptr !96 store ptr %this, ptr %this.addr, align 8 %this1 = load ptr, ptr %this.addr, align 8 %__begin_ = getelementptr inbounds %"struct.std::__1::__split_buffer", ptr %this1, i32 0, i32 1 %0 = load ptr, ptr %__begin_, align 8 ret ptr %0 } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden zeroext i1 @_ZNKSt3__114__split_bufferIPiNS_9allocatorIS1_EEE5emptyB7v180000Ev(ptr nonnull align 8 dereferenceable(32) %this) #0 align 2 { entry: %this.addr = alloca ptr, align 8, !clang.decl.ptr !97 store ptr %this, ptr %this.addr, align 8 %this1 = load ptr, ptr %this.addr, align 8 %__end_ = getelementptr inbounds %"struct.std::__1::__split_buffer", ptr %this1, i32 0, i32 2 %0 = load ptr, ptr %__end_, align 8 %__begin_ = getelementptr inbounds %"struct.std::__1::__split_buffer", ptr %this1, i32 0, i32 1 %1 = load ptr, ptr %__begin_, align 8 %cmp = icmp eq ptr %0, %1 ret i1 %cmp } ; Function Attrs: convergent noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEC1B7v180000ES3_S1_(ptr nonnull align 8 dereferenceable(16) %this, ptr %__m, ptr %__p) unnamed_addr #1 align 2 { entry: %this.addr = alloca ptr, align 8, !clang.decl.ptr !98 %__m.addr = alloca ptr, align 8, !clang.decl.ptr !99 %__p.addr = alloca ptr, align 8, !clang.decl.ptr !100 store ptr %this, ptr %this.addr, align 8 store ptr %__m, ptr %__m.addr, align 8 store ptr %__p, ptr %__p.addr, align 8 %this1 = load ptr, ptr %this.addr, align 8 %0 = load ptr, ptr %__m.addr, align 8 %1 = load ptr, ptr %__p.addr, align 8 call void @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEC2B7v180000ES3_S1_(ptr nonnull align 8 dereferenceable(16) %this1, ptr %0, ptr %1) #4 ret void } ; Function Attrs: convergent noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEC2B7v180000ES3_S1_(ptr nonnull align 8 dereferenceable(16) %this, ptr %__m, ptr %__p) unnamed_addr #1 align 2 { entry: %this.addr = alloca ptr, align 8, !clang.decl.ptr !101 %__m.addr = alloca ptr, align 8, !clang.decl.ptr !99 %__p.addr = alloca ptr, align 8, !clang.decl.ptr !100 store ptr %this, ptr %this.addr, align 8 store ptr %__m, ptr %__m.addr, align 8 store ptr %__p, ptr %__p.addr, align 8 %this1 = load ptr, ptr %this.addr, align 8 %__m_iter_ = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %this1, i32 0, i32 0 %0 = load ptr, ptr %__m.addr, align 8 store ptr %0, ptr %__m_iter_, align 8 %__ptr_ = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %this1, i32 0, i32 1 %1 = load ptr, ptr %__p.addr, align 8 store ptr %1, ptr %__ptr_, align 8 ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden i64 @_ZNKSt3__15dequeIiNS_9allocatorIiEEE4sizeB7v180000Ev(ptr nonnull align 8 dereferenceable(48) %this) #0 align 2 { entry: %this.addr = alloca ptr, align 8, !clang.decl.ptr !102 store ptr %this, ptr %this.addr, align 8 %this1 = load ptr, ptr %this.addr, align 8 %call = call nonnull align 8 dereferenceable(8) ptr @_ZNKSt3__15dequeIiNS_9allocatorIiEEE6__sizeB7v180000Ev(ptr nonnull align 8 dereferenceable(48) %this1) #4 %0 = load i64, ptr %call, align 8 ret i64 %0 } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden nonnull align 8 dereferenceable(8) ptr @_ZNKSt3__15dequeIiNS_9allocatorIiEEE6__sizeB7v180000Ev(ptr nonnull align 8 dereferenceable(48) %this) #0 align 2 { entry: %this.addr = alloca ptr, align 8, !clang.decl.ptr !103 store ptr %this, ptr %this.addr, align 8 %this1 = load ptr, ptr %this.addr, align 8 %__size_ = getelementptr inbounds %"class.std::__1::deque", ptr %this1, i32 0, i32 2 %call = call nonnull align 8 dereferenceable(8) ptr @_ZNKSt3__117__compressed_pairImNS_9allocatorIiEEE5firstB7v180000Ev(ptr nonnull align 8 dereferenceable(8) %__size_) #4 ret ptr %call } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden nonnull align 8 dereferenceable(8) ptr @_ZNKSt3__117__compressed_pairImNS_9allocatorIiEEE5firstB7v180000Ev(ptr nonnull align 8 dereferenceable(8) %this) #0 align 2 { entry: %this.addr = alloca ptr, align 8, !clang.decl.ptr !104 store ptr %this, ptr %this.addr, align 8 %this1 = load ptr, ptr %this.addr, align 8 %call = call nonnull align 8 dereferenceable(8) ptr @_ZNKSt3__122__compressed_pair_elemImLi0ELb0EE5__getB7v180000Ev(ptr nonnull align 8 dereferenceable(8) %this1) #4 ret ptr %call } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden nonnull align 8 dereferenceable(8) ptr @_ZNKSt3__122__compressed_pair_elemImLi0ELb0EE5__getB7v180000Ev(ptr nonnull align 8 dereferenceable(8) %this) #0 align 2 { entry: %this.addr = alloca ptr, align 8, !clang.decl.ptr !105 store ptr %this, ptr %this.addr, align 8 %this1 = load ptr, ptr %this.addr, align 8 %__value_ = getelementptr inbounds %"struct.std::__1::__compressed_pair_elem.2", ptr %this1, i32 0, i32 0 ret ptr %__value_ } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__14sortB7v180000INS_16__deque_iteratorIiPiRiPS2_lLl1024EEENS_6__lessIvvEEEEvT_S8_T0_(ptr %__first.coerce0, ptr %__first.coerce1, ptr %__last.coerce0, ptr %__last.coerce1) #0 { entry: %__first = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !106 %__last = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !107 %__comp = alloca %"struct.std::__1::__less", align 1, !clang.decl.ptr !108 %agg.tmp = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp1 = alloca %"class.std::__1::__deque_iterator", align 8 %0 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 0 store ptr %__first.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 1 store ptr %__first.coerce1, ptr %1, align 8 %2 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 0 store ptr %__last.coerce0, ptr %2, align 8 %3 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 1 store ptr %__last.coerce1, ptr %3, align 8 %call = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__14moveB7v180000IRNS_16__deque_iteratorIiPiRiPS2_lLl1024EEEEEOu20__remove_reference_tIT_EOS7_(ptr nonnull align 8 dereferenceable(16) %__first) #4 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp, ptr align 8 %call, i64 16, i1 false) %call2 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__14moveB7v180000IRNS_16__deque_iteratorIiPiRiPS2_lLl1024EEEEEOu20__remove_reference_tIT_EOS7_(ptr nonnull align 8 dereferenceable(16) %__last) #4 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp1, ptr align 8 %call2, i64 16, i1 false) %4 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 0 %5 = load ptr, ptr %4, align 8 %6 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 1 %7 = load ptr, ptr %6, align 8 %8 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp1, i32 0, i32 0 %9 = load ptr, ptr %8, align 8 %10 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp1, i32 0, i32 1 %11 = load ptr, ptr %10, align 8 call void @_ZNSt3__111__sort_implB7v180000INS_17_ClassicAlgPolicyENS_16__deque_iteratorIiPiRiPS3_lLl1024EEENS_6__lessIvvEEEEvT0_S9_RT1_(ptr %5, ptr %7, ptr %9, ptr %11, ptr nonnull align 1 dereferenceable(1) %__comp) #5 ret void } ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite) declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly %0, ptr noalias nocapture readonly %1, i64 %2, i1 immarg %3) #2 ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__111__sort_implB7v180000INS_17_ClassicAlgPolicyENS_16__deque_iteratorIiPiRiPS3_lLl1024EEENS_6__lessIvvEEEEvT0_S9_RT1_(ptr %__first.coerce0, ptr %__first.coerce1, ptr %__last.coerce0, ptr %__last.coerce1, ptr nonnull align 1 dereferenceable(1) %__comp) #0 { entry: %__first = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !109 %__last = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !110 %__comp.addr = alloca ptr, align 8, !clang.decl.ptr !111 %agg.tmp = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp1 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp2 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp3 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp4 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp5 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp7 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp8 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp10 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp11 = alloca %"class.std::__1::__deque_iterator", align 8 %0 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 0 store ptr %__first.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 1 store ptr %__first.coerce1, ptr %1, align 8 %2 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 0 store ptr %__last.coerce0, ptr %2, align 8 %3 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 1 store ptr %__last.coerce1, ptr %3, align 8 store ptr %__comp, ptr %__comp.addr, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp, ptr align 8 %__first, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp1, ptr align 8 %__last, i64 16, i1 false) %4 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 0 %5 = load ptr, ptr %4, align 8 %6 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 1 %7 = load ptr, ptr %6, align 8 %8 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp1, i32 0, i32 0 %9 = load ptr, ptr %8, align 8 %10 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp1, i32 0, i32 1 %11 = load ptr, ptr %10, align 8 call void @_ZNSt3__123__debug_randomize_rangeB7v180000INS_17_ClassicAlgPolicyENS_16__deque_iteratorIiPiRiPS3_lLl1024EEES6_EEvT0_T1_(ptr %5, ptr %7, ptr %9, ptr %11) #5 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp3, ptr align 8 %__first, i64 16, i1 false) %12 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp3, i32 0, i32 0 %13 = load ptr, ptr %12, align 8 %14 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp3, i32 0, i32 1 %15 = load ptr, ptr %14, align 8 %call = call { ptr, ptr } @_ZNSt3__113__unwrap_iterB7v180000INS_16__deque_iteratorIiPiRiPS2_lLl1024EEENS_18__unwrap_iter_implIS5_Lb0EEELi0EEEDTclsrT0_8__unwrapclsr3stdE7declvalIT_EEEES9_(ptr %13, ptr %15) #4 %16 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp2, i32 0, i32 0 %17 = extractvalue { ptr, ptr } %call, 0 store ptr %17, ptr %16, align 8 %18 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp2, i32 0, i32 1 %19 = extractvalue { ptr, ptr } %call, 1 store ptr %19, ptr %18, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp5, ptr align 8 %__last, i64 16, i1 false) %20 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp5, i32 0, i32 0 %21 = load ptr, ptr %20, align 8 %22 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp5, i32 0, i32 1 %23 = load ptr, ptr %22, align 8 %call6 = call { ptr, ptr } @_ZNSt3__113__unwrap_iterB7v180000INS_16__deque_iteratorIiPiRiPS2_lLl1024EEENS_18__unwrap_iter_implIS5_Lb0EEELi0EEEDTclsrT0_8__unwrapclsr3stdE7declvalIT_EEEES9_(ptr %21, ptr %23) #4 %24 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp4, i32 0, i32 0 %25 = extractvalue { ptr, ptr } %call6, 0 store ptr %25, ptr %24, align 8 %26 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp4, i32 0, i32 1 %27 = extractvalue { ptr, ptr } %call6, 1 store ptr %27, ptr %26, align 8 %28 = load ptr, ptr %__comp.addr, align 8 %29 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp2, i32 0, i32 0 %30 = load ptr, ptr %29, align 8 %31 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp2, i32 0, i32 1 %32 = load ptr, ptr %31, align 8 %33 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp4, i32 0, i32 0 %34 = load ptr, ptr %33, align 8 %35 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp4, i32 0, i32 1 %36 = load ptr, ptr %35, align 8 call void @_ZNSt3__115__sort_dispatchB7v180000INS_17_ClassicAlgPolicyENS_16__deque_iteratorIiPiRiPS3_lLl1024EEENS_6__lessIvvEEEEvT0_S9_RT1_(ptr %30, ptr %32, ptr %34, ptr %36, ptr nonnull align 1 dereferenceable(1) %28) #5 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp8, ptr align 8 %__first, i64 16, i1 false) %37 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp8, i32 0, i32 0 %38 = load ptr, ptr %37, align 8 %39 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp8, i32 0, i32 1 %40 = load ptr, ptr %39, align 8 %call9 = call { ptr, ptr } @_ZNSt3__113__unwrap_iterB7v180000INS_16__deque_iteratorIiPiRiPS2_lLl1024EEENS_18__unwrap_iter_implIS5_Lb0EEELi0EEEDTclsrT0_8__unwrapclsr3stdE7declvalIT_EEEES9_(ptr %38, ptr %40) #4 %41 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp7, i32 0, i32 0 %42 = extractvalue { ptr, ptr } %call9, 0 store ptr %42, ptr %41, align 8 %43 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp7, i32 0, i32 1 %44 = extractvalue { ptr, ptr } %call9, 1 store ptr %44, ptr %43, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp11, ptr align 8 %__last, i64 16, i1 false) %45 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp11, i32 0, i32 0 %46 = load ptr, ptr %45, align 8 %47 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp11, i32 0, i32 1 %48 = load ptr, ptr %47, align 8 %call12 = call { ptr, ptr } @_ZNSt3__113__unwrap_iterB7v180000INS_16__deque_iteratorIiPiRiPS2_lLl1024EEENS_18__unwrap_iter_implIS5_Lb0EEELi0EEEDTclsrT0_8__unwrapclsr3stdE7declvalIT_EEEES9_(ptr %46, ptr %48) #4 %49 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp10, i32 0, i32 0 %50 = extractvalue { ptr, ptr } %call12, 0 store ptr %50, ptr %49, align 8 %51 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp10, i32 0, i32 1 %52 = extractvalue { ptr, ptr } %call12, 1 store ptr %52, ptr %51, align 8 %53 = load ptr, ptr %__comp.addr, align 8 %54 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp7, i32 0, i32 0 %55 = load ptr, ptr %54, align 8 %56 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp7, i32 0, i32 1 %57 = load ptr, ptr %56, align 8 %58 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp10, i32 0, i32 0 %59 = load ptr, ptr %58, align 8 %60 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp10, i32 0, i32 1 %61 = load ptr, ptr %60, align 8 call void @_ZNSt3__135__check_strict_weak_ordering_sortedB7v180000INS_16__deque_iteratorIiPiRiPS2_lLl1024EEENS_6__lessIvvEEEEvT_S8_RT0_(ptr %55, ptr %57, ptr %59, ptr %61, ptr nonnull align 1 dereferenceable(1) %53) #5 ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden nonnull align 8 dereferenceable(16) ptr @_ZNSt3__14moveB7v180000IRNS_16__deque_iteratorIiPiRiPS2_lLl1024EEEEEOu20__remove_reference_tIT_EOS7_(ptr nonnull align 8 dereferenceable(16) %__t) #0 { entry: %__t.addr = alloca ptr, align 8, !clang.decl.ptr !112 store ptr %__t, ptr %__t.addr, align 8 %0 = load ptr, ptr %__t.addr, align 8 ret ptr %0 } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__123__debug_randomize_rangeB7v180000INS_17_ClassicAlgPolicyENS_16__deque_iteratorIiPiRiPS3_lLl1024EEES6_EEvT0_T1_(ptr %__first.coerce0, ptr %__first.coerce1, ptr %__last.coerce0, ptr %__last.coerce1) #0 { entry: %__first = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !113 %__last = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !114 %0 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 0 store ptr %__first.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 1 store ptr %__first.coerce1, ptr %1, align 8 %2 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 0 store ptr %__last.coerce0, ptr %2, align 8 %3 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 1 store ptr %__last.coerce1, ptr %3, align 8 ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__115__sort_dispatchB7v180000INS_17_ClassicAlgPolicyENS_16__deque_iteratorIiPiRiPS3_lLl1024EEENS_6__lessIvvEEEEvT0_S9_RT1_(ptr %__first.coerce0, ptr %__first.coerce1, ptr %__last.coerce0, ptr %__last.coerce1, ptr nonnull align 1 dereferenceable(1) %__comp) #0 { entry: %__first = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !115 %__last = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !116 %__comp.addr = alloca ptr, align 8, !clang.decl.ptr !117 %__depth_limit = alloca i64, align 8, !clang.decl.ptr !118 %agg.tmp = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp2 = alloca %"class.std::__1::__deque_iterator", align 8 %0 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 0 store ptr %__first.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 1 store ptr %__first.coerce1, ptr %1, align 8 %2 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 0 store ptr %__last.coerce0, ptr %2, align 8 %3 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 1 store ptr %__last.coerce1, ptr %3, align 8 store ptr %__comp, ptr %__comp.addr, align 8 %call = call i64 @_ZNSt3__1miB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__last, ptr nonnull align 8 dereferenceable(16) %__first) #5 %call1 = call i64 @_ZNSt3__17__log2iB7v180000IlEET_S1_(i64 %call) #5 %mul = mul nsw i64 2, %call1 store i64 %mul, ptr %__depth_limit, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp, ptr align 8 %__first, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp2, ptr align 8 %__last, i64 16, i1 false) %4 = load ptr, ptr %__comp.addr, align 8 %5 = load i64, ptr %__depth_limit, align 8 %6 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 0 %7 = load ptr, ptr %6, align 8 %8 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 1 %9 = load ptr, ptr %8, align 8 %10 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp2, i32 0, i32 0 %11 = load ptr, ptr %10, align 8 %12 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp2, i32 0, i32 1 %13 = load ptr, ptr %12, align 8 call void @_ZNSt3__111__introsortINS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEELb0EEEvT1_SA_T0_NS_15iterator_traitsISA_E15difference_typeEb(ptr %7, ptr %9, ptr %11, ptr %13, ptr nonnull align 1 dereferenceable(1) %4, i64 %5, i1 zeroext true) #5 ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden { ptr, ptr } @_ZNSt3__113__unwrap_iterB7v180000INS_16__deque_iteratorIiPiRiPS2_lLl1024EEENS_18__unwrap_iter_implIS5_Lb0EEELi0EEEDTclsrT0_8__unwrapclsr3stdE7declvalIT_EEEES9_(ptr %__i.coerce0, ptr %__i.coerce1) #0 { entry: %retval = alloca %"class.std::__1::__deque_iterator", align 8 %__i = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !119 %agg.tmp = alloca %"class.std::__1::__deque_iterator", align 8 %0 = getelementptr inbounds { ptr, ptr }, ptr %__i, i32 0, i32 0 store ptr %__i.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__i, i32 0, i32 1 store ptr %__i.coerce1, ptr %1, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp, ptr align 8 %__i, i64 16, i1 false) %2 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 0 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 1 %5 = load ptr, ptr %4, align 8 %call = call { ptr, ptr } @_ZNSt3__118__unwrap_iter_implINS_16__deque_iteratorIiPiRiPS2_lLl1024EEELb0EE8__unwrapB7v180000ES5_(ptr %3, ptr %5) #4 %6 = getelementptr inbounds { ptr, ptr }, ptr %retval, i32 0, i32 0 %7 = extractvalue { ptr, ptr } %call, 0 store ptr %7, ptr %6, align 8 %8 = getelementptr inbounds { ptr, ptr }, ptr %retval, i32 0, i32 1 %9 = extractvalue { ptr, ptr } %call, 1 store ptr %9, ptr %8, align 8 %10 = load { ptr, ptr }, ptr %retval, align 8 ret { ptr, ptr } %10 } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__135__check_strict_weak_ordering_sortedB7v180000INS_16__deque_iteratorIiPiRiPS2_lLl1024EEENS_6__lessIvvEEEEvT_S8_RT0_(ptr %__first.coerce0, ptr %__first.coerce1, ptr %__last.coerce0, ptr %__last.coerce1, ptr nonnull align 1 dereferenceable(1) %__comp) #0 { entry: %__first = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !120 %__last = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !121 %__comp.addr = alloca ptr, align 8, !clang.decl.ptr !122 %0 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 0 store ptr %__first.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 1 store ptr %__first.coerce1, ptr %1, align 8 %2 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 0 store ptr %__last.coerce0, ptr %2, align 8 %3 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 1 store ptr %__last.coerce1, ptr %3, align 8 store ptr %__comp, ptr %__comp.addr, align 8 %4 = load ptr, ptr %__comp.addr, align 8 ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden i64 @_ZNSt3__17__log2iB7v180000IlEET_S1_(i64 %__n) #0 { entry: %retval = alloca i64, align 8 %__n.addr = alloca i64, align 8, !clang.decl.ptr !123 %__log2 = alloca i64, align 8, !clang.decl.ptr !124 store i64 %__n, ptr %__n.addr, align 8 %0 = load i64, ptr %__n.addr, align 8 %cmp = icmp eq i64 %0, 0 br i1 %cmp, label %if.then, label %if.end if.then: ; preds = %entry store i64 0, ptr %retval, align 8 br label %return if.end: ; preds = %entry %1 = load i64, ptr %__n.addr, align 8 %call = call i32 @_ZNSt3__112__libcpp_clzB7v180000Em(i64 %1) #4 %conv = sext i32 %call to i64 %sub = sub i64 63, %conv store i64 %sub, ptr %retval, align 8 br label %return return: ; preds = %if.end, %if.then %2 = load i64, ptr %retval, align 8 ret i64 %2 } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden i64 @_ZNSt3__1miB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__x, ptr nonnull align 8 dereferenceable(16) %__y) #0 { entry: %retval = alloca i64, align 8 %__x.addr = alloca ptr, align 8, !clang.decl.ptr !125 %__y.addr = alloca ptr, align 8, !clang.decl.ptr !126 store ptr %__x, ptr %__x.addr, align 8 store ptr %__y, ptr %__y.addr, align 8 %0 = load ptr, ptr %__x.addr, align 8 %1 = load ptr, ptr %__y.addr, align 8 %call = call zeroext i1 @_ZNSt3__1neB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %0, ptr nonnull align 8 dereferenceable(16) %1) #5 br i1 %call, label %if.then, label %if.end if.then: ; preds = %entry %2 = load ptr, ptr %__x.addr, align 8 %__m_iter_ = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %2, i32 0, i32 0 %3 = load ptr, ptr %__m_iter_, align 8 %4 = load ptr, ptr %__y.addr, align 8 %__m_iter_1 = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %4, i32 0, i32 0 %5 = load ptr, ptr %__m_iter_1, align 8 %sub.ptr.lhs.cast = ptrtoint ptr %3 to i64 %sub.ptr.rhs.cast = ptrtoint ptr %5 to i64 %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast %sub.ptr.div = sdiv exact i64 %sub.ptr.sub, 8 %mul = mul nsw i64 %sub.ptr.div, 1024 %6 = load ptr, ptr %__x.addr, align 8 %__ptr_ = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %6, i32 0, i32 1 %7 = load ptr, ptr %__ptr_, align 8 %8 = load ptr, ptr %__x.addr, align 8 %__m_iter_2 = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %8, i32 0, i32 0 %9 = load ptr, ptr %__m_iter_2, align 8 %10 = load ptr, ptr %9, align 8 %sub.ptr.lhs.cast3 = ptrtoint ptr %7 to i64 %sub.ptr.rhs.cast4 = ptrtoint ptr %10 to i64 %sub.ptr.sub5 = sub i64 %sub.ptr.lhs.cast3, %sub.ptr.rhs.cast4 %sub.ptr.div6 = sdiv exact i64 %sub.ptr.sub5, 4 %add = add nsw i64 %mul, %sub.ptr.div6 %11 = load ptr, ptr %__y.addr, align 8 %__ptr_7 = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %11, i32 0, i32 1 %12 = load ptr, ptr %__ptr_7, align 8 %13 = load ptr, ptr %__y.addr, align 8 %__m_iter_8 = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %13, i32 0, i32 0 %14 = load ptr, ptr %__m_iter_8, align 8 %15 = load ptr, ptr %14, align 8 %sub.ptr.lhs.cast9 = ptrtoint ptr %12 to i64 %sub.ptr.rhs.cast10 = ptrtoint ptr %15 to i64 %sub.ptr.sub11 = sub i64 %sub.ptr.lhs.cast9, %sub.ptr.rhs.cast10 %sub.ptr.div12 = sdiv exact i64 %sub.ptr.sub11, 4 %sub = sub nsw i64 %add, %sub.ptr.div12 store i64 %sub, ptr %retval, align 8 br label %return if.end: ; preds = %entry store i64 0, ptr %retval, align 8 br label %return return: ; preds = %if.end, %if.then %16 = load i64, ptr %retval, align 8 ret i64 %16 } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr void @_ZNSt3__111__introsortINS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEELb0EEEvT1_SA_T0_NS_15iterator_traitsISA_E15difference_typeEb(ptr %__first.coerce0, ptr %__first.coerce1, ptr %__last.coerce0, ptr %__last.coerce1, ptr nonnull align 1 dereferenceable(1) %__comp, i64 %__depth, i1 zeroext %__leftmost) #0 { entry: %__first = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !127 %__last = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !128 %__comp.addr = alloca ptr, align 8, !clang.decl.ptr !129 %__depth.addr = alloca i64, align 8, !clang.decl.ptr !130 %__leftmost.addr = alloca i8, align 1, !clang.decl.ptr !131 %__limit = alloca i64, align 8, !clang.decl.ptr !132 %__ninther_threshold = alloca i64, align 8, !clang.decl.ptr !133 %__len = alloca i64, align 8, !clang.decl.ptr !134 %agg.tmp = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp7 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp9 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp12 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp13 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp15 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp17 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp20 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp21 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp23 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp25 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp27 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp31 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp32 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp33 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp34 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp39 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp40 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp41 = alloca %"class.std::__1::__deque_iterator", align 8 %coerce = alloca %"class.std::__1::__deque_iterator", align 8 %__half_len = alloca i64, align 8, !clang.decl.ptr !135 %agg.tmp46 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp47 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp49 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp52 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp54 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp56 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp59 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp61 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp63 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp66 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp69 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp71 = alloca %"class.std::__1::__deque_iterator", align 8 %ref.tmp = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp77 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp79 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp80 = alloca %"class.std::__1::__deque_iterator", align 8 %ref.tmp85 = alloca %"class.std::__1::__deque_iterator", align 8 %ref.tmp91 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp92 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp93 = alloca %"class.std::__1::__deque_iterator", align 8 %__ret = alloca %"struct.std::__1::pair", align 8, !clang.decl.ptr !136 %agg.tmp96 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp97 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp98 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp99 = alloca %"class.std::__1::__deque_iterator", align 8 %__i = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !137 %__fs = alloca i8, align 1, !clang.decl.ptr !138 %agg.tmp102 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp103 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp106 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp108 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp121 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp122 = alloca %"class.std::__1::__deque_iterator", align 8 %0 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 0 store ptr %__first.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 1 store ptr %__first.coerce1, ptr %1, align 8 %2 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 0 store ptr %__last.coerce0, ptr %2, align 8 %3 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 1 store ptr %__last.coerce1, ptr %3, align 8 store ptr %__comp, ptr %__comp.addr, align 8 store i64 %__depth, ptr %__depth.addr, align 8 %frombool = zext i1 %__leftmost to i8 store i8 %frombool, ptr %__leftmost.addr, align 1 store i64 24, ptr %__limit, align 8 store i64 128, ptr %__ninther_threshold, align 8 br label %while.body while.body: ; preds = %while.body.backedge, %entry %call = call i64 @_ZNSt3__1miB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__last, ptr nonnull align 8 dereferenceable(16) %__first) #5 store i64 %call, ptr %__len, align 8 %4 = load i64, ptr %__len, align 8 switch i64 %4, label %sw.epilog [ i64 0, label %sw.bb i64 1, label %sw.bb i64 2, label %sw.bb1 i64 3, label %sw.bb6 i64 4, label %sw.bb11 i64 5, label %sw.bb19 ] sw.bb: ; preds = %while.body, %while.body br label %return sw.bb1: ; preds = %while.body %5 = load ptr, ptr %__comp.addr, align 8 %call2 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmmB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__last) #5 %call3 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %call2) #5 %call4 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__first) #5 %call5 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %5, ptr nonnull align 4 dereferenceable(4) %call3, ptr nonnull align 4 dereferenceable(4) %call4) #5 br i1 %call5, label %if.then, label %if.end if.then: ; preds = %sw.bb1 call void @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE9iter_swapB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEES9_EEvOT_OT0_(ptr nonnull align 8 dereferenceable(16) %__first, ptr nonnull align 8 dereferenceable(16) %__last) #5 br label %if.end if.end: ; preds = %if.then, %sw.bb1 br label %return sw.bb6: ; preds = %while.body call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp, ptr align 8 %__first, i64 16, i1 false) %call8 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 1) #5 %6 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp7, i32 0, i32 0 %7 = extractvalue { ptr, ptr } %call8, 0 store ptr %7, ptr %6, align 8 %8 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp7, i32 0, i32 1 %9 = extractvalue { ptr, ptr } %call8, 1 store ptr %9, ptr %8, align 8 %call10 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmmB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__last) #5 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp9, ptr align 8 %call10, i64 16, i1 false) %10 = load ptr, ptr %__comp.addr, align 8 %11 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 0 %12 = load ptr, ptr %11, align 8 %13 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 1 %14 = load ptr, ptr %13, align 8 %15 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp7, i32 0, i32 0 %16 = load ptr, ptr %15, align 8 %17 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp7, i32 0, i32 1 %18 = load ptr, ptr %17, align 8 %19 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp9, i32 0, i32 0 %20 = load ptr, ptr %19, align 8 %21 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp9, i32 0, i32 1 %22 = load ptr, ptr %21, align 8 call void @_ZNSt3__124__sort3_maybe_branchlessB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEENS_9enable_ifIXntsr21__use_branchless_sortIT0_T1_EE5valueEvE4typeESC_SC_SC_SB_(ptr %12, ptr %14, ptr %16, ptr %18, ptr %20, ptr %22, ptr nonnull align 1 dereferenceable(1) %10) #5 br label %return sw.bb11: ; preds = %while.body call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp12, ptr align 8 %__first, i64 16, i1 false) %call14 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 1) #5 %23 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp13, i32 0, i32 0 %24 = extractvalue { ptr, ptr } %call14, 0 store ptr %24, ptr %23, align 8 %25 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp13, i32 0, i32 1 %26 = extractvalue { ptr, ptr } %call14, 1 store ptr %26, ptr %25, align 8 %call16 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 2) #5 %27 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp15, i32 0, i32 0 %28 = extractvalue { ptr, ptr } %call16, 0 store ptr %28, ptr %27, align 8 %29 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp15, i32 0, i32 1 %30 = extractvalue { ptr, ptr } %call16, 1 store ptr %30, ptr %29, align 8 %call18 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmmB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__last) #5 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp17, ptr align 8 %call18, i64 16, i1 false) %31 = load ptr, ptr %__comp.addr, align 8 %32 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp12, i32 0, i32 0 %33 = load ptr, ptr %32, align 8 %34 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp12, i32 0, i32 1 %35 = load ptr, ptr %34, align 8 %36 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp13, i32 0, i32 0 %37 = load ptr, ptr %36, align 8 %38 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp13, i32 0, i32 1 %39 = load ptr, ptr %38, align 8 %40 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp15, i32 0, i32 0 %41 = load ptr, ptr %40, align 8 %42 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp15, i32 0, i32 1 %43 = load ptr, ptr %42, align 8 call void @_ZNSt3__124__sort4_maybe_branchlessB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEENS_9enable_ifIXntsr21__use_branchless_sortIT0_T1_EE5valueEvE4typeESC_SC_SC_SC_SB_(ptr %33, ptr %35, ptr %37, ptr %39, ptr %41, ptr %43, ptr byval(%"class.std::__1::__deque_iterator") align 8 %agg.tmp17, ptr nonnull align 1 dereferenceable(1) %31) #5 br label %return sw.bb19: ; preds = %while.body call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp20, ptr align 8 %__first, i64 16, i1 false) %call22 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 1) #5 %44 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp21, i32 0, i32 0 %45 = extractvalue { ptr, ptr } %call22, 0 store ptr %45, ptr %44, align 8 %46 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp21, i32 0, i32 1 %47 = extractvalue { ptr, ptr } %call22, 1 store ptr %47, ptr %46, align 8 %call24 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 2) #5 %48 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp23, i32 0, i32 0 %49 = extractvalue { ptr, ptr } %call24, 0 store ptr %49, ptr %48, align 8 %50 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp23, i32 0, i32 1 %51 = extractvalue { ptr, ptr } %call24, 1 store ptr %51, ptr %50, align 8 %call26 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 3) #5 %52 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp25, i32 0, i32 0 %53 = extractvalue { ptr, ptr } %call26, 0 store ptr %53, ptr %52, align 8 %54 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp25, i32 0, i32 1 %55 = extractvalue { ptr, ptr } %call26, 1 store ptr %55, ptr %54, align 8 %call28 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmmB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__last) #5 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp27, ptr align 8 %call28, i64 16, i1 false) %56 = load ptr, ptr %__comp.addr, align 8 %57 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp20, i32 0, i32 0 %58 = load ptr, ptr %57, align 8 %59 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp20, i32 0, i32 1 %60 = load ptr, ptr %59, align 8 %61 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp21, i32 0, i32 0 %62 = load ptr, ptr %61, align 8 %63 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp21, i32 0, i32 1 %64 = load ptr, ptr %63, align 8 %65 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp23, i32 0, i32 0 %66 = load ptr, ptr %65, align 8 %67 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp23, i32 0, i32 1 %68 = load ptr, ptr %67, align 8 call void @_ZNSt3__124__sort5_maybe_branchlessB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEENS_9enable_ifIXntsr21__use_branchless_sortIT0_T1_EE5valueEvE4typeESC_SC_SC_SC_SC_SB_(ptr %58, ptr %60, ptr %62, ptr %64, ptr %66, ptr %68, ptr byval(%"class.std::__1::__deque_iterator") align 8 %agg.tmp25, ptr byval(%"class.std::__1::__deque_iterator") align 8 %agg.tmp27, ptr nonnull align 1 dereferenceable(1) %56) #5 br label %return sw.epilog: ; preds = %while.body %69 = load i64, ptr %__len, align 8 %cmp = icmp slt i64 %69, 24 br i1 %cmp, label %if.then29, label %if.end36 if.then29: ; preds = %sw.epilog %70 = load i8, ptr %__leftmost.addr, align 1 %tobool = trunc i8 %70 to i1 br i1 %tobool, label %if.then30, label %if.else if.then30: ; preds = %if.then29 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp31, ptr align 8 %__first, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp32, ptr align 8 %__last, i64 16, i1 false) %71 = load ptr, ptr %__comp.addr, align 8 %72 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp31, i32 0, i32 0 %73 = load ptr, ptr %72, align 8 %74 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp31, i32 0, i32 1 %75 = load ptr, ptr %74, align 8 %76 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp32, i32 0, i32 0 %77 = load ptr, ptr %76, align 8 %78 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp32, i32 0, i32 1 %79 = load ptr, ptr %78, align 8 call void @_ZNSt3__116__insertion_sortB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEvT1_SA_T0_(ptr %73, ptr %75, ptr %77, ptr %79, ptr nonnull align 1 dereferenceable(1) %71) #5 br label %if.end35 if.else: ; preds = %if.then29 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp33, ptr align 8 %__first, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp34, ptr align 8 %__last, i64 16, i1 false) %80 = load ptr, ptr %__comp.addr, align 8 %81 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp33, i32 0, i32 0 %82 = load ptr, ptr %81, align 8 %83 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp33, i32 0, i32 1 %84 = load ptr, ptr %83, align 8 %85 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp34, i32 0, i32 0 %86 = load ptr, ptr %85, align 8 %87 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp34, i32 0, i32 1 %88 = load ptr, ptr %87, align 8 call void @_ZNSt3__126__insertion_sort_unguardedB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEvT1_SA_T0_(ptr %82, ptr %84, ptr %86, ptr %88, ptr nonnull align 1 dereferenceable(1) %80) #5 br label %if.end35 if.end35: ; preds = %if.else, %if.then30 br label %return if.end36: ; preds = %sw.epilog %89 = load i64, ptr %__depth.addr, align 8 %cmp37 = icmp eq i64 %89, 0 br i1 %cmp37, label %if.then38, label %if.end43 if.then38: ; preds = %if.end36 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp39, ptr align 8 %__first, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp40, ptr align 8 %__last, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp41, ptr align 8 %__last, i64 16, i1 false) %90 = load ptr, ptr %__comp.addr, align 8 %91 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp39, i32 0, i32 0 %92 = load ptr, ptr %91, align 8 %93 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp39, i32 0, i32 1 %94 = load ptr, ptr %93, align 8 %95 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp40, i32 0, i32 0 %96 = load ptr, ptr %95, align 8 %97 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp40, i32 0, i32 1 %98 = load ptr, ptr %97, align 8 %99 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp41, i32 0, i32 0 %100 = load ptr, ptr %99, align 8 %101 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp41, i32 0, i32 1 %102 = load ptr, ptr %101, align 8 %call42 = call { ptr, ptr } @_ZNSt3__114__partial_sortB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEES9_EET1_SA_SA_T2_RT0_(ptr %92, ptr %94, ptr %96, ptr %98, ptr %100, ptr %102, ptr nonnull align 1 dereferenceable(1) %90) #5 %103 = getelementptr inbounds { ptr, ptr }, ptr %coerce, i32 0, i32 0 %104 = extractvalue { ptr, ptr } %call42, 0 store ptr %104, ptr %103, align 8 %105 = getelementptr inbounds { ptr, ptr }, ptr %coerce, i32 0, i32 1 %106 = extractvalue { ptr, ptr } %call42, 1 store ptr %106, ptr %105, align 8 br label %return if.end43: ; preds = %if.end36 %107 = load i64, ptr %__depth.addr, align 8 %dec = add nsw i64 %107, -1 store i64 %dec, ptr %__depth.addr, align 8 %108 = load i64, ptr %__len, align 8 %div = sdiv i64 %108, 2 store i64 %div, ptr %__half_len, align 8 %109 = load i64, ptr %__len, align 8 %cmp44 = icmp sgt i64 %109, 128 br i1 %cmp44, label %if.then45, label %if.else76 if.then45: ; preds = %if.end43 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp46, ptr align 8 %__first, i64 16, i1 false) %110 = load i64, ptr %__half_len, align 8 %call48 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 %110) #5 %111 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp47, i32 0, i32 0 %112 = extractvalue { ptr, ptr } %call48, 0 store ptr %112, ptr %111, align 8 %113 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp47, i32 0, i32 1 %114 = extractvalue { ptr, ptr } %call48, 1 store ptr %114, ptr %113, align 8 %call50 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmiB7v180000El(ptr nonnull align 8 dereferenceable(16) %__last, i64 1) #5 %115 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp49, i32 0, i32 0 %116 = extractvalue { ptr, ptr } %call50, 0 store ptr %116, ptr %115, align 8 %117 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp49, i32 0, i32 1 %118 = extractvalue { ptr, ptr } %call50, 1 store ptr %118, ptr %117, align 8 %119 = load ptr, ptr %__comp.addr, align 8 %120 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp46, i32 0, i32 0 %121 = load ptr, ptr %120, align 8 %122 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp46, i32 0, i32 1 %123 = load ptr, ptr %122, align 8 %124 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp47, i32 0, i32 0 %125 = load ptr, ptr %124, align 8 %126 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp47, i32 0, i32 1 %127 = load ptr, ptr %126, align 8 %128 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp49, i32 0, i32 0 %129 = load ptr, ptr %128, align 8 %130 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp49, i32 0, i32 1 %131 = load ptr, ptr %130, align 8 %call51 = call i32 @_ZNSt3__17__sort3B7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEjT1_SA_SA_T0_(ptr %121, ptr %123, ptr %125, ptr %127, ptr %129, ptr %131, ptr nonnull align 1 dereferenceable(1) %119) #5 %call53 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 1) #5 %132 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp52, i32 0, i32 0 %133 = extractvalue { ptr, ptr } %call53, 0 store ptr %133, ptr %132, align 8 %134 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp52, i32 0, i32 1 %135 = extractvalue { ptr, ptr } %call53, 1 store ptr %135, ptr %134, align 8 %136 = load i64, ptr %__half_len, align 8 %sub = sub nsw i64 %136, 1 %call55 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 %sub) #5 %137 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp54, i32 0, i32 0 %138 = extractvalue { ptr, ptr } %call55, 0 store ptr %138, ptr %137, align 8 %139 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp54, i32 0, i32 1 %140 = extractvalue { ptr, ptr } %call55, 1 store ptr %140, ptr %139, align 8 %call57 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmiB7v180000El(ptr nonnull align 8 dereferenceable(16) %__last, i64 2) #5 %141 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp56, i32 0, i32 0 %142 = extractvalue { ptr, ptr } %call57, 0 store ptr %142, ptr %141, align 8 %143 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp56, i32 0, i32 1 %144 = extractvalue { ptr, ptr } %call57, 1 store ptr %144, ptr %143, align 8 %145 = load ptr, ptr %__comp.addr, align 8 %146 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp52, i32 0, i32 0 %147 = load ptr, ptr %146, align 8 %148 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp52, i32 0, i32 1 %149 = load ptr, ptr %148, align 8 %150 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp54, i32 0, i32 0 %151 = load ptr, ptr %150, align 8 %152 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp54, i32 0, i32 1 %153 = load ptr, ptr %152, align 8 %154 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp56, i32 0, i32 0 %155 = load ptr, ptr %154, align 8 %156 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp56, i32 0, i32 1 %157 = load ptr, ptr %156, align 8 %call58 = call i32 @_ZNSt3__17__sort3B7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEjT1_SA_SA_T0_(ptr %147, ptr %149, ptr %151, ptr %153, ptr %155, ptr %157, ptr nonnull align 1 dereferenceable(1) %145) #5 %call60 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 2) #5 %158 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp59, i32 0, i32 0 %159 = extractvalue { ptr, ptr } %call60, 0 store ptr %159, ptr %158, align 8 %160 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp59, i32 0, i32 1 %161 = extractvalue { ptr, ptr } %call60, 1 store ptr %161, ptr %160, align 8 %162 = load i64, ptr %__half_len, align 8 %add = add nsw i64 %162, 1 %call62 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 %add) #5 %163 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp61, i32 0, i32 0 %164 = extractvalue { ptr, ptr } %call62, 0 store ptr %164, ptr %163, align 8 %165 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp61, i32 0, i32 1 %166 = extractvalue { ptr, ptr } %call62, 1 store ptr %166, ptr %165, align 8 %call64 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmiB7v180000El(ptr nonnull align 8 dereferenceable(16) %__last, i64 3) #5 %167 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp63, i32 0, i32 0 %168 = extractvalue { ptr, ptr } %call64, 0 store ptr %168, ptr %167, align 8 %169 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp63, i32 0, i32 1 %170 = extractvalue { ptr, ptr } %call64, 1 store ptr %170, ptr %169, align 8 %171 = load ptr, ptr %__comp.addr, align 8 %172 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp59, i32 0, i32 0 %173 = load ptr, ptr %172, align 8 %174 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp59, i32 0, i32 1 %175 = load ptr, ptr %174, align 8 %176 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp61, i32 0, i32 0 %177 = load ptr, ptr %176, align 8 %178 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp61, i32 0, i32 1 %179 = load ptr, ptr %178, align 8 %180 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp63, i32 0, i32 0 %181 = load ptr, ptr %180, align 8 %182 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp63, i32 0, i32 1 %183 = load ptr, ptr %182, align 8 %call65 = call i32 @_ZNSt3__17__sort3B7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEjT1_SA_SA_T0_(ptr %173, ptr %175, ptr %177, ptr %179, ptr %181, ptr %183, ptr nonnull align 1 dereferenceable(1) %171) #5 %184 = load i64, ptr %__half_len, align 8 %sub67 = sub nsw i64 %184, 1 %call68 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 %sub67) #5 %185 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp66, i32 0, i32 0 %186 = extractvalue { ptr, ptr } %call68, 0 store ptr %186, ptr %185, align 8 %187 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp66, i32 0, i32 1 %188 = extractvalue { ptr, ptr } %call68, 1 store ptr %188, ptr %187, align 8 %189 = load i64, ptr %__half_len, align 8 %call70 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 %189) #5 %190 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp69, i32 0, i32 0 %191 = extractvalue { ptr, ptr } %call70, 0 store ptr %191, ptr %190, align 8 %192 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp69, i32 0, i32 1 %193 = extractvalue { ptr, ptr } %call70, 1 store ptr %193, ptr %192, align 8 %194 = load i64, ptr %__half_len, align 8 %add72 = add nsw i64 %194, 1 %call73 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 %add72) #5 %195 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp71, i32 0, i32 0 %196 = extractvalue { ptr, ptr } %call73, 0 store ptr %196, ptr %195, align 8 %197 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp71, i32 0, i32 1 %198 = extractvalue { ptr, ptr } %call73, 1 store ptr %198, ptr %197, align 8 %199 = load ptr, ptr %__comp.addr, align 8 %200 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp66, i32 0, i32 0 %201 = load ptr, ptr %200, align 8 %202 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp66, i32 0, i32 1 %203 = load ptr, ptr %202, align 8 %204 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp69, i32 0, i32 0 %205 = load ptr, ptr %204, align 8 %206 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp69, i32 0, i32 1 %207 = load ptr, ptr %206, align 8 %208 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp71, i32 0, i32 0 %209 = load ptr, ptr %208, align 8 %210 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp71, i32 0, i32 1 %211 = load ptr, ptr %210, align 8 %call74 = call i32 @_ZNSt3__17__sort3B7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEjT1_SA_SA_T0_(ptr %201, ptr %203, ptr %205, ptr %207, ptr %209, ptr %211, ptr nonnull align 1 dereferenceable(1) %199) #5 %212 = load i64, ptr %__half_len, align 8 %call75 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 %212) #5 %213 = getelementptr inbounds { ptr, ptr }, ptr %ref.tmp, i32 0, i32 0 %214 = extractvalue { ptr, ptr } %call75, 0 store ptr %214, ptr %213, align 8 %215 = getelementptr inbounds { ptr, ptr }, ptr %ref.tmp, i32 0, i32 1 %216 = extractvalue { ptr, ptr } %call75, 1 store ptr %216, ptr %215, align 8 call void @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE9iter_swapB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEES8_EEvOT_OT0_(ptr nonnull align 8 dereferenceable(16) %__first, ptr nonnull align 8 dereferenceable(16) %ref.tmp) #5 br label %if.end83 if.else76: ; preds = %if.end43 %217 = load i64, ptr %__half_len, align 8 %call78 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 %217) #5 %218 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp77, i32 0, i32 0 %219 = extractvalue { ptr, ptr } %call78, 0 store ptr %219, ptr %218, align 8 %220 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp77, i32 0, i32 1 %221 = extractvalue { ptr, ptr } %call78, 1 store ptr %221, ptr %220, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp79, ptr align 8 %__first, i64 16, i1 false) %call81 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmiB7v180000El(ptr nonnull align 8 dereferenceable(16) %__last, i64 1) #5 %222 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp80, i32 0, i32 0 %223 = extractvalue { ptr, ptr } %call81, 0 store ptr %223, ptr %222, align 8 %224 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp80, i32 0, i32 1 %225 = extractvalue { ptr, ptr } %call81, 1 store ptr %225, ptr %224, align 8 %226 = load ptr, ptr %__comp.addr, align 8 %227 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp77, i32 0, i32 0 %228 = load ptr, ptr %227, align 8 %229 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp77, i32 0, i32 1 %230 = load ptr, ptr %229, align 8 %231 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp79, i32 0, i32 0 %232 = load ptr, ptr %231, align 8 %233 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp79, i32 0, i32 1 %234 = load ptr, ptr %233, align 8 %235 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp80, i32 0, i32 0 %236 = load ptr, ptr %235, align 8 %237 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp80, i32 0, i32 1 %238 = load ptr, ptr %237, align 8 %call82 = call i32 @_ZNSt3__17__sort3B7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEjT1_SA_SA_T0_(ptr %228, ptr %230, ptr %232, ptr %234, ptr %236, ptr %238, ptr nonnull align 1 dereferenceable(1) %226) #5 br label %if.end83 if.end83: ; preds = %if.else76, %if.then45 %239 = load i8, ptr %__leftmost.addr, align 1 %tobool84 = trunc i8 %239 to i1 br i1 %tobool84, label %land.end, label %land.rhs land.rhs: ; preds = %if.end83 %240 = load ptr, ptr %__comp.addr, align 8 %call86 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmiB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 1) #5 %241 = getelementptr inbounds { ptr, ptr }, ptr %ref.tmp85, i32 0, i32 0 %242 = extractvalue { ptr, ptr } %call86, 0 store ptr %242, ptr %241, align 8 %243 = getelementptr inbounds { ptr, ptr }, ptr %ref.tmp85, i32 0, i32 1 %244 = extractvalue { ptr, ptr } %call86, 1 store ptr %244, ptr %243, align 8 %call87 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %ref.tmp85) #5 %call88 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__first) #5 %call89 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %240, ptr nonnull align 4 dereferenceable(4) %call87, ptr nonnull align 4 dereferenceable(4) %call88) #5 %lnot = xor i1 %call89, true br label %land.end land.end: ; preds = %land.rhs, %if.end83 %245 = phi i1 [ false, %if.end83 ], [ %lnot, %land.rhs ] br i1 %245, label %if.then90, label %if.end95 if.then90: ; preds = %land.end call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp92, ptr align 8 %__first, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp93, ptr align 8 %__last, i64 16, i1 false) %246 = load ptr, ptr %__comp.addr, align 8 %247 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp92, i32 0, i32 0 %248 = load ptr, ptr %247, align 8 %249 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp92, i32 0, i32 1 %250 = load ptr, ptr %249, align 8 %251 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp93, i32 0, i32 0 %252 = load ptr, ptr %251, align 8 %253 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp93, i32 0, i32 1 %254 = load ptr, ptr %253, align 8 %call94 = call { ptr, ptr } @_ZNSt3__131__partition_with_equals_on_leftB7v180000INS_17_ClassicAlgPolicyENS_16__deque_iteratorIiPiRiPS3_lLl1024EEERNS_6__lessIvvEEEET0_SA_SA_T1_(ptr %248, ptr %250, ptr %252, ptr %254, ptr nonnull align 1 dereferenceable(1) %246) #5 %255 = getelementptr inbounds { ptr, ptr }, ptr %ref.tmp91, i32 0, i32 0 %256 = extractvalue { ptr, ptr } %call94, 0 store ptr %256, ptr %255, align 8 %257 = getelementptr inbounds { ptr, ptr }, ptr %ref.tmp91, i32 0, i32 1 %258 = extractvalue { ptr, ptr } %call94, 1 store ptr %258, ptr %257, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__first, ptr align 8 %ref.tmp91, i64 16, i1 false) br label %while.body.backedge if.end95: ; preds = %land.end br i1 false, label %cond.true, label %cond.false cond.true: ; preds = %if.end95 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp96, ptr align 8 %__first, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp97, ptr align 8 %__last, i64 16, i1 false) %259 = load ptr, ptr %__comp.addr, align 8 %260 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp96, i32 0, i32 0 %261 = load ptr, ptr %260, align 8 %262 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp96, i32 0, i32 1 %263 = load ptr, ptr %262, align 8 %264 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp97, i32 0, i32 0 %265 = load ptr, ptr %264, align 8 %266 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp97, i32 0, i32 1 %267 = load ptr, ptr %266, align 8 call void @_ZNSt3__118__bitset_partitionB7v180000INS_17_ClassicAlgPolicyENS_16__deque_iteratorIiPiRiPS3_lLl1024EEERNS_6__lessIvvEEEENS_4pairIT0_bEESB_SB_T1_(ptr sret(%"struct.std::__1::pair") align 8 %__ret, ptr %261, ptr %263, ptr %265, ptr %267, ptr nonnull align 1 dereferenceable(1) %259) #5 br label %cond.end cond.false: ; preds = %if.end95 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp98, ptr align 8 %__first, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp99, ptr align 8 %__last, i64 16, i1 false) %268 = load ptr, ptr %__comp.addr, align 8 %269 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp98, i32 0, i32 0 %270 = load ptr, ptr %269, align 8 %271 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp98, i32 0, i32 1 %272 = load ptr, ptr %271, align 8 %273 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp99, i32 0, i32 0 %274 = load ptr, ptr %273, align 8 %275 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp99, i32 0, i32 1 %276 = load ptr, ptr %275, align 8 call void @_ZNSt3__132__partition_with_equals_on_rightB7v180000INS_17_ClassicAlgPolicyENS_16__deque_iteratorIiPiRiPS3_lLl1024EEERNS_6__lessIvvEEEENS_4pairIT0_bEESB_SB_T1_(ptr sret(%"struct.std::__1::pair") align 8 %__ret, ptr %270, ptr %272, ptr %274, ptr %276, ptr nonnull align 1 dereferenceable(1) %268) #5 br label %cond.end cond.end: ; preds = %cond.false, %cond.true %first = getelementptr inbounds %"struct.std::__1::pair", ptr %__ret, i32 0, i32 0 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__i, ptr align 8 %first, i64 16, i1 false) %second = getelementptr inbounds %"struct.std::__1::pair", ptr %__ret, i32 0, i32 1 %277 = load i8, ptr %second, align 8 %tobool100 = trunc i8 %277 to i1 br i1 %tobool100, label %if.then101, label %if.end120 if.then101: ; preds = %cond.end call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp102, ptr align 8 %__first, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp103, ptr align 8 %__i, i64 16, i1 false) %278 = load ptr, ptr %__comp.addr, align 8 %279 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp102, i32 0, i32 0 %280 = load ptr, ptr %279, align 8 %281 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp102, i32 0, i32 1 %282 = load ptr, ptr %281, align 8 %283 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp103, i32 0, i32 0 %284 = load ptr, ptr %283, align 8 %285 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp103, i32 0, i32 1 %286 = load ptr, ptr %285, align 8 %call104 = call zeroext i1 @_ZNSt3__127__insertion_sort_incompleteB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEbT1_SA_T0_(ptr %280, ptr %282, ptr %284, ptr %286, ptr nonnull align 1 dereferenceable(1) %278) #5 %frombool105 = zext i1 %call104 to i8 store i8 %frombool105, ptr %__fs, align 1 %call107 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__i, i64 1) #5 %287 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp106, i32 0, i32 0 %288 = extractvalue { ptr, ptr } %call107, 0 store ptr %288, ptr %287, align 8 %289 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp106, i32 0, i32 1 %290 = extractvalue { ptr, ptr } %call107, 1 store ptr %290, ptr %289, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp108, ptr align 8 %__last, i64 16, i1 false) %291 = load ptr, ptr %__comp.addr, align 8 %292 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp106, i32 0, i32 0 %293 = load ptr, ptr %292, align 8 %294 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp106, i32 0, i32 1 %295 = load ptr, ptr %294, align 8 %296 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp108, i32 0, i32 0 %297 = load ptr, ptr %296, align 8 %298 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp108, i32 0, i32 1 %299 = load ptr, ptr %298, align 8 %call109 = call zeroext i1 @_ZNSt3__127__insertion_sort_incompleteB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEbT1_SA_T0_(ptr %293, ptr %295, ptr %297, ptr %299, ptr nonnull align 1 dereferenceable(1) %291) #5 br i1 %call109, label %if.then110, label %if.else114 if.then110: ; preds = %if.then101 %300 = load i8, ptr %__fs, align 1 %tobool111 = trunc i8 %300 to i1 br i1 %tobool111, label %if.then112, label %if.end113 if.then112: ; preds = %if.then110 br label %return if.end113: ; preds = %if.then110 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__last, ptr align 8 %__i, i64 16, i1 false) br label %while.body.backedge if.else114: ; preds = %if.then101 %301 = load i8, ptr %__fs, align 1 %tobool115 = trunc i8 %301 to i1 br i1 %tobool115, label %if.then116, label %if.end118 if.then116: ; preds = %if.else114 %call117 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEppB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__i) #5 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__first, ptr align 8 %call117, i64 16, i1 false) br label %while.body.backedge if.end118: ; preds = %if.else114 br label %if.end119 if.end119: ; preds = %if.end118 br label %if.end120 if.end120: ; preds = %if.end119, %cond.end call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp121, ptr align 8 %__first, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp122, ptr align 8 %__i, i64 16, i1 false) %302 = load ptr, ptr %__comp.addr, align 8 %303 = load i64, ptr %__depth.addr, align 8 %304 = load i8, ptr %__leftmost.addr, align 1 %tobool123 = trunc i8 %304 to i1 %305 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp121, i32 0, i32 0 %306 = load ptr, ptr %305, align 8 %307 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp121, i32 0, i32 1 %308 = load ptr, ptr %307, align 8 %309 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp122, i32 0, i32 0 %310 = load ptr, ptr %309, align 8 %311 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp122, i32 0, i32 1 %312 = load ptr, ptr %311, align 8 call void @_ZNSt3__111__introsortINS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEELb0EEEvT1_SA_T0_NS_15iterator_traitsISA_E15difference_typeEb(ptr %306, ptr %308, ptr %310, ptr %312, ptr nonnull align 1 dereferenceable(1) %302, i64 %303, i1 zeroext %tobool123) #5 store i8 0, ptr %__leftmost.addr, align 1 %call124 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEppB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__i) #5 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__first, ptr align 8 %call124, i64 16, i1 false) br label %while.body.backedge while.body.backedge: ; preds = %if.end120, %if.then116, %if.end113, %if.then90 br label %while.body, !llvm.loop !139 return: ; preds = %if.then112, %if.then38, %if.end35, %sw.bb19, %sw.bb11, %sw.bb6, %if.end, %sw.bb ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden i32 @_ZNSt3__112__libcpp_clzB7v180000Em(i64 %__x) #0 { entry: %__x.addr = alloca i64, align 8, !clang.decl.ptr !141 store i64 %__x, ptr %__x.addr, align 8 %0 = load i64, ptr %__x.addr, align 8 %1 = call i64 @llvm.ctlz.i64(i64 %0, i1 true) %cast = trunc i64 %1 to i32 ret i32 %cast } ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #3 ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden zeroext i1 @_ZNSt3__1neB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__x, ptr nonnull align 8 dereferenceable(16) %__y) #0 { entry: %__x.addr = alloca ptr, align 8, !clang.decl.ptr !142 %__y.addr = alloca ptr, align 8, !clang.decl.ptr !143 store ptr %__x, ptr %__x.addr, align 8 store ptr %__y, ptr %__y.addr, align 8 %0 = load ptr, ptr %__x.addr, align 8 %1 = load ptr, ptr %__y.addr, align 8 %call = call zeroext i1 @_ZNSt3__1eqB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %0, ptr nonnull align 8 dereferenceable(16) %1) #5 %lnot = xor i1 %call, true ret i1 %lnot } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden zeroext i1 @_ZNSt3__1eqB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__x, ptr nonnull align 8 dereferenceable(16) %__y) #0 { entry: %__x.addr = alloca ptr, align 8, !clang.decl.ptr !144 %__y.addr = alloca ptr, align 8, !clang.decl.ptr !145 store ptr %__x, ptr %__x.addr, align 8 store ptr %__y, ptr %__y.addr, align 8 %0 = load ptr, ptr %__x.addr, align 8 %__ptr_ = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %0, i32 0, i32 1 %1 = load ptr, ptr %__ptr_, align 8 %2 = load ptr, ptr %__y.addr, align 8 %__ptr_1 = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %2, i32 0, i32 1 %3 = load ptr, ptr %__ptr_1, align 8 %cmp = icmp eq ptr %1, %3 ret i1 %cmp } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %this, ptr nonnull align 4 dereferenceable(4) %__lhs, ptr nonnull align 4 dereferenceable(4) %__rhs) #0 align 2 { entry: %this.addr = alloca ptr, align 8, !clang.decl.ptr !146 %__lhs.addr = alloca ptr, align 8, !clang.decl.ptr !147 %__rhs.addr = alloca ptr, align 8, !clang.decl.ptr !148 store ptr %this, ptr %this.addr, align 8 store ptr %__lhs, ptr %__lhs.addr, align 8 store ptr %__rhs, ptr %__rhs.addr, align 8 %this1 = load ptr, ptr %this.addr, align 8 %0 = load ptr, ptr %__lhs.addr, align 8 %1 = load i32, ptr %0, align 4 %2 = load ptr, ptr %__rhs.addr, align 8 %3 = load i32, ptr %2, align 4 %cmp = icmp slt i32 %1, %3 ret i1 %cmp } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmmB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %this) #0 align 2 { entry: %this.addr = alloca ptr, align 8, !clang.decl.ptr !149 store ptr %this, ptr %this.addr, align 8 %this1 = load ptr, ptr %this.addr, align 8 %__ptr_ = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %this1, i32 0, i32 1 %0 = load ptr, ptr %__ptr_, align 8 %__m_iter_ = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %this1, i32 0, i32 0 %1 = load ptr, ptr %__m_iter_, align 8 %2 = load ptr, ptr %1, align 8 %cmp = icmp eq ptr %0, %2 br i1 %cmp, label %if.then, label %if.end if.then: ; preds = %entry %__m_iter_2 = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %this1, i32 0, i32 0 %3 = load ptr, ptr %__m_iter_2, align 8 %incdec.ptr = getelementptr inbounds ptr, ptr %3, i32 -1 store ptr %incdec.ptr, ptr %__m_iter_2, align 8 %__m_iter_3 = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %this1, i32 0, i32 0 %4 = load ptr, ptr %__m_iter_3, align 8 %5 = load ptr, ptr %4, align 8 %add.ptr = getelementptr inbounds i32, ptr %5, i64 1024 %__ptr_4 = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %this1, i32 0, i32 1 store ptr %add.ptr, ptr %__ptr_4, align 8 br label %if.end if.end: ; preds = %if.then, %entry %__ptr_5 = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %this1, i32 0, i32 1 %6 = load ptr, ptr %__ptr_5, align 8 %incdec.ptr6 = getelementptr inbounds i32, ptr %6, i32 -1 store ptr %incdec.ptr6, ptr %__ptr_5, align 8 ret ptr %this1 } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %this) #0 align 2 { entry: %this.addr = alloca ptr, align 8, !clang.decl.ptr !150 store ptr %this, ptr %this.addr, align 8 %this1 = load ptr, ptr %this.addr, align 8 %__ptr_ = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %this1, i32 0, i32 1 %0 = load ptr, ptr %__ptr_, align 8 ret ptr %0 } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE9iter_swapB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEES9_EEvOT_OT0_(ptr nonnull align 8 dereferenceable(16) %__a, ptr nonnull align 8 dereferenceable(16) %__b) #0 align 2 { entry: %__a.addr = alloca ptr, align 8, !clang.decl.ptr !151 %__b.addr = alloca ptr, align 8, !clang.decl.ptr !152 %agg.tmp = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp1 = alloca %"class.std::__1::__deque_iterator", align 8 store ptr %__a, ptr %__a.addr, align 8 store ptr %__b, ptr %__b.addr, align 8 %0 = load ptr, ptr %__a.addr, align 8 %call = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__17forwardB7v180000IRNS_16__deque_iteratorIiPiRiPS2_lLl1024EEEEEOT_Ru20__remove_reference_tIS7_E(ptr nonnull align 8 dereferenceable(16) %0) #4 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp, ptr align 8 %call, i64 16, i1 false) %1 = load ptr, ptr %__b.addr, align 8 %call2 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__17forwardB7v180000IRNS_16__deque_iteratorIiPiRiPS2_lLl1024EEEEEOT_Ru20__remove_reference_tIS7_E(ptr nonnull align 8 dereferenceable(16) %1) #4 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp1, ptr align 8 %call2, i64 16, i1 false) %2 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 0 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 1 %5 = load ptr, ptr %4, align 8 %6 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp1, i32 0, i32 0 %7 = load ptr, ptr %6, align 8 %8 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp1, i32 0, i32 1 %9 = load ptr, ptr %8, align 8 call void @_ZNSt3__19iter_swapB7v180000INS_16__deque_iteratorIiPiRiPS2_lLl1024EEES5_EEvT_T0_(ptr %3, ptr %5, ptr %7, ptr %9) #5 ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__124__sort3_maybe_branchlessB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEENS_9enable_ifIXntsr21__use_branchless_sortIT0_T1_EE5valueEvE4typeESC_SC_SC_SB_(ptr %__x1.coerce0, ptr %__x1.coerce1, ptr %__x2.coerce0, ptr %__x2.coerce1, ptr %__x3.coerce0, ptr %__x3.coerce1, ptr nonnull align 1 dereferenceable(1) %__c) #0 { entry: %__x1 = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !153 %__x2 = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !154 %__x3 = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !155 %__c.addr = alloca ptr, align 8, !clang.decl.ptr !156 %agg.tmp = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp1 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp2 = alloca %"class.std::__1::__deque_iterator", align 8 %0 = getelementptr inbounds { ptr, ptr }, ptr %__x1, i32 0, i32 0 store ptr %__x1.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__x1, i32 0, i32 1 store ptr %__x1.coerce1, ptr %1, align 8 %2 = getelementptr inbounds { ptr, ptr }, ptr %__x2, i32 0, i32 0 store ptr %__x2.coerce0, ptr %2, align 8 %3 = getelementptr inbounds { ptr, ptr }, ptr %__x2, i32 0, i32 1 store ptr %__x2.coerce1, ptr %3, align 8 %4 = getelementptr inbounds { ptr, ptr }, ptr %__x3, i32 0, i32 0 store ptr %__x3.coerce0, ptr %4, align 8 %5 = getelementptr inbounds { ptr, ptr }, ptr %__x3, i32 0, i32 1 store ptr %__x3.coerce1, ptr %5, align 8 store ptr %__c, ptr %__c.addr, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp, ptr align 8 %__x1, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp1, ptr align 8 %__x2, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp2, ptr align 8 %__x3, i64 16, i1 false) %6 = load ptr, ptr %__c.addr, align 8 %7 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 0 %8 = load ptr, ptr %7, align 8 %9 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 1 %10 = load ptr, ptr %9, align 8 %11 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp1, i32 0, i32 0 %12 = load ptr, ptr %11, align 8 %13 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp1, i32 0, i32 1 %14 = load ptr, ptr %13, align 8 %15 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp2, i32 0, i32 0 %16 = load ptr, ptr %15, align 8 %17 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp2, i32 0, i32 1 %18 = load ptr, ptr %17, align 8 %call = call i32 @_ZNSt3__17__sort3B7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEjT1_SA_SA_T0_(ptr %8, ptr %10, ptr %12, ptr %14, ptr %16, ptr %18, ptr nonnull align 1 dereferenceable(1) %6) #5 ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %this, i64 %__n) #0 align 2 { entry: %retval = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !157 %this.addr = alloca ptr, align 8, !clang.decl.ptr !158 %__n.addr = alloca i64, align 8, !clang.decl.ptr !159 store ptr %this, ptr %this.addr, align 8 store i64 %__n, ptr %__n.addr, align 8 %this1 = load ptr, ptr %this.addr, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %retval, ptr align 8 %this1, i64 16, i1 false) %0 = load i64, ptr %__n.addr, align 8 %call = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEpLB7v180000El(ptr nonnull align 8 dereferenceable(16) %retval, i64 %0) #5 %1 = load { ptr, ptr }, ptr %retval, align 8 ret { ptr, ptr } %1 } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__124__sort4_maybe_branchlessB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEENS_9enable_ifIXntsr21__use_branchless_sortIT0_T1_EE5valueEvE4typeESC_SC_SC_SC_SB_(ptr %__x1.coerce0, ptr %__x1.coerce1, ptr %__x2.coerce0, ptr %__x2.coerce1, ptr %__x3.coerce0, ptr %__x3.coerce1, ptr byval(%"class.std::__1::__deque_iterator") align 8 %__x4, ptr nonnull align 1 dereferenceable(1) %__c) #0 { entry: %__x1 = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !160 %__x2 = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !161 %__x3 = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !162 %__c.addr = alloca ptr, align 8, !clang.decl.ptr !163 %agg.tmp = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp1 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp2 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp3 = alloca %"class.std::__1::__deque_iterator", align 8 %0 = getelementptr inbounds { ptr, ptr }, ptr %__x1, i32 0, i32 0 store ptr %__x1.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__x1, i32 0, i32 1 store ptr %__x1.coerce1, ptr %1, align 8 %2 = getelementptr inbounds { ptr, ptr }, ptr %__x2, i32 0, i32 0 store ptr %__x2.coerce0, ptr %2, align 8 %3 = getelementptr inbounds { ptr, ptr }, ptr %__x2, i32 0, i32 1 store ptr %__x2.coerce1, ptr %3, align 8 %4 = getelementptr inbounds { ptr, ptr }, ptr %__x3, i32 0, i32 0 store ptr %__x3.coerce0, ptr %4, align 8 %5 = getelementptr inbounds { ptr, ptr }, ptr %__x3, i32 0, i32 1 store ptr %__x3.coerce1, ptr %5, align 8 store ptr %__c, ptr %__c.addr, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp, ptr align 8 %__x1, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp1, ptr align 8 %__x2, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp2, ptr align 8 %__x3, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp3, ptr align 8 %__x4, i64 16, i1 false) %6 = load ptr, ptr %__c.addr, align 8 %7 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 0 %8 = load ptr, ptr %7, align 8 %9 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 1 %10 = load ptr, ptr %9, align 8 %11 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp1, i32 0, i32 0 %12 = load ptr, ptr %11, align 8 %13 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp1, i32 0, i32 1 %14 = load ptr, ptr %13, align 8 %15 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp2, i32 0, i32 0 %16 = load ptr, ptr %15, align 8 %17 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp2, i32 0, i32 1 %18 = load ptr, ptr %17, align 8 call void @_ZNSt3__17__sort4B7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEvT1_SA_SA_SA_T0_(ptr %8, ptr %10, ptr %12, ptr %14, ptr %16, ptr %18, ptr byval(%"class.std::__1::__deque_iterator") align 8 %agg.tmp3, ptr nonnull align 1 dereferenceable(1) %6) #5 ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__124__sort5_maybe_branchlessB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEENS_9enable_ifIXntsr21__use_branchless_sortIT0_T1_EE5valueEvE4typeESC_SC_SC_SC_SC_SB_(ptr %__x1.coerce0, ptr %__x1.coerce1, ptr %__x2.coerce0, ptr %__x2.coerce1, ptr %__x3.coerce0, ptr %__x3.coerce1, ptr byval(%"class.std::__1::__deque_iterator") align 8 %__x4, ptr byval(%"class.std::__1::__deque_iterator") align 8 %__x5, ptr nonnull align 1 dereferenceable(1) %__c) #0 { entry: %__x1 = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !164 %__x2 = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !165 %__x3 = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !166 %__c.addr = alloca ptr, align 8, !clang.decl.ptr !167 %agg.tmp = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp1 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp3 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp5 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp7 = alloca %"class.std::__1::__deque_iterator", align 8 %0 = getelementptr inbounds { ptr, ptr }, ptr %__x1, i32 0, i32 0 store ptr %__x1.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__x1, i32 0, i32 1 store ptr %__x1.coerce1, ptr %1, align 8 %2 = getelementptr inbounds { ptr, ptr }, ptr %__x2, i32 0, i32 0 store ptr %__x2.coerce0, ptr %2, align 8 %3 = getelementptr inbounds { ptr, ptr }, ptr %__x2, i32 0, i32 1 store ptr %__x2.coerce1, ptr %3, align 8 %4 = getelementptr inbounds { ptr, ptr }, ptr %__x3, i32 0, i32 0 store ptr %__x3.coerce0, ptr %4, align 8 %5 = getelementptr inbounds { ptr, ptr }, ptr %__x3, i32 0, i32 1 store ptr %__x3.coerce1, ptr %5, align 8 store ptr %__c, ptr %__c.addr, align 8 %call = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__14moveB7v180000IRNS_16__deque_iteratorIiPiRiPS2_lLl1024EEEEEOu20__remove_reference_tIT_EOS7_(ptr nonnull align 8 dereferenceable(16) %__x1) #4 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp, ptr align 8 %call, i64 16, i1 false) %call2 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__14moveB7v180000IRNS_16__deque_iteratorIiPiRiPS2_lLl1024EEEEEOu20__remove_reference_tIT_EOS7_(ptr nonnull align 8 dereferenceable(16) %__x2) #4 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp1, ptr align 8 %call2, i64 16, i1 false) %call4 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__14moveB7v180000IRNS_16__deque_iteratorIiPiRiPS2_lLl1024EEEEEOu20__remove_reference_tIT_EOS7_(ptr nonnull align 8 dereferenceable(16) %__x3) #4 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp3, ptr align 8 %call4, i64 16, i1 false) %call6 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__14moveB7v180000IRNS_16__deque_iteratorIiPiRiPS2_lLl1024EEEEEOu20__remove_reference_tIT_EOS7_(ptr nonnull align 8 dereferenceable(16) %__x4) #4 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp5, ptr align 8 %call6, i64 16, i1 false) %call8 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__14moveB7v180000IRNS_16__deque_iteratorIiPiRiPS2_lLl1024EEEEEOu20__remove_reference_tIT_EOS7_(ptr nonnull align 8 dereferenceable(16) %__x5) #4 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp7, ptr align 8 %call8, i64 16, i1 false) %6 = load ptr, ptr %__c.addr, align 8 %7 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 0 %8 = load ptr, ptr %7, align 8 %9 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 1 %10 = load ptr, ptr %9, align 8 %11 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp1, i32 0, i32 0 %12 = load ptr, ptr %11, align 8 %13 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp1, i32 0, i32 1 %14 = load ptr, ptr %13, align 8 %15 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp3, i32 0, i32 0 %16 = load ptr, ptr %15, align 8 %17 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp3, i32 0, i32 1 %18 = load ptr, ptr %17, align 8 call void @_ZNSt3__17__sort5B7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEvT1_SA_SA_SA_SA_T0_(ptr %8, ptr %10, ptr %12, ptr %14, ptr %16, ptr %18, ptr byval(%"class.std::__1::__deque_iterator") align 8 %agg.tmp5, ptr byval(%"class.std::__1::__deque_iterator") align 8 %agg.tmp7, ptr nonnull align 1 dereferenceable(1) %6) #5 ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__116__insertion_sortB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEvT1_SA_T0_(ptr %__first.coerce0, ptr %__first.coerce1, ptr %__last.coerce0, ptr %__last.coerce1, ptr nonnull align 1 dereferenceable(1) %__comp) #0 { entry: %__first = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !168 %__last = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !169 %__comp.addr = alloca ptr, align 8, !clang.decl.ptr !170 %__i = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !171 %__j = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !172 %__t = alloca i32, align 4, !clang.decl.ptr !173 %__k = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !174 %0 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 0 store ptr %__first.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 1 store ptr %__first.coerce1, ptr %1, align 8 %2 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 0 store ptr %__last.coerce0, ptr %2, align 8 %3 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 1 store ptr %__last.coerce1, ptr %3, align 8 store ptr %__comp, ptr %__comp.addr, align 8 %call = call zeroext i1 @_ZNSt3__1eqB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__first, ptr nonnull align 8 dereferenceable(16) %__last) #5 br i1 %call, label %if.then, label %if.end if.then: ; preds = %entry br label %for.end if.end: ; preds = %entry call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__i, ptr align 8 %__first, i64 16, i1 false) %call1 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEppB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__i) #5 br label %for.cond for.cond: ; preds = %for.inc, %if.end %call2 = call zeroext i1 @_ZNSt3__1neB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__i, ptr nonnull align 8 dereferenceable(16) %__last) #5 br i1 %call2, label %for.body, label %for.end.loopexit for.body: ; preds = %for.cond call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__j, ptr align 8 %__i, i64 16, i1 false) %call3 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmmB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__j) #5 %4 = load ptr, ptr %__comp.addr, align 8 %call4 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__i) #5 %call5 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__j) #5 %call6 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %4, ptr nonnull align 4 dereferenceable(4) %call4, ptr nonnull align 4 dereferenceable(4) %call5) #5 br i1 %call6, label %if.then7, label %if.end17 if.then7: ; preds = %for.body %call8 = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE11__iter_moveB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEEEENS_9enable_ifIXsr12is_referenceIDTdeclsr3stdE7declvalIRT_EEEEE5valueEDTclsr3stdE4movedeclsr3stdE7declvalISC_EEEEE4typeEOSB_(ptr nonnull align 8 dereferenceable(16) %__i) #5 %5 = load i32, ptr %call8, align 4 store i32 %5, ptr %__t, align 4 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__k, ptr align 8 %__j, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__j, ptr align 8 %__i, i64 16, i1 false) br label %do.body do.body: ; preds = %land.end, %if.then7 %call9 = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE11__iter_moveB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEEEENS_9enable_ifIXsr12is_referenceIDTdeclsr3stdE7declvalIRT_EEEEE5valueEDTclsr3stdE4movedeclsr3stdE7declvalISC_EEEEE4typeEOSB_(ptr nonnull align 8 dereferenceable(16) %__k) #5 %6 = load i32, ptr %call9, align 4 %call10 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__j) #5 store i32 %6, ptr %call10, align 4 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__j, ptr align 8 %__k, i64 16, i1 false) br label %do.cond do.cond: ; preds = %do.body %call11 = call zeroext i1 @_ZNSt3__1neB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__j, ptr nonnull align 8 dereferenceable(16) %__first) #5 br i1 %call11, label %land.rhs, label %land.end land.rhs: ; preds = %do.cond %7 = load ptr, ptr %__comp.addr, align 8 %call12 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmmB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__k) #5 %call13 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %call12) #5 %call14 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %7, ptr nonnull align 4 dereferenceable(4) %__t, ptr nonnull align 4 dereferenceable(4) %call13) #5 br label %land.end land.end: ; preds = %land.rhs, %do.cond %8 = phi i1 [ false, %do.cond ], [ %call14, %land.rhs ] br i1 %8, label %do.body, label %do.end, !llvm.loop !175 do.end: ; preds = %land.end %call15 = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__14moveB7v180000IRiEEOu20__remove_reference_tIT_EOS2_(ptr nonnull align 4 dereferenceable(4) %__t) #4 %9 = load i32, ptr %call15, align 4 %call16 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__j) #5 store i32 %9, ptr %call16, align 4 br label %if.end17 if.end17: ; preds = %do.end, %for.body br label %for.inc for.inc: ; preds = %if.end17 %call18 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEppB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__i) #5 br label %for.cond, !llvm.loop !176 for.end.loopexit: ; preds = %for.cond br label %for.end for.end: ; preds = %for.end.loopexit, %if.then ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__126__insertion_sort_unguardedB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEvT1_SA_T0_(ptr %__first.coerce0, ptr %__first.coerce1, ptr %__last.coerce0, ptr %__last.coerce1, ptr nonnull align 1 dereferenceable(1) %__comp) #0 { entry: %__first = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !177 %__last = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !178 %__comp.addr = alloca ptr, align 8, !clang.decl.ptr !179 %__leftmost = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !180 %__i = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !181 %__j = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !182 %__t = alloca i32, align 4, !clang.decl.ptr !183 %__k = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !184 %0 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 0 store ptr %__first.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 1 store ptr %__first.coerce1, ptr %1, align 8 %2 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 0 store ptr %__last.coerce0, ptr %2, align 8 %3 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 1 store ptr %__last.coerce1, ptr %3, align 8 store ptr %__comp, ptr %__comp.addr, align 8 %call = call zeroext i1 @_ZNSt3__1eqB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__first, ptr nonnull align 8 dereferenceable(16) %__last) #5 br i1 %call, label %if.then, label %if.end if.then: ; preds = %entry br label %for.end if.end: ; preds = %entry %call1 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmiB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 1) #5 %4 = getelementptr inbounds { ptr, ptr }, ptr %__leftmost, i32 0, i32 0 %5 = extractvalue { ptr, ptr } %call1, 0 store ptr %5, ptr %4, align 8 %6 = getelementptr inbounds { ptr, ptr }, ptr %__leftmost, i32 0, i32 1 %7 = extractvalue { ptr, ptr } %call1, 1 store ptr %7, ptr %6, align 8 %call2 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 1) #5 %8 = getelementptr inbounds { ptr, ptr }, ptr %__i, i32 0, i32 0 %9 = extractvalue { ptr, ptr } %call2, 0 store ptr %9, ptr %8, align 8 %10 = getelementptr inbounds { ptr, ptr }, ptr %__i, i32 0, i32 1 %11 = extractvalue { ptr, ptr } %call2, 1 store ptr %11, ptr %10, align 8 br label %for.cond for.cond: ; preds = %for.inc, %if.end %call3 = call zeroext i1 @_ZNSt3__1neB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__i, ptr nonnull align 8 dereferenceable(16) %__last) #5 br i1 %call3, label %for.body, label %for.end.loopexit for.body: ; preds = %for.cond %call4 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmiB7v180000El(ptr nonnull align 8 dereferenceable(16) %__i, i64 1) #5 %12 = getelementptr inbounds { ptr, ptr }, ptr %__j, i32 0, i32 0 %13 = extractvalue { ptr, ptr } %call4, 0 store ptr %13, ptr %12, align 8 %14 = getelementptr inbounds { ptr, ptr }, ptr %__j, i32 0, i32 1 %15 = extractvalue { ptr, ptr } %call4, 1 store ptr %15, ptr %14, align 8 %16 = load ptr, ptr %__comp.addr, align 8 %call5 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__i) #5 %call6 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__j) #5 %call7 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %16, ptr nonnull align 4 dereferenceable(4) %call5, ptr nonnull align 4 dereferenceable(4) %call6) #5 br i1 %call7, label %if.then8, label %if.end17 if.then8: ; preds = %for.body %call9 = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE11__iter_moveB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEEEENS_9enable_ifIXsr12is_referenceIDTdeclsr3stdE7declvalIRT_EEEEE5valueEDTclsr3stdE4movedeclsr3stdE7declvalISC_EEEEE4typeEOSB_(ptr nonnull align 8 dereferenceable(16) %__i) #5 %17 = load i32, ptr %call9, align 4 store i32 %17, ptr %__t, align 4 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__k, ptr align 8 %__j, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__j, ptr align 8 %__i, i64 16, i1 false) br label %do.body do.body: ; preds = %do.cond, %if.then8 %call10 = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE11__iter_moveB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEEEENS_9enable_ifIXsr12is_referenceIDTdeclsr3stdE7declvalIRT_EEEEE5valueEDTclsr3stdE4movedeclsr3stdE7declvalISC_EEEEE4typeEOSB_(ptr nonnull align 8 dereferenceable(16) %__k) #5 %18 = load i32, ptr %call10, align 4 %call11 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__j) #5 store i32 %18, ptr %call11, align 4 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__j, ptr align 8 %__k, i64 16, i1 false) br label %do.cond do.cond: ; preds = %do.body %19 = load ptr, ptr %__comp.addr, align 8 %call12 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmmB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__k) #5 %call13 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %call12) #5 %call14 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %19, ptr nonnull align 4 dereferenceable(4) %__t, ptr nonnull align 4 dereferenceable(4) %call13) #5 br i1 %call14, label %do.body, label %do.end, !llvm.loop !185 do.end: ; preds = %do.cond %call15 = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__14moveB7v180000IRiEEOu20__remove_reference_tIT_EOS2_(ptr nonnull align 4 dereferenceable(4) %__t) #4 %20 = load i32, ptr %call15, align 4 %call16 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__j) #5 store i32 %20, ptr %call16, align 4 br label %if.end17 if.end17: ; preds = %do.end, %for.body br label %for.inc for.inc: ; preds = %if.end17 %call18 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEppB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__i) #5 br label %for.cond, !llvm.loop !186 for.end.loopexit: ; preds = %for.cond br label %for.end for.end: ; preds = %for.end.loopexit, %if.then ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden { ptr, ptr } @_ZNSt3__114__partial_sortB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEES9_EET1_SA_SA_T2_RT0_(ptr %__first.coerce0, ptr %__first.coerce1, ptr %__middle.coerce0, ptr %__middle.coerce1, ptr %__last.coerce0, ptr %__last.coerce1, ptr nonnull align 1 dereferenceable(1) %__comp) #0 { entry: %retval = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !187 %__first = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !188 %__middle = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !189 %__last = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !190 %__comp.addr = alloca ptr, align 8, !clang.decl.ptr !191 %agg.tmp = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp1 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp3 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp4 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp5 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp6 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp7 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp9 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp10 = alloca %"class.std::__1::__deque_iterator", align 8 %0 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 0 store ptr %__first.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 1 store ptr %__first.coerce1, ptr %1, align 8 %2 = getelementptr inbounds { ptr, ptr }, ptr %__middle, i32 0, i32 0 store ptr %__middle.coerce0, ptr %2, align 8 %3 = getelementptr inbounds { ptr, ptr }, ptr %__middle, i32 0, i32 1 store ptr %__middle.coerce1, ptr %3, align 8 %4 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 0 store ptr %__last.coerce0, ptr %4, align 8 %5 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 1 store ptr %__last.coerce1, ptr %5, align 8 store ptr %__comp, ptr %__comp.addr, align 8 %call = call zeroext i1 @_ZNSt3__1eqB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__first, ptr nonnull align 8 dereferenceable(16) %__middle) #5 br i1 %call, label %if.then, label %if.end if.then: ; preds = %entry call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp, ptr align 8 %__middle, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp1, ptr align 8 %__last, i64 16, i1 false) %6 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 0 %7 = load ptr, ptr %6, align 8 %8 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 1 %9 = load ptr, ptr %8, align 8 %10 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp1, i32 0, i32 0 %11 = load ptr, ptr %10, align 8 %12 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp1, i32 0, i32 1 %13 = load ptr, ptr %12, align 8 %call2 = call { ptr, ptr } @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE4nextB7v180000INS_16__deque_iteratorIiPiRiPS5_lLl1024EEEEET_S9_S9_(ptr %7, ptr %9, ptr %11, ptr %13) #5 %14 = getelementptr inbounds { ptr, ptr }, ptr %retval, i32 0, i32 0 %15 = extractvalue { ptr, ptr } %call2, 0 store ptr %15, ptr %14, align 8 %16 = getelementptr inbounds { ptr, ptr }, ptr %retval, i32 0, i32 1 %17 = extractvalue { ptr, ptr } %call2, 1 store ptr %17, ptr %16, align 8 br label %return if.end: ; preds = %entry call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp3, ptr align 8 %__first, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp4, ptr align 8 %__last, i64 16, i1 false) %18 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp3, i32 0, i32 0 %19 = load ptr, ptr %18, align 8 %20 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp3, i32 0, i32 1 %21 = load ptr, ptr %20, align 8 %22 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp4, i32 0, i32 0 %23 = load ptr, ptr %22, align 8 %24 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp4, i32 0, i32 1 %25 = load ptr, ptr %24, align 8 call void @_ZNSt3__123__debug_randomize_rangeB7v180000INS_17_ClassicAlgPolicyENS_16__deque_iteratorIiPiRiPS3_lLl1024EEES6_EEvT0_T1_(ptr %19, ptr %21, ptr %23, ptr %25) #5 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp5, ptr align 8 %__first, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp6, ptr align 8 %__middle, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp7, ptr align 8 %__last, i64 16, i1 false) %26 = load ptr, ptr %__comp.addr, align 8 %27 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp5, i32 0, i32 0 %28 = load ptr, ptr %27, align 8 %29 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp5, i32 0, i32 1 %30 = load ptr, ptr %29, align 8 %31 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp6, i32 0, i32 0 %32 = load ptr, ptr %31, align 8 %33 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp6, i32 0, i32 1 %34 = load ptr, ptr %33, align 8 %35 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp7, i32 0, i32 0 %36 = load ptr, ptr %35, align 8 %37 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp7, i32 0, i32 1 %38 = load ptr, ptr %37, align 8 %call8 = call { ptr, ptr } @_ZNSt3__119__partial_sort_implB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEES9_EET1_SA_SA_T2_OT0_(ptr %28, ptr %30, ptr %32, ptr %34, ptr %36, ptr %38, ptr nonnull align 1 dereferenceable(1) %26) #5 %39 = getelementptr inbounds { ptr, ptr }, ptr %retval, i32 0, i32 0 %40 = extractvalue { ptr, ptr } %call8, 0 store ptr %40, ptr %39, align 8 %41 = getelementptr inbounds { ptr, ptr }, ptr %retval, i32 0, i32 1 %42 = extractvalue { ptr, ptr } %call8, 1 store ptr %42, ptr %41, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp9, ptr align 8 %__middle, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp10, ptr align 8 %__last, i64 16, i1 false) %43 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp9, i32 0, i32 0 %44 = load ptr, ptr %43, align 8 %45 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp9, i32 0, i32 1 %46 = load ptr, ptr %45, align 8 %47 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp10, i32 0, i32 0 %48 = load ptr, ptr %47, align 8 %49 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp10, i32 0, i32 1 %50 = load ptr, ptr %49, align 8 call void @_ZNSt3__123__debug_randomize_rangeB7v180000INS_17_ClassicAlgPolicyENS_16__deque_iteratorIiPiRiPS3_lLl1024EEES6_EEvT0_T1_(ptr %44, ptr %46, ptr %48, ptr %50) #5 br label %return return: ; preds = %if.end, %if.then %51 = load { ptr, ptr }, ptr %retval, align 8 ret { ptr, ptr } %51 } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden i32 @_ZNSt3__17__sort3B7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEjT1_SA_SA_T0_(ptr %__x.coerce0, ptr %__x.coerce1, ptr %__y.coerce0, ptr %__y.coerce1, ptr %__z.coerce0, ptr %__z.coerce1, ptr nonnull align 1 dereferenceable(1) %__c) #0 { entry: %retval = alloca i32, align 4 %__x = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !192 %__y = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !193 %__z = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !194 %__c.addr = alloca ptr, align 8, !clang.decl.ptr !195 %__r = alloca i32, align 4, !clang.decl.ptr !196 %0 = getelementptr inbounds { ptr, ptr }, ptr %__x, i32 0, i32 0 store ptr %__x.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__x, i32 0, i32 1 store ptr %__x.coerce1, ptr %1, align 8 %2 = getelementptr inbounds { ptr, ptr }, ptr %__y, i32 0, i32 0 store ptr %__y.coerce0, ptr %2, align 8 %3 = getelementptr inbounds { ptr, ptr }, ptr %__y, i32 0, i32 1 store ptr %__y.coerce1, ptr %3, align 8 %4 = getelementptr inbounds { ptr, ptr }, ptr %__z, i32 0, i32 0 store ptr %__z.coerce0, ptr %4, align 8 %5 = getelementptr inbounds { ptr, ptr }, ptr %__z, i32 0, i32 1 store ptr %__z.coerce1, ptr %5, align 8 store ptr %__c, ptr %__c.addr, align 8 store i32 0, ptr %__r, align 4 %6 = load ptr, ptr %__c.addr, align 8 %call = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__y) #5 %call1 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__x) #5 %call2 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %6, ptr nonnull align 4 dereferenceable(4) %call, ptr nonnull align 4 dereferenceable(4) %call1) #5 br i1 %call2, label %if.end12, label %if.then if.then: ; preds = %entry %7 = load ptr, ptr %__c.addr, align 8 %call3 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__z) #5 %call4 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__y) #5 %call5 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %7, ptr nonnull align 4 dereferenceable(4) %call3, ptr nonnull align 4 dereferenceable(4) %call4) #5 br i1 %call5, label %if.end, label %if.then6 if.then6: ; preds = %if.then %8 = load i32, ptr %__r, align 4 store i32 %8, ptr %retval, align 4 br label %return if.end: ; preds = %if.then call void @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE9iter_swapB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEES9_EEvOT_OT0_(ptr nonnull align 8 dereferenceable(16) %__y, ptr nonnull align 8 dereferenceable(16) %__z) #5 store i32 1, ptr %__r, align 4 %9 = load ptr, ptr %__c.addr, align 8 %call7 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__y) #5 %call8 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__x) #5 %call9 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %9, ptr nonnull align 4 dereferenceable(4) %call7, ptr nonnull align 4 dereferenceable(4) %call8) #5 br i1 %call9, label %if.then10, label %if.end11 if.then10: ; preds = %if.end call void @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE9iter_swapB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEES9_EEvOT_OT0_(ptr nonnull align 8 dereferenceable(16) %__x, ptr nonnull align 8 dereferenceable(16) %__y) #5 store i32 2, ptr %__r, align 4 br label %if.end11 if.end11: ; preds = %if.then10, %if.end %10 = load i32, ptr %__r, align 4 store i32 %10, ptr %retval, align 4 br label %return if.end12: ; preds = %entry %11 = load ptr, ptr %__c.addr, align 8 %call13 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__z) #5 %call14 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__y) #5 %call15 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %11, ptr nonnull align 4 dereferenceable(4) %call13, ptr nonnull align 4 dereferenceable(4) %call14) #5 br i1 %call15, label %if.then16, label %if.end17 if.then16: ; preds = %if.end12 call void @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE9iter_swapB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEES9_EEvOT_OT0_(ptr nonnull align 8 dereferenceable(16) %__x, ptr nonnull align 8 dereferenceable(16) %__z) #5 store i32 1, ptr %__r, align 4 %12 = load i32, ptr %__r, align 4 store i32 %12, ptr %retval, align 4 br label %return if.end17: ; preds = %if.end12 call void @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE9iter_swapB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEES9_EEvOT_OT0_(ptr nonnull align 8 dereferenceable(16) %__x, ptr nonnull align 8 dereferenceable(16) %__y) #5 store i32 1, ptr %__r, align 4 %13 = load ptr, ptr %__c.addr, align 8 %call18 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__z) #5 %call19 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__y) #5 %call20 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %13, ptr nonnull align 4 dereferenceable(4) %call18, ptr nonnull align 4 dereferenceable(4) %call19) #5 br i1 %call20, label %if.then21, label %if.end22 if.then21: ; preds = %if.end17 call void @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE9iter_swapB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEES9_EEvOT_OT0_(ptr nonnull align 8 dereferenceable(16) %__y, ptr nonnull align 8 dereferenceable(16) %__z) #5 store i32 2, ptr %__r, align 4 br label %if.end22 if.end22: ; preds = %if.then21, %if.end17 %14 = load i32, ptr %__r, align 4 store i32 %14, ptr %retval, align 4 br label %return return: ; preds = %if.end22, %if.then16, %if.end11, %if.then6 %15 = load i32, ptr %retval, align 4 ret i32 %15 } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmiB7v180000El(ptr nonnull align 8 dereferenceable(16) %this, i64 %__n) #0 align 2 { entry: %retval = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !197 %this.addr = alloca ptr, align 8, !clang.decl.ptr !198 %__n.addr = alloca i64, align 8, !clang.decl.ptr !199 store ptr %this, ptr %this.addr, align 8 store i64 %__n, ptr %__n.addr, align 8 %this1 = load ptr, ptr %this.addr, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %retval, ptr align 8 %this1, i64 16, i1 false) %0 = load i64, ptr %__n.addr, align 8 %call = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmIB7v180000El(ptr nonnull align 8 dereferenceable(16) %retval, i64 %0) #5 %1 = load { ptr, ptr }, ptr %retval, align 8 ret { ptr, ptr } %1 } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE9iter_swapB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEES8_EEvOT_OT0_(ptr nonnull align 8 dereferenceable(16) %__a, ptr nonnull align 8 dereferenceable(16) %__b) #0 align 2 { entry: %__a.addr = alloca ptr, align 8, !clang.decl.ptr !200 %__b.addr = alloca ptr, align 8, !clang.decl.ptr !201 %agg.tmp = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp1 = alloca %"class.std::__1::__deque_iterator", align 8 store ptr %__a, ptr %__a.addr, align 8 store ptr %__b, ptr %__b.addr, align 8 %0 = load ptr, ptr %__a.addr, align 8 %call = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__17forwardB7v180000IRNS_16__deque_iteratorIiPiRiPS2_lLl1024EEEEEOT_Ru20__remove_reference_tIS7_E(ptr nonnull align 8 dereferenceable(16) %0) #4 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp, ptr align 8 %call, i64 16, i1 false) %1 = load ptr, ptr %__b.addr, align 8 %call2 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__17forwardB7v180000INS_16__deque_iteratorIiPiRiPS2_lLl1024EEEEEOT_Ru20__remove_reference_tIS6_E(ptr nonnull align 8 dereferenceable(16) %1) #4 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp1, ptr align 8 %call2, i64 16, i1 false) %2 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 0 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 1 %5 = load ptr, ptr %4, align 8 %6 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp1, i32 0, i32 0 %7 = load ptr, ptr %6, align 8 %8 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp1, i32 0, i32 1 %9 = load ptr, ptr %8, align 8 call void @_ZNSt3__19iter_swapB7v180000INS_16__deque_iteratorIiPiRiPS2_lLl1024EEES5_EEvT_T0_(ptr %3, ptr %5, ptr %7, ptr %9) #5 ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden { ptr, ptr } @_ZNSt3__131__partition_with_equals_on_leftB7v180000INS_17_ClassicAlgPolicyENS_16__deque_iteratorIiPiRiPS3_lLl1024EEERNS_6__lessIvvEEEET0_SA_SA_T1_(ptr %__first.coerce0, ptr %__first.coerce1, ptr %__last.coerce0, ptr %__last.coerce1, ptr nonnull align 1 dereferenceable(1) %__comp) #0 { entry: %retval = alloca %"class.std::__1::__deque_iterator", align 8 %__first = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !202 %__last = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !203 %__comp.addr = alloca ptr, align 8, !clang.decl.ptr !204 %__begin = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !205 %__end = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !206 %__pivot = alloca i32, align 4, !clang.decl.ptr !207 %ref.tmp = alloca %"class.std::__1::__deque_iterator", align 8 %__pivot_pos = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !208 %0 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 0 store ptr %__first.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 1 store ptr %__first.coerce1, ptr %1, align 8 %2 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 0 store ptr %__last.coerce0, ptr %2, align 8 %3 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 1 store ptr %__last.coerce1, ptr %3, align 8 store ptr %__comp, ptr %__comp.addr, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__begin, ptr align 8 %__first, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__end, ptr align 8 %__last, i64 16, i1 false) %call = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE11__iter_moveB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEEEENS_9enable_ifIXsr12is_referenceIDTdeclsr3stdE7declvalIRT_EEEEE5valueEDTclsr3stdE4movedeclsr3stdE7declvalISC_EEEEE4typeEOSB_(ptr nonnull align 8 dereferenceable(16) %__first) #5 %4 = load i32, ptr %call, align 4 store i32 %4, ptr %__pivot, align 4 %5 = load ptr, ptr %__comp.addr, align 8 %call1 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmiB7v180000El(ptr nonnull align 8 dereferenceable(16) %__last, i64 1) #5 %6 = getelementptr inbounds { ptr, ptr }, ptr %ref.tmp, i32 0, i32 0 %7 = extractvalue { ptr, ptr } %call1, 0 store ptr %7, ptr %6, align 8 %8 = getelementptr inbounds { ptr, ptr }, ptr %ref.tmp, i32 0, i32 1 %9 = extractvalue { ptr, ptr } %call1, 1 store ptr %9, ptr %8, align 8 %call2 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %ref.tmp) #5 %call3 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %5, ptr nonnull align 4 dereferenceable(4) %__pivot, ptr nonnull align 4 dereferenceable(4) %call2) #5 br i1 %call3, label %if.then, label %if.else if.then: ; preds = %entry br label %do.body do.body: ; preds = %do.cond, %if.then %call4 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEppB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__first) #5 br label %do.cond do.cond: ; preds = %do.body %10 = load ptr, ptr %__comp.addr, align 8 %call5 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__first) #5 %call6 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %10, ptr nonnull align 4 dereferenceable(4) %__pivot, ptr nonnull align 4 dereferenceable(4) %call5) #5 %lnot = xor i1 %call6, true br i1 %lnot, label %do.body, label %do.end, !llvm.loop !209 do.end: ; preds = %do.cond br label %if.end if.else: ; preds = %entry br label %while.cond while.cond: ; preds = %while.body, %if.else %call7 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEppB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__first) #5 %call8 = call zeroext i1 @_ZNSt3__1ltB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %call7, ptr nonnull align 8 dereferenceable(16) %__last) #5 br i1 %call8, label %land.rhs, label %land.end land.rhs: ; preds = %while.cond %11 = load ptr, ptr %__comp.addr, align 8 %call9 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__first) #5 %call10 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %11, ptr nonnull align 4 dereferenceable(4) %__pivot, ptr nonnull align 4 dereferenceable(4) %call9) #5 %lnot11 = xor i1 %call10, true br label %land.end land.end: ; preds = %land.rhs, %while.cond %12 = phi i1 [ false, %while.cond ], [ %lnot11, %land.rhs ] br i1 %12, label %while.body, label %while.end while.body: ; preds = %land.end br label %while.cond, !llvm.loop !210 while.end: ; preds = %land.end br label %if.end if.end: ; preds = %while.end, %do.end %call12 = call zeroext i1 @_ZNSt3__1ltB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__first, ptr nonnull align 8 dereferenceable(16) %__last) #5 br i1 %call12, label %if.then13, label %if.end20 if.then13: ; preds = %if.end br label %do.body14 do.body14: ; preds = %do.cond16, %if.then13 %call15 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmmB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__last) #5 br label %do.cond16 do.cond16: ; preds = %do.body14 %13 = load ptr, ptr %__comp.addr, align 8 %call17 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__last) #5 %call18 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %13, ptr nonnull align 4 dereferenceable(4) %__pivot, ptr nonnull align 4 dereferenceable(4) %call17) #5 br i1 %call18, label %do.body14, label %do.end19, !llvm.loop !211 do.end19: ; preds = %do.cond16 br label %if.end20 if.end20: ; preds = %do.end19, %if.end br label %while.cond21 while.cond21: ; preds = %do.end36, %if.end20 %call22 = call zeroext i1 @_ZNSt3__1ltB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__first, ptr nonnull align 8 dereferenceable(16) %__last) #5 br i1 %call22, label %while.body23, label %while.end37 while.body23: ; preds = %while.cond21 call void @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE9iter_swapB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEES9_EEvOT_OT0_(ptr nonnull align 8 dereferenceable(16) %__first, ptr nonnull align 8 dereferenceable(16) %__last) #5 br label %do.body24 do.body24: ; preds = %do.cond26, %while.body23 %call25 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEppB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__first) #5 br label %do.cond26 do.cond26: ; preds = %do.body24 %14 = load ptr, ptr %__comp.addr, align 8 %call27 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__first) #5 %call28 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %14, ptr nonnull align 4 dereferenceable(4) %__pivot, ptr nonnull align 4 dereferenceable(4) %call27) #5 %lnot29 = xor i1 %call28, true br i1 %lnot29, label %do.body24, label %do.end30, !llvm.loop !212 do.end30: ; preds = %do.cond26 br label %do.body31 do.body31: ; preds = %do.cond33, %do.end30 %call32 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmmB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__last) #5 br label %do.cond33 do.cond33: ; preds = %do.body31 %15 = load ptr, ptr %__comp.addr, align 8 %call34 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__last) #5 %call35 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %15, ptr nonnull align 4 dereferenceable(4) %__pivot, ptr nonnull align 4 dereferenceable(4) %call34) #5 br i1 %call35, label %do.body31, label %do.end36, !llvm.loop !213 do.end36: ; preds = %do.cond33 br label %while.cond21, !llvm.loop !214 while.end37: ; preds = %while.cond21 %call38 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmiB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 1) #5 %16 = getelementptr inbounds { ptr, ptr }, ptr %__pivot_pos, i32 0, i32 0 %17 = extractvalue { ptr, ptr } %call38, 0 store ptr %17, ptr %16, align 8 %18 = getelementptr inbounds { ptr, ptr }, ptr %__pivot_pos, i32 0, i32 1 %19 = extractvalue { ptr, ptr } %call38, 1 store ptr %19, ptr %18, align 8 %call39 = call zeroext i1 @_ZNSt3__1neB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__begin, ptr nonnull align 8 dereferenceable(16) %__pivot_pos) #5 br i1 %call39, label %if.then40, label %if.end43 if.then40: ; preds = %while.end37 %call41 = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE11__iter_moveB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEEEENS_9enable_ifIXsr12is_referenceIDTdeclsr3stdE7declvalIRT_EEEEE5valueEDTclsr3stdE4movedeclsr3stdE7declvalISC_EEEEE4typeEOSB_(ptr nonnull align 8 dereferenceable(16) %__pivot_pos) #5 %20 = load i32, ptr %call41, align 4 %call42 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__begin) #5 store i32 %20, ptr %call42, align 4 br label %if.end43 if.end43: ; preds = %if.then40, %while.end37 %call44 = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__14moveB7v180000IRiEEOu20__remove_reference_tIT_EOS2_(ptr nonnull align 4 dereferenceable(4) %__pivot) #4 %21 = load i32, ptr %call44, align 4 %call45 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__pivot_pos) #5 store i32 %21, ptr %call45, align 4 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %retval, ptr align 8 %__first, i64 16, i1 false) %22 = load { ptr, ptr }, ptr %retval, align 8 ret { ptr, ptr } %22 } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__118__bitset_partitionB7v180000INS_17_ClassicAlgPolicyENS_16__deque_iteratorIiPiRiPS3_lLl1024EEERNS_6__lessIvvEEEENS_4pairIT0_bEESB_SB_T1_(ptr noalias sret(%"struct.std::__1::pair") align 8 %agg.result, ptr %__first.coerce0, ptr %__first.coerce1, ptr %__last.coerce0, ptr %__last.coerce1, ptr nonnull align 1 dereferenceable(1) %__comp) #0 { entry: %__first = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !215 %__last = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !216 %__comp.addr = alloca ptr, align 8, !clang.decl.ptr !217 %__begin = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !218 %__end = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !219 %__pivot = alloca i32, align 4, !clang.decl.ptr !220 %ref.tmp = alloca %"class.std::__1::__deque_iterator", align 8 %__already_partitioned = alloca i8, align 1, !clang.decl.ptr !221 %__lm1 = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !222 %__left_bitset = alloca i64, align 8, !clang.decl.ptr !223 %__right_bitset = alloca i64, align 8, !clang.decl.ptr !224 %agg.tmp = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp34 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp36 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp37 = alloca %"class.std::__1::__deque_iterator", align 8 %__pivot_pos = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !225 %0 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 0 store ptr %__first.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 1 store ptr %__first.coerce1, ptr %1, align 8 %2 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 0 store ptr %__last.coerce0, ptr %2, align 8 %3 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 1 store ptr %__last.coerce1, ptr %3, align 8 store ptr %__comp, ptr %__comp.addr, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__begin, ptr align 8 %__first, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__end, ptr align 8 %__last, i64 16, i1 false) %call = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE11__iter_moveB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEEEENS_9enable_ifIXsr12is_referenceIDTdeclsr3stdE7declvalIRT_EEEEE5valueEDTclsr3stdE4movedeclsr3stdE7declvalISC_EEEEE4typeEOSB_(ptr nonnull align 8 dereferenceable(16) %__first) #5 %4 = load i32, ptr %call, align 4 store i32 %4, ptr %__pivot, align 4 %5 = load ptr, ptr %__comp.addr, align 8 %call1 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmiB7v180000El(ptr nonnull align 8 dereferenceable(16) %__last, i64 1) #5 %6 = getelementptr inbounds { ptr, ptr }, ptr %ref.tmp, i32 0, i32 0 %7 = extractvalue { ptr, ptr } %call1, 0 store ptr %7, ptr %6, align 8 %8 = getelementptr inbounds { ptr, ptr }, ptr %ref.tmp, i32 0, i32 1 %9 = extractvalue { ptr, ptr } %call1, 1 store ptr %9, ptr %8, align 8 %call2 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %ref.tmp) #5 %call3 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %5, ptr nonnull align 4 dereferenceable(4) %__pivot, ptr nonnull align 4 dereferenceable(4) %call2) #5 br i1 %call3, label %if.then, label %if.else if.then: ; preds = %entry br label %do.body do.body: ; preds = %do.cond, %if.then %call4 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEppB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__first) #5 br label %do.cond do.cond: ; preds = %do.body %10 = load ptr, ptr %__comp.addr, align 8 %call5 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__first) #5 %call6 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %10, ptr nonnull align 4 dereferenceable(4) %__pivot, ptr nonnull align 4 dereferenceable(4) %call5) #5 %lnot = xor i1 %call6, true br i1 %lnot, label %do.body, label %do.end, !llvm.loop !226 do.end: ; preds = %do.cond br label %if.end if.else: ; preds = %entry br label %while.cond while.cond: ; preds = %while.body, %if.else %call7 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEppB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__first) #5 %call8 = call zeroext i1 @_ZNSt3__1ltB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %call7, ptr nonnull align 8 dereferenceable(16) %__last) #5 br i1 %call8, label %land.rhs, label %land.end land.rhs: ; preds = %while.cond %11 = load ptr, ptr %__comp.addr, align 8 %call9 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__first) #5 %call10 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %11, ptr nonnull align 4 dereferenceable(4) %__pivot, ptr nonnull align 4 dereferenceable(4) %call9) #5 %lnot11 = xor i1 %call10, true br label %land.end land.end: ; preds = %land.rhs, %while.cond %12 = phi i1 [ false, %while.cond ], [ %lnot11, %land.rhs ] br i1 %12, label %while.body, label %while.end while.body: ; preds = %land.end br label %while.cond, !llvm.loop !227 while.end: ; preds = %land.end br label %if.end if.end: ; preds = %while.end, %do.end %call12 = call zeroext i1 @_ZNSt3__1ltB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__first, ptr nonnull align 8 dereferenceable(16) %__last) #5 br i1 %call12, label %if.then13, label %if.end20 if.then13: ; preds = %if.end br label %do.body14 do.body14: ; preds = %do.cond16, %if.then13 %call15 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmmB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__last) #5 br label %do.cond16 do.cond16: ; preds = %do.body14 %13 = load ptr, ptr %__comp.addr, align 8 %call17 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__last) #5 %call18 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %13, ptr nonnull align 4 dereferenceable(4) %__pivot, ptr nonnull align 4 dereferenceable(4) %call17) #5 br i1 %call18, label %do.body14, label %do.end19, !llvm.loop !228 do.end19: ; preds = %do.cond16 br label %if.end20 if.end20: ; preds = %do.end19, %if.end %call21 = call zeroext i1 @_ZNSt3__1geB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__first, ptr nonnull align 8 dereferenceable(16) %__last) #5 %frombool = zext i1 %call21 to i8 store i8 %frombool, ptr %__already_partitioned, align 1 %14 = load i8, ptr %__already_partitioned, align 1 %tobool = trunc i8 %14 to i1 br i1 %tobool, label %if.end24, label %if.then22 if.then22: ; preds = %if.end20 call void @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE9iter_swapB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEES9_EEvOT_OT0_(ptr nonnull align 8 dereferenceable(16) %__first, ptr nonnull align 8 dereferenceable(16) %__last) #5 %call23 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEppB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__first) #5 br label %if.end24 if.end24: ; preds = %if.then22, %if.end20 %call25 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmiB7v180000El(ptr nonnull align 8 dereferenceable(16) %__last, i64 1) #5 %15 = getelementptr inbounds { ptr, ptr }, ptr %__lm1, i32 0, i32 0 %16 = extractvalue { ptr, ptr } %call25, 0 store ptr %16, ptr %15, align 8 %17 = getelementptr inbounds { ptr, ptr }, ptr %__lm1, i32 0, i32 1 %18 = extractvalue { ptr, ptr } %call25, 1 store ptr %18, ptr %17, align 8 store i64 0, ptr %__left_bitset, align 8 store i64 0, ptr %__right_bitset, align 8 br label %while.cond26 while.cond26: ; preds = %if.end35, %if.end24 %call27 = call i64 @_ZNSt3__1miB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__lm1, ptr nonnull align 8 dereferenceable(16) %__first) #5 %cmp = icmp sge i64 %call27, 127 br i1 %cmp, label %while.body28, label %while.end43 while.body28: ; preds = %while.cond26 %19 = load i64, ptr %__left_bitset, align 8 %cmp29 = icmp eq i64 %19, 0 br i1 %cmp29, label %if.then30, label %if.end31 if.then30: ; preds = %while.body28 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp, ptr align 8 %__first, i64 16, i1 false) %20 = load ptr, ptr %__comp.addr, align 8 %21 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 0 %22 = load ptr, ptr %21, align 8 %23 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 1 %24 = load ptr, ptr %23, align 8 call void @_ZNSt3__122__populate_left_bitsetB7v180000IRNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS5_lLl1024EEEiEEvT0_T_RT1_Ry(ptr %22, ptr %24, ptr nonnull align 1 dereferenceable(1) %20, ptr nonnull align 4 dereferenceable(4) %__pivot, ptr nonnull align 8 dereferenceable(8) %__left_bitset) #5 br label %if.end31 if.end31: ; preds = %if.then30, %while.body28 %25 = load i64, ptr %__right_bitset, align 8 %cmp32 = icmp eq i64 %25, 0 br i1 %cmp32, label %if.then33, label %if.end35 if.then33: ; preds = %if.end31 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp34, ptr align 8 %__lm1, i64 16, i1 false) %26 = load ptr, ptr %__comp.addr, align 8 %27 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp34, i32 0, i32 0 %28 = load ptr, ptr %27, align 8 %29 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp34, i32 0, i32 1 %30 = load ptr, ptr %29, align 8 call void @_ZNSt3__123__populate_right_bitsetB7v180000IRNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS5_lLl1024EEEiEEvT0_T_RT1_Ry(ptr %28, ptr %30, ptr nonnull align 1 dereferenceable(1) %26, ptr nonnull align 4 dereferenceable(4) %__pivot, ptr nonnull align 8 dereferenceable(8) %__right_bitset) #5 br label %if.end35 if.end35: ; preds = %if.then33, %if.end31 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp36, ptr align 8 %__first, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp37, ptr align 8 %__lm1, i64 16, i1 false) %31 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp36, i32 0, i32 0 %32 = load ptr, ptr %31, align 8 %33 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp36, i32 0, i32 1 %34 = load ptr, ptr %33, align 8 %35 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp37, i32 0, i32 0 %36 = load ptr, ptr %35, align 8 %37 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp37, i32 0, i32 1 %38 = load ptr, ptr %37, align 8 call void @_ZNSt3__117__swap_bitmap_posB7v180000INS_17_ClassicAlgPolicyENS_16__deque_iteratorIiPiRiPS3_lLl1024EEEEEvT0_S7_RyS8_(ptr %32, ptr %34, ptr %36, ptr %38, ptr nonnull align 8 dereferenceable(8) %__left_bitset, ptr nonnull align 8 dereferenceable(8) %__right_bitset) #5 %39 = load i64, ptr %__left_bitset, align 8 %cmp38 = icmp eq i64 %39, 0 %40 = zext i1 %cmp38 to i64 %cond = select i1 %cmp38, i64 64, i64 0 %call39 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEpLB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 %cond) #5 %41 = load i64, ptr %__right_bitset, align 8 %cmp40 = icmp eq i64 %41, 0 %42 = zext i1 %cmp40 to i64 %cond41 = select i1 %cmp40, i64 64, i64 0 %call42 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmIB7v180000El(ptr nonnull align 8 dereferenceable(16) %__lm1, i64 %cond41) #5 br label %while.cond26, !llvm.loop !229 while.end43: ; preds = %while.cond26 %43 = load ptr, ptr %__comp.addr, align 8 call void @_ZNSt3__133__bitset_partition_partial_blocksB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEiEEvRT1_SB_T0_RT2_RySF_(ptr nonnull align 8 dereferenceable(16) %__first, ptr nonnull align 8 dereferenceable(16) %__lm1, ptr nonnull align 1 dereferenceable(1) %43, ptr nonnull align 4 dereferenceable(4) %__pivot, ptr nonnull align 8 dereferenceable(8) %__left_bitset, ptr nonnull align 8 dereferenceable(8) %__right_bitset) #5 call void @_ZNSt3__124__swap_bitmap_pos_withinB7v180000INS_17_ClassicAlgPolicyENS_16__deque_iteratorIiPiRiPS3_lLl1024EEEEEvRT0_S8_RyS9_(ptr nonnull align 8 dereferenceable(16) %__first, ptr nonnull align 8 dereferenceable(16) %__lm1, ptr nonnull align 8 dereferenceable(8) %__left_bitset, ptr nonnull align 8 dereferenceable(8) %__right_bitset) #5 %call44 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmiB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 1) #5 %44 = getelementptr inbounds { ptr, ptr }, ptr %__pivot_pos, i32 0, i32 0 %45 = extractvalue { ptr, ptr } %call44, 0 store ptr %45, ptr %44, align 8 %46 = getelementptr inbounds { ptr, ptr }, ptr %__pivot_pos, i32 0, i32 1 %47 = extractvalue { ptr, ptr } %call44, 1 store ptr %47, ptr %46, align 8 %call45 = call zeroext i1 @_ZNSt3__1neB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__begin, ptr nonnull align 8 dereferenceable(16) %__pivot_pos) #5 br i1 %call45, label %if.then46, label %if.end49 if.then46: ; preds = %while.end43 %call47 = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE11__iter_moveB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEEEENS_9enable_ifIXsr12is_referenceIDTdeclsr3stdE7declvalIRT_EEEEE5valueEDTclsr3stdE4movedeclsr3stdE7declvalISC_EEEEE4typeEOSB_(ptr nonnull align 8 dereferenceable(16) %__pivot_pos) #5 %48 = load i32, ptr %call47, align 4 %call48 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__begin) #5 store i32 %48, ptr %call48, align 4 br label %if.end49 if.end49: ; preds = %if.then46, %while.end43 %call50 = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__14moveB7v180000IRiEEOu20__remove_reference_tIT_EOS2_(ptr nonnull align 4 dereferenceable(4) %__pivot) #4 %49 = load i32, ptr %call50, align 4 %call51 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__pivot_pos) #5 store i32 %49, ptr %call51, align 4 call void @_ZNSt3__19make_pairB7v180000IRNS_16__deque_iteratorIiPiRiPS2_lLl1024EEERbEENS_4pairINS_18__unwrap_ref_decayIT_E4typeENS9_IT0_E4typeEEEOSA_OSD_(ptr sret(%"struct.std::__1::pair") align 8 %agg.result, ptr nonnull align 8 dereferenceable(16) %__pivot_pos, ptr nonnull align 1 dereferenceable(1) %__already_partitioned) #5 ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__132__partition_with_equals_on_rightB7v180000INS_17_ClassicAlgPolicyENS_16__deque_iteratorIiPiRiPS3_lLl1024EEERNS_6__lessIvvEEEENS_4pairIT0_bEESB_SB_T1_(ptr noalias sret(%"struct.std::__1::pair") align 8 %agg.result, ptr %__first.coerce0, ptr %__first.coerce1, ptr %__last.coerce0, ptr %__last.coerce1, ptr nonnull align 1 dereferenceable(1) %__comp) #0 { entry: %__first = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !230 %__last = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !231 %__comp.addr = alloca ptr, align 8, !clang.decl.ptr !232 %__begin = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !233 %__end = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !234 %__pivot = alloca i32, align 4, !clang.decl.ptr !235 %ref.tmp = alloca %"class.std::__1::__deque_iterator", align 8 %__already_partitioned = alloca i8, align 1, !clang.decl.ptr !236 %__pivot_pos = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !237 %0 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 0 store ptr %__first.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 1 store ptr %__first.coerce1, ptr %1, align 8 %2 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 0 store ptr %__last.coerce0, ptr %2, align 8 %3 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 1 store ptr %__last.coerce1, ptr %3, align 8 store ptr %__comp, ptr %__comp.addr, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__begin, ptr align 8 %__first, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__end, ptr align 8 %__last, i64 16, i1 false) %call = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE11__iter_moveB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEEEENS_9enable_ifIXsr12is_referenceIDTdeclsr3stdE7declvalIRT_EEEEE5valueEDTclsr3stdE4movedeclsr3stdE7declvalISC_EEEEE4typeEOSB_(ptr nonnull align 8 dereferenceable(16) %__first) #5 %4 = load i32, ptr %call, align 4 store i32 %4, ptr %__pivot, align 4 br label %do.body do.body: ; preds = %do.cond, %entry %call1 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEppB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__first) #5 br label %do.cond do.cond: ; preds = %do.body %5 = load ptr, ptr %__comp.addr, align 8 %call2 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__first) #5 %call3 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %5, ptr nonnull align 4 dereferenceable(4) %call2, ptr nonnull align 4 dereferenceable(4) %__pivot) #5 br i1 %call3, label %do.body, label %do.end, !llvm.loop !238 do.end: ; preds = %do.cond %call4 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmiB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 1) #5 %6 = getelementptr inbounds { ptr, ptr }, ptr %ref.tmp, i32 0, i32 0 %7 = extractvalue { ptr, ptr } %call4, 0 store ptr %7, ptr %6, align 8 %8 = getelementptr inbounds { ptr, ptr }, ptr %ref.tmp, i32 0, i32 1 %9 = extractvalue { ptr, ptr } %call4, 1 store ptr %9, ptr %8, align 8 %call5 = call zeroext i1 @_ZNSt3__1eqB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__begin, ptr nonnull align 8 dereferenceable(16) %ref.tmp) #5 br i1 %call5, label %if.then, label %if.else if.then: ; preds = %do.end br label %while.cond while.cond: ; preds = %while.body, %if.then %call6 = call zeroext i1 @_ZNSt3__1ltB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__first, ptr nonnull align 8 dereferenceable(16) %__last) #5 br i1 %call6, label %land.rhs, label %land.end land.rhs: ; preds = %while.cond %10 = load ptr, ptr %__comp.addr, align 8 %call7 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmmB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__last) #5 %call8 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %call7) #5 %call9 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %10, ptr nonnull align 4 dereferenceable(4) %call8, ptr nonnull align 4 dereferenceable(4) %__pivot) #5 %lnot = xor i1 %call9, true br label %land.end land.end: ; preds = %land.rhs, %while.cond %11 = phi i1 [ false, %while.cond ], [ %lnot, %land.rhs ] br i1 %11, label %while.body, label %while.end while.body: ; preds = %land.end br label %while.cond, !llvm.loop !239 while.end: ; preds = %land.end br label %if.end if.else: ; preds = %do.end br label %do.body10 do.body10: ; preds = %do.cond12, %if.else %call11 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmmB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__last) #5 br label %do.cond12 do.cond12: ; preds = %do.body10 %12 = load ptr, ptr %__comp.addr, align 8 %call13 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__last) #5 %call14 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %12, ptr nonnull align 4 dereferenceable(4) %call13, ptr nonnull align 4 dereferenceable(4) %__pivot) #5 %lnot15 = xor i1 %call14, true br i1 %lnot15, label %do.body10, label %do.end16, !llvm.loop !240 do.end16: ; preds = %do.cond12 br label %if.end if.end: ; preds = %do.end16, %while.end %call17 = call zeroext i1 @_ZNSt3__1geB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__first, ptr nonnull align 8 dereferenceable(16) %__last) #5 %frombool = zext i1 %call17 to i8 store i8 %frombool, ptr %__already_partitioned, align 1 br label %while.cond18 while.cond18: ; preds = %do.end33, %if.end %call19 = call zeroext i1 @_ZNSt3__1ltB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__first, ptr nonnull align 8 dereferenceable(16) %__last) #5 br i1 %call19, label %while.body20, label %while.end34 while.body20: ; preds = %while.cond18 call void @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE9iter_swapB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEES9_EEvOT_OT0_(ptr nonnull align 8 dereferenceable(16) %__first, ptr nonnull align 8 dereferenceable(16) %__last) #5 br label %do.body21 do.body21: ; preds = %do.cond23, %while.body20 %call22 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEppB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__first) #5 br label %do.cond23 do.cond23: ; preds = %do.body21 %13 = load ptr, ptr %__comp.addr, align 8 %call24 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__first) #5 %call25 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %13, ptr nonnull align 4 dereferenceable(4) %call24, ptr nonnull align 4 dereferenceable(4) %__pivot) #5 br i1 %call25, label %do.body21, label %do.end26, !llvm.loop !241 do.end26: ; preds = %do.cond23 br label %do.body27 do.body27: ; preds = %do.cond29, %do.end26 %call28 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmmB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__last) #5 br label %do.cond29 do.cond29: ; preds = %do.body27 %14 = load ptr, ptr %__comp.addr, align 8 %call30 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__last) #5 %call31 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %14, ptr nonnull align 4 dereferenceable(4) %call30, ptr nonnull align 4 dereferenceable(4) %__pivot) #5 %lnot32 = xor i1 %call31, true br i1 %lnot32, label %do.body27, label %do.end33, !llvm.loop !242 do.end33: ; preds = %do.cond29 br label %while.cond18, !llvm.loop !243 while.end34: ; preds = %while.cond18 %call35 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmiB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 1) #5 %15 = getelementptr inbounds { ptr, ptr }, ptr %__pivot_pos, i32 0, i32 0 %16 = extractvalue { ptr, ptr } %call35, 0 store ptr %16, ptr %15, align 8 %17 = getelementptr inbounds { ptr, ptr }, ptr %__pivot_pos, i32 0, i32 1 %18 = extractvalue { ptr, ptr } %call35, 1 store ptr %18, ptr %17, align 8 %call36 = call zeroext i1 @_ZNSt3__1neB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__begin, ptr nonnull align 8 dereferenceable(16) %__pivot_pos) #5 br i1 %call36, label %if.then37, label %if.end40 if.then37: ; preds = %while.end34 %call38 = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE11__iter_moveB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEEEENS_9enable_ifIXsr12is_referenceIDTdeclsr3stdE7declvalIRT_EEEEE5valueEDTclsr3stdE4movedeclsr3stdE7declvalISC_EEEEE4typeEOSB_(ptr nonnull align 8 dereferenceable(16) %__pivot_pos) #5 %19 = load i32, ptr %call38, align 4 %call39 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__begin) #5 store i32 %19, ptr %call39, align 4 br label %if.end40 if.end40: ; preds = %if.then37, %while.end34 %call41 = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__14moveB7v180000IRiEEOu20__remove_reference_tIT_EOS2_(ptr nonnull align 4 dereferenceable(4) %__pivot) #4 %20 = load i32, ptr %call41, align 4 %call42 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__pivot_pos) #5 store i32 %20, ptr %call42, align 4 call void @_ZNSt3__19make_pairB7v180000IRNS_16__deque_iteratorIiPiRiPS2_lLl1024EEERbEENS_4pairINS_18__unwrap_ref_decayIT_E4typeENS9_IT0_E4typeEEEOSA_OSD_(ptr sret(%"struct.std::__1::pair") align 8 %agg.result, ptr nonnull align 8 dereferenceable(16) %__pivot_pos, ptr nonnull align 1 dereferenceable(1) %__already_partitioned) #5 ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden zeroext i1 @_ZNSt3__127__insertion_sort_incompleteB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEbT1_SA_T0_(ptr %__first.coerce0, ptr %__first.coerce1, ptr %__last.coerce0, ptr %__last.coerce1, ptr nonnull align 1 dereferenceable(1) %__comp) #0 { entry: %retval = alloca i1, align 1 %__first = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !244 %__last = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !245 %__comp.addr = alloca ptr, align 8, !clang.decl.ptr !246 %agg.tmp = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp7 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp9 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp12 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp13 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp15 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp17 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp20 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp21 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp23 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp25 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp27 = alloca %"class.std::__1::__deque_iterator", align 8 %__j = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !247 %agg.tmp30 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp31 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp33 = alloca %"class.std::__1::__deque_iterator", align 8 %__limit = alloca i32, align 4, !clang.decl.ptr !248 %__count = alloca i32, align 4, !clang.decl.ptr !249 %__i = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !250 %__t = alloca i32, align 4, !clang.decl.ptr !251 %__k = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !252 %0 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 0 store ptr %__first.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 1 store ptr %__first.coerce1, ptr %1, align 8 %2 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 0 store ptr %__last.coerce0, ptr %2, align 8 %3 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 1 store ptr %__last.coerce1, ptr %3, align 8 store ptr %__comp, ptr %__comp.addr, align 8 %call = call i64 @_ZNSt3__1miB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__last, ptr nonnull align 8 dereferenceable(16) %__first) #5 switch i64 %call, label %sw.epilog [ i64 0, label %sw.bb i64 1, label %sw.bb i64 2, label %sw.bb1 i64 3, label %sw.bb6 i64 4, label %sw.bb11 i64 5, label %sw.bb19 ] sw.bb: ; preds = %entry, %entry store i1 true, ptr %retval, align 1 br label %return sw.bb1: ; preds = %entry %4 = load ptr, ptr %__comp.addr, align 8 %call2 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmmB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__last) #5 %call3 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %call2) #5 %call4 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__first) #5 %call5 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %4, ptr nonnull align 4 dereferenceable(4) %call3, ptr nonnull align 4 dereferenceable(4) %call4) #5 br i1 %call5, label %if.then, label %if.end if.then: ; preds = %sw.bb1 call void @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE9iter_swapB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEES9_EEvOT_OT0_(ptr nonnull align 8 dereferenceable(16) %__first, ptr nonnull align 8 dereferenceable(16) %__last) #5 br label %if.end if.end: ; preds = %if.then, %sw.bb1 store i1 true, ptr %retval, align 1 br label %return sw.bb6: ; preds = %entry call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp, ptr align 8 %__first, i64 16, i1 false) %call8 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 1) #5 %5 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp7, i32 0, i32 0 %6 = extractvalue { ptr, ptr } %call8, 0 store ptr %6, ptr %5, align 8 %7 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp7, i32 0, i32 1 %8 = extractvalue { ptr, ptr } %call8, 1 store ptr %8, ptr %7, align 8 %call10 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmmB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__last) #5 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp9, ptr align 8 %call10, i64 16, i1 false) %9 = load ptr, ptr %__comp.addr, align 8 %10 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 0 %11 = load ptr, ptr %10, align 8 %12 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 1 %13 = load ptr, ptr %12, align 8 %14 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp7, i32 0, i32 0 %15 = load ptr, ptr %14, align 8 %16 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp7, i32 0, i32 1 %17 = load ptr, ptr %16, align 8 %18 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp9, i32 0, i32 0 %19 = load ptr, ptr %18, align 8 %20 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp9, i32 0, i32 1 %21 = load ptr, ptr %20, align 8 call void @_ZNSt3__124__sort3_maybe_branchlessB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEENS_9enable_ifIXntsr21__use_branchless_sortIT0_T1_EE5valueEvE4typeESC_SC_SC_SB_(ptr %11, ptr %13, ptr %15, ptr %17, ptr %19, ptr %21, ptr nonnull align 1 dereferenceable(1) %9) #5 store i1 true, ptr %retval, align 1 br label %return sw.bb11: ; preds = %entry call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp12, ptr align 8 %__first, i64 16, i1 false) %call14 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 1) #5 %22 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp13, i32 0, i32 0 %23 = extractvalue { ptr, ptr } %call14, 0 store ptr %23, ptr %22, align 8 %24 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp13, i32 0, i32 1 %25 = extractvalue { ptr, ptr } %call14, 1 store ptr %25, ptr %24, align 8 %call16 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 2) #5 %26 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp15, i32 0, i32 0 %27 = extractvalue { ptr, ptr } %call16, 0 store ptr %27, ptr %26, align 8 %28 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp15, i32 0, i32 1 %29 = extractvalue { ptr, ptr } %call16, 1 store ptr %29, ptr %28, align 8 %call18 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmmB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__last) #5 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp17, ptr align 8 %call18, i64 16, i1 false) %30 = load ptr, ptr %__comp.addr, align 8 %31 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp12, i32 0, i32 0 %32 = load ptr, ptr %31, align 8 %33 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp12, i32 0, i32 1 %34 = load ptr, ptr %33, align 8 %35 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp13, i32 0, i32 0 %36 = load ptr, ptr %35, align 8 %37 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp13, i32 0, i32 1 %38 = load ptr, ptr %37, align 8 %39 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp15, i32 0, i32 0 %40 = load ptr, ptr %39, align 8 %41 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp15, i32 0, i32 1 %42 = load ptr, ptr %41, align 8 call void @_ZNSt3__124__sort4_maybe_branchlessB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEENS_9enable_ifIXntsr21__use_branchless_sortIT0_T1_EE5valueEvE4typeESC_SC_SC_SC_SB_(ptr %32, ptr %34, ptr %36, ptr %38, ptr %40, ptr %42, ptr byval(%"class.std::__1::__deque_iterator") align 8 %agg.tmp17, ptr nonnull align 1 dereferenceable(1) %30) #5 store i1 true, ptr %retval, align 1 br label %return sw.bb19: ; preds = %entry call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp20, ptr align 8 %__first, i64 16, i1 false) %call22 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 1) #5 %43 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp21, i32 0, i32 0 %44 = extractvalue { ptr, ptr } %call22, 0 store ptr %44, ptr %43, align 8 %45 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp21, i32 0, i32 1 %46 = extractvalue { ptr, ptr } %call22, 1 store ptr %46, ptr %45, align 8 %call24 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 2) #5 %47 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp23, i32 0, i32 0 %48 = extractvalue { ptr, ptr } %call24, 0 store ptr %48, ptr %47, align 8 %49 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp23, i32 0, i32 1 %50 = extractvalue { ptr, ptr } %call24, 1 store ptr %50, ptr %49, align 8 %call26 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 3) #5 %51 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp25, i32 0, i32 0 %52 = extractvalue { ptr, ptr } %call26, 0 store ptr %52, ptr %51, align 8 %53 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp25, i32 0, i32 1 %54 = extractvalue { ptr, ptr } %call26, 1 store ptr %54, ptr %53, align 8 %call28 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmmB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__last) #5 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp27, ptr align 8 %call28, i64 16, i1 false) %55 = load ptr, ptr %__comp.addr, align 8 %56 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp20, i32 0, i32 0 %57 = load ptr, ptr %56, align 8 %58 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp20, i32 0, i32 1 %59 = load ptr, ptr %58, align 8 %60 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp21, i32 0, i32 0 %61 = load ptr, ptr %60, align 8 %62 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp21, i32 0, i32 1 %63 = load ptr, ptr %62, align 8 %64 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp23, i32 0, i32 0 %65 = load ptr, ptr %64, align 8 %66 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp23, i32 0, i32 1 %67 = load ptr, ptr %66, align 8 call void @_ZNSt3__124__sort5_maybe_branchlessB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEENS_9enable_ifIXntsr21__use_branchless_sortIT0_T1_EE5valueEvE4typeESC_SC_SC_SC_SC_SB_(ptr %57, ptr %59, ptr %61, ptr %63, ptr %65, ptr %67, ptr byval(%"class.std::__1::__deque_iterator") align 8 %agg.tmp25, ptr byval(%"class.std::__1::__deque_iterator") align 8 %agg.tmp27, ptr nonnull align 1 dereferenceable(1) %55) #5 store i1 true, ptr %retval, align 1 br label %return sw.epilog: ; preds = %entry %call29 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 2) #5 %68 = getelementptr inbounds { ptr, ptr }, ptr %__j, i32 0, i32 0 %69 = extractvalue { ptr, ptr } %call29, 0 store ptr %69, ptr %68, align 8 %70 = getelementptr inbounds { ptr, ptr }, ptr %__j, i32 0, i32 1 %71 = extractvalue { ptr, ptr } %call29, 1 store ptr %71, ptr %70, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp30, ptr align 8 %__first, i64 16, i1 false) %call32 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 1) #5 %72 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp31, i32 0, i32 0 %73 = extractvalue { ptr, ptr } %call32, 0 store ptr %73, ptr %72, align 8 %74 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp31, i32 0, i32 1 %75 = extractvalue { ptr, ptr } %call32, 1 store ptr %75, ptr %74, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp33, ptr align 8 %__j, i64 16, i1 false) %76 = load ptr, ptr %__comp.addr, align 8 %77 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp30, i32 0, i32 0 %78 = load ptr, ptr %77, align 8 %79 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp30, i32 0, i32 1 %80 = load ptr, ptr %79, align 8 %81 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp31, i32 0, i32 0 %82 = load ptr, ptr %81, align 8 %83 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp31, i32 0, i32 1 %84 = load ptr, ptr %83, align 8 %85 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp33, i32 0, i32 0 %86 = load ptr, ptr %85, align 8 %87 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp33, i32 0, i32 1 %88 = load ptr, ptr %87, align 8 call void @_ZNSt3__124__sort3_maybe_branchlessB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEENS_9enable_ifIXntsr21__use_branchless_sortIT0_T1_EE5valueEvE4typeESC_SC_SC_SB_(ptr %78, ptr %80, ptr %82, ptr %84, ptr %86, ptr %88, ptr nonnull align 1 dereferenceable(1) %76) #5 store i32 8, ptr %__limit, align 4 store i32 0, ptr %__count, align 4 %call34 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__j, i64 1) #5 %89 = getelementptr inbounds { ptr, ptr }, ptr %__i, i32 0, i32 0 %90 = extractvalue { ptr, ptr } %call34, 0 store ptr %90, ptr %89, align 8 %91 = getelementptr inbounds { ptr, ptr }, ptr %__i, i32 0, i32 1 %92 = extractvalue { ptr, ptr } %call34, 1 store ptr %92, ptr %91, align 8 br label %for.cond for.cond: ; preds = %for.inc, %sw.epilog %call35 = call zeroext i1 @_ZNSt3__1neB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__i, ptr nonnull align 8 dereferenceable(16) %__last) #5 br i1 %call35, label %for.body, label %for.end for.body: ; preds = %for.cond %93 = load ptr, ptr %__comp.addr, align 8 %call36 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__i) #5 %call37 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__j) #5 %call38 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %93, ptr nonnull align 4 dereferenceable(4) %call36, ptr nonnull align 4 dereferenceable(4) %call37) #5 br i1 %call38, label %if.then39, label %if.end53 if.then39: ; preds = %for.body %call40 = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE11__iter_moveB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEEEENS_9enable_ifIXsr12is_referenceIDTdeclsr3stdE7declvalIRT_EEEEE5valueEDTclsr3stdE4movedeclsr3stdE7declvalISC_EEEEE4typeEOSB_(ptr nonnull align 8 dereferenceable(16) %__i) #5 %94 = load i32, ptr %call40, align 4 store i32 %94, ptr %__t, align 4 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__k, ptr align 8 %__j, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__j, ptr align 8 %__i, i64 16, i1 false) br label %do.body do.body: ; preds = %land.end, %if.then39 %call41 = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE11__iter_moveB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEEEENS_9enable_ifIXsr12is_referenceIDTdeclsr3stdE7declvalIRT_EEEEE5valueEDTclsr3stdE4movedeclsr3stdE7declvalISC_EEEEE4typeEOSB_(ptr nonnull align 8 dereferenceable(16) %__k) #5 %95 = load i32, ptr %call41, align 4 %call42 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__j) #5 store i32 %95, ptr %call42, align 4 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__j, ptr align 8 %__k, i64 16, i1 false) br label %do.cond do.cond: ; preds = %do.body %call43 = call zeroext i1 @_ZNSt3__1neB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__j, ptr nonnull align 8 dereferenceable(16) %__first) #5 br i1 %call43, label %land.rhs, label %land.end land.rhs: ; preds = %do.cond %96 = load ptr, ptr %__comp.addr, align 8 %call44 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmmB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__k) #5 %call45 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %call44) #5 %call46 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %96, ptr nonnull align 4 dereferenceable(4) %__t, ptr nonnull align 4 dereferenceable(4) %call45) #5 br label %land.end land.end: ; preds = %land.rhs, %do.cond %97 = phi i1 [ false, %do.cond ], [ %call46, %land.rhs ] br i1 %97, label %do.body, label %do.end, !llvm.loop !253 do.end: ; preds = %land.end %call47 = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__14moveB7v180000IRiEEOu20__remove_reference_tIT_EOS2_(ptr nonnull align 4 dereferenceable(4) %__t) #4 %98 = load i32, ptr %call47, align 4 %call48 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__j) #5 store i32 %98, ptr %call48, align 4 %99 = load i32, ptr %__count, align 4 %inc = add i32 %99, 1 store i32 %inc, ptr %__count, align 4 %cmp = icmp eq i32 %inc, 8 br i1 %cmp, label %if.then49, label %if.end52 if.then49: ; preds = %do.end %call50 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEppB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__i) #5 %call51 = call zeroext i1 @_ZNSt3__1eqB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %call50, ptr nonnull align 8 dereferenceable(16) %__last) #5 store i1 %call51, ptr %retval, align 1 br label %return if.end52: ; preds = %do.end br label %if.end53 if.end53: ; preds = %if.end52, %for.body call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__j, ptr align 8 %__i, i64 16, i1 false) br label %for.inc for.inc: ; preds = %if.end53 %call54 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEppB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__i) #5 br label %for.cond, !llvm.loop !254 for.end: ; preds = %for.cond store i1 true, ptr %retval, align 1 br label %return return: ; preds = %for.end, %if.then49, %sw.bb19, %sw.bb11, %sw.bb6, %if.end, %sw.bb %100 = load i1, ptr %retval, align 1 ret i1 %100 } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEppB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %this) #0 align 2 { entry: %this.addr = alloca ptr, align 8, !clang.decl.ptr !255 store ptr %this, ptr %this.addr, align 8 %this1 = load ptr, ptr %this.addr, align 8 %__ptr_ = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %this1, i32 0, i32 1 %0 = load ptr, ptr %__ptr_, align 8 %incdec.ptr = getelementptr inbounds i32, ptr %0, i32 1 store ptr %incdec.ptr, ptr %__ptr_, align 8 %__m_iter_ = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %this1, i32 0, i32 0 %1 = load ptr, ptr %__m_iter_, align 8 %2 = load ptr, ptr %1, align 8 %sub.ptr.lhs.cast = ptrtoint ptr %incdec.ptr to i64 %sub.ptr.rhs.cast = ptrtoint ptr %2 to i64 %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast %sub.ptr.div = sdiv exact i64 %sub.ptr.sub, 4 %cmp = icmp eq i64 %sub.ptr.div, 1024 br i1 %cmp, label %if.then, label %if.end if.then: ; preds = %entry %__m_iter_2 = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %this1, i32 0, i32 0 %3 = load ptr, ptr %__m_iter_2, align 8 %incdec.ptr3 = getelementptr inbounds ptr, ptr %3, i32 1 store ptr %incdec.ptr3, ptr %__m_iter_2, align 8 %__m_iter_4 = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %this1, i32 0, i32 0 %4 = load ptr, ptr %__m_iter_4, align 8 %5 = load ptr, ptr %4, align 8 %__ptr_5 = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %this1, i32 0, i32 1 store ptr %5, ptr %__ptr_5, align 8 br label %if.end if.end: ; preds = %if.then, %entry ret ptr %this1 } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__19iter_swapB7v180000INS_16__deque_iteratorIiPiRiPS2_lLl1024EEES5_EEvT_T0_(ptr %__a.coerce0, ptr %__a.coerce1, ptr %__b.coerce0, ptr %__b.coerce1) #0 { entry: %__a = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !256 %__b = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !257 %0 = getelementptr inbounds { ptr, ptr }, ptr %__a, i32 0, i32 0 store ptr %__a.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__a, i32 0, i32 1 store ptr %__a.coerce1, ptr %1, align 8 %2 = getelementptr inbounds { ptr, ptr }, ptr %__b, i32 0, i32 0 store ptr %__b.coerce0, ptr %2, align 8 %3 = getelementptr inbounds { ptr, ptr }, ptr %__b, i32 0, i32 1 store ptr %__b.coerce1, ptr %3, align 8 %call = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__a) #5 %call1 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__b) #5 call void @_ZNSt3__14swapB7v180000IiEENS_9enable_ifIXaasr21is_move_constructibleIT_EE5valuesr18is_move_assignableIS2_EE5valueEvE4typeERS2_S5_(ptr nonnull align 4 dereferenceable(4) %call, ptr nonnull align 4 dereferenceable(4) %call1) #4 ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden nonnull align 8 dereferenceable(16) ptr @_ZNSt3__17forwardB7v180000IRNS_16__deque_iteratorIiPiRiPS2_lLl1024EEEEEOT_Ru20__remove_reference_tIS7_E(ptr nonnull align 8 dereferenceable(16) %__t) #0 { entry: %__t.addr = alloca ptr, align 8, !clang.decl.ptr !258 store ptr %__t, ptr %__t.addr, align 8 %0 = load ptr, ptr %__t.addr, align 8 ret ptr %0 } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__14swapB7v180000IiEENS_9enable_ifIXaasr21is_move_constructibleIT_EE5valuesr18is_move_assignableIS2_EE5valueEvE4typeERS2_S5_(ptr nonnull align 4 dereferenceable(4) %__x, ptr nonnull align 4 dereferenceable(4) %__y) #0 { entry: %__x.addr = alloca ptr, align 8, !clang.decl.ptr !259 %__y.addr = alloca ptr, align 8, !clang.decl.ptr !260 %__t = alloca i32, align 4, !clang.decl.ptr !261 store ptr %__x, ptr %__x.addr, align 8 store ptr %__y, ptr %__y.addr, align 8 %0 = load ptr, ptr %__x.addr, align 8 %call = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__14moveB7v180000IRiEEOu20__remove_reference_tIT_EOS2_(ptr nonnull align 4 dereferenceable(4) %0) #4 %1 = load i32, ptr %call, align 4 store i32 %1, ptr %__t, align 4 %2 = load ptr, ptr %__y.addr, align 8 %call1 = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__14moveB7v180000IRiEEOu20__remove_reference_tIT_EOS2_(ptr nonnull align 4 dereferenceable(4) %2) #4 %3 = load i32, ptr %call1, align 4 %4 = load ptr, ptr %__x.addr, align 8 store i32 %3, ptr %4, align 4 %call2 = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__14moveB7v180000IRiEEOu20__remove_reference_tIT_EOS2_(ptr nonnull align 4 dereferenceable(4) %__t) #4 %5 = load i32, ptr %call2, align 4 %6 = load ptr, ptr %__y.addr, align 8 store i32 %5, ptr %6, align 4 ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden nonnull align 4 dereferenceable(4) ptr @_ZNSt3__14moveB7v180000IRiEEOu20__remove_reference_tIT_EOS2_(ptr nonnull align 4 dereferenceable(4) %__t) #0 { entry: %__t.addr = alloca ptr, align 8, !clang.decl.ptr !262 store ptr %__t, ptr %__t.addr, align 8 %0 = load ptr, ptr %__t.addr, align 8 ret ptr %0 } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEpLB7v180000El(ptr nonnull align 8 dereferenceable(16) %this, i64 %__n) #0 align 2 { entry: %this.addr = alloca ptr, align 8, !clang.decl.ptr !263 %__n.addr = alloca i64, align 8, !clang.decl.ptr !264 %__z = alloca i64, align 8, !clang.decl.ptr !265 store ptr %this, ptr %this.addr, align 8 store i64 %__n, ptr %__n.addr, align 8 %this1 = load ptr, ptr %this.addr, align 8 %0 = load i64, ptr %__n.addr, align 8 %cmp = icmp ne i64 %0, 0 br i1 %cmp, label %if.then, label %if.end16 if.then: ; preds = %entry %__ptr_ = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %this1, i32 0, i32 1 %1 = load ptr, ptr %__ptr_, align 8 %__m_iter_ = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %this1, i32 0, i32 0 %2 = load ptr, ptr %__m_iter_, align 8 %3 = load ptr, ptr %2, align 8 %sub.ptr.lhs.cast = ptrtoint ptr %1 to i64 %sub.ptr.rhs.cast = ptrtoint ptr %3 to i64 %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast %sub.ptr.div = sdiv exact i64 %sub.ptr.sub, 4 %4 = load i64, ptr %__n.addr, align 8 %add = add nsw i64 %4, %sub.ptr.div store i64 %add, ptr %__n.addr, align 8 %5 = load i64, ptr %__n.addr, align 8 %cmp2 = icmp sgt i64 %5, 0 br i1 %cmp2, label %if.then3, label %if.else if.then3: ; preds = %if.then %6 = load i64, ptr %__n.addr, align 8 %div = sdiv i64 %6, 1024 %__m_iter_4 = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %this1, i32 0, i32 0 %7 = load ptr, ptr %__m_iter_4, align 8 %add.ptr = getelementptr inbounds ptr, ptr %7, i64 %div store ptr %add.ptr, ptr %__m_iter_4, align 8 %__m_iter_5 = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %this1, i32 0, i32 0 %8 = load ptr, ptr %__m_iter_5, align 8 %9 = load ptr, ptr %8, align 8 %10 = load i64, ptr %__n.addr, align 8 %rem = srem i64 %10, 1024 %add.ptr6 = getelementptr inbounds i32, ptr %9, i64 %rem %__ptr_7 = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %this1, i32 0, i32 1 store ptr %add.ptr6, ptr %__ptr_7, align 8 br label %if.end if.else: ; preds = %if.then %11 = load i64, ptr %__n.addr, align 8 %sub = sub nsw i64 1023, %11 store i64 %sub, ptr %__z, align 8 %12 = load i64, ptr %__z, align 8 %div8 = sdiv i64 %12, 1024 %__m_iter_9 = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %this1, i32 0, i32 0 %13 = load ptr, ptr %__m_iter_9, align 8 %idx.neg = sub i64 0, %div8 %add.ptr10 = getelementptr inbounds ptr, ptr %13, i64 %idx.neg store ptr %add.ptr10, ptr %__m_iter_9, align 8 %__m_iter_11 = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %this1, i32 0, i32 0 %14 = load ptr, ptr %__m_iter_11, align 8 %15 = load ptr, ptr %14, align 8 %16 = load i64, ptr %__z, align 8 %rem12 = srem i64 %16, 1024 %sub13 = sub nsw i64 1023, %rem12 %add.ptr14 = getelementptr inbounds i32, ptr %15, i64 %sub13 %__ptr_15 = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %this1, i32 0, i32 1 store ptr %add.ptr14, ptr %__ptr_15, align 8 br label %if.end if.end: ; preds = %if.else, %if.then3 br label %if.end16 if.end16: ; preds = %if.end, %entry ret ptr %this1 } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__17__sort4B7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEvT1_SA_SA_SA_T0_(ptr %__x1.coerce0, ptr %__x1.coerce1, ptr %__x2.coerce0, ptr %__x2.coerce1, ptr %__x3.coerce0, ptr %__x3.coerce1, ptr byval(%"class.std::__1::__deque_iterator") align 8 %__x4, ptr nonnull align 1 dereferenceable(1) %__c) #0 { entry: %__x1 = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !266 %__x2 = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !267 %__x3 = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !268 %__c.addr = alloca ptr, align 8, !clang.decl.ptr !269 %agg.tmp = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp1 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp2 = alloca %"class.std::__1::__deque_iterator", align 8 %0 = getelementptr inbounds { ptr, ptr }, ptr %__x1, i32 0, i32 0 store ptr %__x1.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__x1, i32 0, i32 1 store ptr %__x1.coerce1, ptr %1, align 8 %2 = getelementptr inbounds { ptr, ptr }, ptr %__x2, i32 0, i32 0 store ptr %__x2.coerce0, ptr %2, align 8 %3 = getelementptr inbounds { ptr, ptr }, ptr %__x2, i32 0, i32 1 store ptr %__x2.coerce1, ptr %3, align 8 %4 = getelementptr inbounds { ptr, ptr }, ptr %__x3, i32 0, i32 0 store ptr %__x3.coerce0, ptr %4, align 8 %5 = getelementptr inbounds { ptr, ptr }, ptr %__x3, i32 0, i32 1 store ptr %__x3.coerce1, ptr %5, align 8 store ptr %__c, ptr %__c.addr, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp, ptr align 8 %__x1, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp1, ptr align 8 %__x2, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp2, ptr align 8 %__x3, i64 16, i1 false) %6 = load ptr, ptr %__c.addr, align 8 %7 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 0 %8 = load ptr, ptr %7, align 8 %9 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 1 %10 = load ptr, ptr %9, align 8 %11 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp1, i32 0, i32 0 %12 = load ptr, ptr %11, align 8 %13 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp1, i32 0, i32 1 %14 = load ptr, ptr %13, align 8 %15 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp2, i32 0, i32 0 %16 = load ptr, ptr %15, align 8 %17 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp2, i32 0, i32 1 %18 = load ptr, ptr %17, align 8 %call = call i32 @_ZNSt3__17__sort3B7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEjT1_SA_SA_T0_(ptr %8, ptr %10, ptr %12, ptr %14, ptr %16, ptr %18, ptr nonnull align 1 dereferenceable(1) %6) #5 %19 = load ptr, ptr %__c.addr, align 8 %call3 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__x4) #5 %call4 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__x3) #5 %call5 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %19, ptr nonnull align 4 dereferenceable(4) %call3, ptr nonnull align 4 dereferenceable(4) %call4) #5 br i1 %call5, label %if.then, label %if.end15 if.then: ; preds = %entry call void @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE9iter_swapB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEES9_EEvOT_OT0_(ptr nonnull align 8 dereferenceable(16) %__x3, ptr nonnull align 8 dereferenceable(16) %__x4) #5 %20 = load ptr, ptr %__c.addr, align 8 %call6 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__x3) #5 %call7 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__x2) #5 %call8 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %20, ptr nonnull align 4 dereferenceable(4) %call6, ptr nonnull align 4 dereferenceable(4) %call7) #5 br i1 %call8, label %if.then9, label %if.end14 if.then9: ; preds = %if.then call void @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE9iter_swapB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEES9_EEvOT_OT0_(ptr nonnull align 8 dereferenceable(16) %__x2, ptr nonnull align 8 dereferenceable(16) %__x3) #5 %21 = load ptr, ptr %__c.addr, align 8 %call10 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__x2) #5 %call11 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__x1) #5 %call12 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %21, ptr nonnull align 4 dereferenceable(4) %call10, ptr nonnull align 4 dereferenceable(4) %call11) #5 br i1 %call12, label %if.then13, label %if.end if.then13: ; preds = %if.then9 call void @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE9iter_swapB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEES9_EEvOT_OT0_(ptr nonnull align 8 dereferenceable(16) %__x1, ptr nonnull align 8 dereferenceable(16) %__x2) #5 br label %if.end if.end: ; preds = %if.then13, %if.then9 br label %if.end14 if.end14: ; preds = %if.end, %if.then br label %if.end15 if.end15: ; preds = %if.end14, %entry ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__17__sort5B7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEvT1_SA_SA_SA_SA_T0_(ptr %__x1.coerce0, ptr %__x1.coerce1, ptr %__x2.coerce0, ptr %__x2.coerce1, ptr %__x3.coerce0, ptr %__x3.coerce1, ptr byval(%"class.std::__1::__deque_iterator") align 8 %__x4, ptr byval(%"class.std::__1::__deque_iterator") align 8 %__x5, ptr nonnull align 1 dereferenceable(1) %__comp) #0 { entry: %__x1 = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !270 %__x2 = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !271 %__x3 = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !272 %__comp.addr = alloca ptr, align 8, !clang.decl.ptr !273 %agg.tmp = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp1 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp2 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp3 = alloca %"class.std::__1::__deque_iterator", align 8 %0 = getelementptr inbounds { ptr, ptr }, ptr %__x1, i32 0, i32 0 store ptr %__x1.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__x1, i32 0, i32 1 store ptr %__x1.coerce1, ptr %1, align 8 %2 = getelementptr inbounds { ptr, ptr }, ptr %__x2, i32 0, i32 0 store ptr %__x2.coerce0, ptr %2, align 8 %3 = getelementptr inbounds { ptr, ptr }, ptr %__x2, i32 0, i32 1 store ptr %__x2.coerce1, ptr %3, align 8 %4 = getelementptr inbounds { ptr, ptr }, ptr %__x3, i32 0, i32 0 store ptr %__x3.coerce0, ptr %4, align 8 %5 = getelementptr inbounds { ptr, ptr }, ptr %__x3, i32 0, i32 1 store ptr %__x3.coerce1, ptr %5, align 8 store ptr %__comp, ptr %__comp.addr, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp, ptr align 8 %__x1, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp1, ptr align 8 %__x2, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp2, ptr align 8 %__x3, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp3, ptr align 8 %__x4, i64 16, i1 false) %6 = load ptr, ptr %__comp.addr, align 8 %7 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 0 %8 = load ptr, ptr %7, align 8 %9 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 1 %10 = load ptr, ptr %9, align 8 %11 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp1, i32 0, i32 0 %12 = load ptr, ptr %11, align 8 %13 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp1, i32 0, i32 1 %14 = load ptr, ptr %13, align 8 %15 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp2, i32 0, i32 0 %16 = load ptr, ptr %15, align 8 %17 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp2, i32 0, i32 1 %18 = load ptr, ptr %17, align 8 call void @_ZNSt3__17__sort4B7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEvT1_SA_SA_SA_T0_(ptr %8, ptr %10, ptr %12, ptr %14, ptr %16, ptr %18, ptr byval(%"class.std::__1::__deque_iterator") align 8 %agg.tmp3, ptr nonnull align 1 dereferenceable(1) %6) #5 %19 = load ptr, ptr %__comp.addr, align 8 %call = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__x5) #5 %call4 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__x4) #5 %call5 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %19, ptr nonnull align 4 dereferenceable(4) %call, ptr nonnull align 4 dereferenceable(4) %call4) #5 br i1 %call5, label %if.then, label %if.end20 if.then: ; preds = %entry call void @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE9iter_swapB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEES9_EEvOT_OT0_(ptr nonnull align 8 dereferenceable(16) %__x4, ptr nonnull align 8 dereferenceable(16) %__x5) #5 %20 = load ptr, ptr %__comp.addr, align 8 %call6 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__x4) #5 %call7 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__x3) #5 %call8 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %20, ptr nonnull align 4 dereferenceable(4) %call6, ptr nonnull align 4 dereferenceable(4) %call7) #5 br i1 %call8, label %if.then9, label %if.end19 if.then9: ; preds = %if.then call void @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE9iter_swapB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEES9_EEvOT_OT0_(ptr nonnull align 8 dereferenceable(16) %__x3, ptr nonnull align 8 dereferenceable(16) %__x4) #5 %21 = load ptr, ptr %__comp.addr, align 8 %call10 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__x3) #5 %call11 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__x2) #5 %call12 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %21, ptr nonnull align 4 dereferenceable(4) %call10, ptr nonnull align 4 dereferenceable(4) %call11) #5 br i1 %call12, label %if.then13, label %if.end18 if.then13: ; preds = %if.then9 call void @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE9iter_swapB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEES9_EEvOT_OT0_(ptr nonnull align 8 dereferenceable(16) %__x2, ptr nonnull align 8 dereferenceable(16) %__x3) #5 %22 = load ptr, ptr %__comp.addr, align 8 %call14 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__x2) #5 %call15 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__x1) #5 %call16 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %22, ptr nonnull align 4 dereferenceable(4) %call14, ptr nonnull align 4 dereferenceable(4) %call15) #5 br i1 %call16, label %if.then17, label %if.end if.then17: ; preds = %if.then13 call void @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE9iter_swapB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEES9_EEvOT_OT0_(ptr nonnull align 8 dereferenceable(16) %__x1, ptr nonnull align 8 dereferenceable(16) %__x2) #5 br label %if.end if.end: ; preds = %if.then17, %if.then13 br label %if.end18 if.end18: ; preds = %if.end, %if.then9 br label %if.end19 if.end19: ; preds = %if.end18, %if.then br label %if.end20 if.end20: ; preds = %if.end19, %entry ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden nonnull align 4 dereferenceable(4) ptr @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE11__iter_moveB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEEEENS_9enable_ifIXsr12is_referenceIDTdeclsr3stdE7declvalIRT_EEEEE5valueEDTclsr3stdE4movedeclsr3stdE7declvalISC_EEEEE4typeEOSB_(ptr nonnull align 8 dereferenceable(16) %__i) #0 align 2 { entry: %__i.addr = alloca ptr, align 8, !clang.decl.ptr !274 store ptr %__i, ptr %__i.addr, align 8 call void @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE25__validate_iter_referenceB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEEEEvv() #5 %0 = load ptr, ptr %__i.addr, align 8 %call = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__17forwardB7v180000IRNS_16__deque_iteratorIiPiRiPS2_lLl1024EEEEEOT_Ru20__remove_reference_tIS7_E(ptr nonnull align 8 dereferenceable(16) %0) #4 %call1 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %call) #5 %call2 = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__14moveB7v180000IRiEEOu20__remove_reference_tIT_EOS2_(ptr nonnull align 4 dereferenceable(4) %call1) #4 ret ptr %call2 } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE25__validate_iter_referenceB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEEEEvv() #0 align 2 { entry: ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden { ptr, ptr } @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE4nextB7v180000INS_16__deque_iteratorIiPiRiPS5_lLl1024EEEEET_S9_S9_(ptr %.coerce0, ptr %.coerce1, ptr %__last.coerce0, ptr %__last.coerce1) #0 align 2 { entry: %retval = alloca %"class.std::__1::__deque_iterator", align 8 %0 = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !275 %__last = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !276 %1 = getelementptr inbounds { ptr, ptr }, ptr %0, i32 0, i32 0 store ptr %.coerce0, ptr %1, align 8 %2 = getelementptr inbounds { ptr, ptr }, ptr %0, i32 0, i32 1 store ptr %.coerce1, ptr %2, align 8 %3 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 0 store ptr %__last.coerce0, ptr %3, align 8 %4 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 1 store ptr %__last.coerce1, ptr %4, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %retval, ptr align 8 %__last, i64 16, i1 false) %5 = load { ptr, ptr }, ptr %retval, align 8 ret { ptr, ptr } %5 } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden { ptr, ptr } @_ZNSt3__119__partial_sort_implB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEES9_EET1_SA_SA_T2_OT0_(ptr %__first.coerce0, ptr %__first.coerce1, ptr %__middle.coerce0, ptr %__middle.coerce1, ptr %__last.coerce0, ptr %__last.coerce1, ptr nonnull align 1 dereferenceable(1) %__comp) #0 { entry: %retval = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !277 %__first = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !278 %__middle = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !279 %__last = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !280 %__comp.addr = alloca ptr, align 8, !clang.decl.ptr !281 %agg.tmp = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp1 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp3 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp4 = alloca %"class.std::__1::__deque_iterator", align 8 %__len = alloca i64, align 8, !clang.decl.ptr !282 %agg.tmp11 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp12 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp15 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp17 = alloca %"class.std::__1::__deque_iterator", align 8 %0 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 0 store ptr %__first.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 1 store ptr %__first.coerce1, ptr %1, align 8 %2 = getelementptr inbounds { ptr, ptr }, ptr %__middle, i32 0, i32 0 store ptr %__middle.coerce0, ptr %2, align 8 %3 = getelementptr inbounds { ptr, ptr }, ptr %__middle, i32 0, i32 1 store ptr %__middle.coerce1, ptr %3, align 8 %4 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 0 store ptr %__last.coerce0, ptr %4, align 8 %5 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 1 store ptr %__last.coerce1, ptr %5, align 8 store ptr %__comp, ptr %__comp.addr, align 8 %call = call zeroext i1 @_ZNSt3__1eqB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__first, ptr nonnull align 8 dereferenceable(16) %__middle) #5 br i1 %call, label %if.then, label %if.end if.then: ; preds = %entry call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp, ptr align 8 %__middle, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp1, ptr align 8 %__last, i64 16, i1 false) %6 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 0 %7 = load ptr, ptr %6, align 8 %8 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 1 %9 = load ptr, ptr %8, align 8 %10 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp1, i32 0, i32 0 %11 = load ptr, ptr %10, align 8 %12 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp1, i32 0, i32 1 %13 = load ptr, ptr %12, align 8 %call2 = call { ptr, ptr } @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE4nextB7v180000INS_16__deque_iteratorIiPiRiPS5_lLl1024EEEEET_S9_S9_(ptr %7, ptr %9, ptr %11, ptr %13) #5 %14 = getelementptr inbounds { ptr, ptr }, ptr %retval, i32 0, i32 0 %15 = extractvalue { ptr, ptr } %call2, 0 store ptr %15, ptr %14, align 8 %16 = getelementptr inbounds { ptr, ptr }, ptr %retval, i32 0, i32 1 %17 = extractvalue { ptr, ptr } %call2, 1 store ptr %17, ptr %16, align 8 br label %return if.end: ; preds = %entry call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp3, ptr align 8 %__first, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp4, ptr align 8 %__middle, i64 16, i1 false) %18 = load ptr, ptr %__comp.addr, align 8 %19 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp3, i32 0, i32 0 %20 = load ptr, ptr %19, align 8 %21 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp3, i32 0, i32 1 %22 = load ptr, ptr %21, align 8 %23 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp4, i32 0, i32 0 %24 = load ptr, ptr %23, align 8 %25 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp4, i32 0, i32 1 %26 = load ptr, ptr %25, align 8 call void @_ZNSt3__111__make_heapB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEvT1_SA_OT0_(ptr %20, ptr %22, ptr %24, ptr %26, ptr nonnull align 1 dereferenceable(1) %18) #5 %call5 = call i64 @_ZNSt3__1miB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__middle, ptr nonnull align 8 dereferenceable(16) %__first) #5 store i64 %call5, ptr %__len, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %retval, ptr align 8 %__middle, i64 16, i1 false) br label %for.cond for.cond: ; preds = %for.inc, %if.end %call6 = call zeroext i1 @_ZNSt3__1neB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %retval, ptr nonnull align 8 dereferenceable(16) %__last) #5 br i1 %call6, label %for.body, label %for.end for.body: ; preds = %for.cond %27 = load ptr, ptr %__comp.addr, align 8 %call7 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %retval) #5 %call8 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__first) #5 %call9 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %27, ptr nonnull align 4 dereferenceable(4) %call7, ptr nonnull align 4 dereferenceable(4) %call8) #5 br i1 %call9, label %if.then10, label %if.end13 if.then10: ; preds = %for.body call void @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE9iter_swapB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEES9_EEvOT_OT0_(ptr nonnull align 8 dereferenceable(16) %retval, ptr nonnull align 8 dereferenceable(16) %__first) #5 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp11, ptr align 8 %__first, i64 16, i1 false) %28 = load ptr, ptr %__comp.addr, align 8 %29 = load i64, ptr %__len, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp12, ptr align 8 %__first, i64 16, i1 false) %30 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp11, i32 0, i32 0 %31 = load ptr, ptr %30, align 8 %32 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp11, i32 0, i32 1 %33 = load ptr, ptr %32, align 8 %34 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp12, i32 0, i32 0 %35 = load ptr, ptr %34, align 8 %36 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp12, i32 0, i32 1 %37 = load ptr, ptr %36, align 8 call void @_ZNSt3__111__sift_downB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEvT1_OT0_NS_15iterator_traitsISA_E15difference_typeESA_(ptr %31, ptr %33, ptr nonnull align 1 dereferenceable(1) %28, i64 %29, ptr %35, ptr %37) #5 br label %if.end13 if.end13: ; preds = %if.then10, %for.body br label %for.inc for.inc: ; preds = %if.end13 %call14 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEppB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %retval) #5 br label %for.cond, !llvm.loop !283 for.end: ; preds = %for.cond %call16 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__14moveB7v180000IRNS_16__deque_iteratorIiPiRiPS2_lLl1024EEEEEOu20__remove_reference_tIT_EOS7_(ptr nonnull align 8 dereferenceable(16) %__first) #4 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp15, ptr align 8 %call16, i64 16, i1 false) %call18 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__14moveB7v180000IRNS_16__deque_iteratorIiPiRiPS2_lLl1024EEEEEOu20__remove_reference_tIT_EOS7_(ptr nonnull align 8 dereferenceable(16) %__middle) #4 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp17, ptr align 8 %call18, i64 16, i1 false) %38 = load ptr, ptr %__comp.addr, align 8 %39 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp15, i32 0, i32 0 %40 = load ptr, ptr %39, align 8 %41 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp15, i32 0, i32 1 %42 = load ptr, ptr %41, align 8 %43 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp17, i32 0, i32 0 %44 = load ptr, ptr %43, align 8 %45 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp17, i32 0, i32 1 %46 = load ptr, ptr %45, align 8 call void @_ZNSt3__111__sort_heapB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEvT1_SA_OT0_(ptr %40, ptr %42, ptr %44, ptr %46, ptr nonnull align 1 dereferenceable(1) %38) #5 br label %return return: ; preds = %for.end, %if.then %47 = load { ptr, ptr }, ptr %retval, align 8 ret { ptr, ptr } %47 } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__111__make_heapB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEvT1_SA_OT0_(ptr %__first.coerce0, ptr %__first.coerce1, ptr %__last.coerce0, ptr %__last.coerce1, ptr nonnull align 1 dereferenceable(1) %__comp) #0 { entry: %__first = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !284 %__last = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !285 %__comp.addr = alloca ptr, align 8, !clang.decl.ptr !286 %__comp_ref = alloca ptr, align 8, !clang.decl.ptr !287 %__n = alloca i64, align 8, !clang.decl.ptr !288 %__start = alloca i64, align 8, !clang.decl.ptr !289 %agg.tmp = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp2 = alloca %"class.std::__1::__deque_iterator", align 8 %0 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 0 store ptr %__first.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 1 store ptr %__first.coerce1, ptr %1, align 8 %2 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 0 store ptr %__last.coerce0, ptr %2, align 8 %3 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 1 store ptr %__last.coerce1, ptr %3, align 8 store ptr %__comp, ptr %__comp.addr, align 8 %4 = load ptr, ptr %__comp.addr, align 8 store ptr %4, ptr %__comp_ref, align 8 %call = call i64 @_ZNSt3__1miB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__last, ptr nonnull align 8 dereferenceable(16) %__first) #5 store i64 %call, ptr %__n, align 8 %5 = load i64, ptr %__n, align 8 %cmp = icmp sgt i64 %5, 1 br i1 %cmp, label %if.then, label %if.end if.then: ; preds = %entry %6 = load i64, ptr %__n, align 8 %sub = sub nsw i64 %6, 2 %div = sdiv i64 %sub, 2 store i64 %div, ptr %__start, align 8 br label %for.cond for.cond: ; preds = %for.inc, %if.then %7 = load i64, ptr %__start, align 8 %cmp1 = icmp sge i64 %7, 0 br i1 %cmp1, label %for.body, label %for.end for.body: ; preds = %for.cond call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp, ptr align 8 %__first, i64 16, i1 false) %8 = load ptr, ptr %__comp_ref, align 8 %9 = load i64, ptr %__n, align 8 %10 = load i64, ptr %__start, align 8 %call3 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 %10) #5 %11 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp2, i32 0, i32 0 %12 = extractvalue { ptr, ptr } %call3, 0 store ptr %12, ptr %11, align 8 %13 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp2, i32 0, i32 1 %14 = extractvalue { ptr, ptr } %call3, 1 store ptr %14, ptr %13, align 8 %15 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 0 %16 = load ptr, ptr %15, align 8 %17 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 1 %18 = load ptr, ptr %17, align 8 %19 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp2, i32 0, i32 0 %20 = load ptr, ptr %19, align 8 %21 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp2, i32 0, i32 1 %22 = load ptr, ptr %21, align 8 call void @_ZNSt3__111__sift_downB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEvT1_OT0_NS_15iterator_traitsISA_E15difference_typeESA_(ptr %16, ptr %18, ptr nonnull align 1 dereferenceable(1) %8, i64 %9, ptr %20, ptr %22) #5 br label %for.inc for.inc: ; preds = %for.body %23 = load i64, ptr %__start, align 8 %dec = add nsw i64 %23, -1 store i64 %dec, ptr %__start, align 8 br label %for.cond, !llvm.loop !290 for.end: ; preds = %for.cond br label %if.end if.end: ; preds = %for.end, %entry ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__111__sift_downB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEvT1_OT0_NS_15iterator_traitsISA_E15difference_typeESA_(ptr %__first.coerce0, ptr %__first.coerce1, ptr nonnull align 1 dereferenceable(1) %__comp, i64 %__len, ptr %__start.coerce0, ptr %__start.coerce1) #0 { entry: %__first = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !291 %__start = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !292 %__comp.addr = alloca ptr, align 8, !clang.decl.ptr !293 %__len.addr = alloca i64, align 8, !clang.decl.ptr !294 %__child = alloca i64, align 8, !clang.decl.ptr !295 %__child_i = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !296 %ref.tmp = alloca %"class.std::__1::__deque_iterator", align 8 %__top = alloca i32, align 4, !clang.decl.ptr !297 %ref.tmp27 = alloca %"class.std::__1::__deque_iterator", align 8 %ref.tmp33 = alloca %"class.std::__1::__deque_iterator", align 8 %0 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 0 store ptr %__first.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 1 store ptr %__first.coerce1, ptr %1, align 8 %2 = getelementptr inbounds { ptr, ptr }, ptr %__start, i32 0, i32 0 store ptr %__start.coerce0, ptr %2, align 8 %3 = getelementptr inbounds { ptr, ptr }, ptr %__start, i32 0, i32 1 store ptr %__start.coerce1, ptr %3, align 8 store ptr %__comp, ptr %__comp.addr, align 8 store i64 %__len, ptr %__len.addr, align 8 %call = call i64 @_ZNSt3__1miB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__start, ptr nonnull align 8 dereferenceable(16) %__first) #5 store i64 %call, ptr %__child, align 8 %4 = load i64, ptr %__len.addr, align 8 %cmp = icmp slt i64 %4, 2 br i1 %cmp, label %if.then, label %lor.lhs.false lor.lhs.false: ; preds = %entry %5 = load i64, ptr %__len.addr, align 8 %sub = sub nsw i64 %5, 2 %div = sdiv i64 %sub, 2 %6 = load i64, ptr %__child, align 8 %cmp1 = icmp slt i64 %div, %6 br i1 %cmp1, label %if.then, label %if.end if.then: ; preds = %lor.lhs.false, %entry br label %return if.end: ; preds = %lor.lhs.false %7 = load i64, ptr %__child, align 8 %mul = mul nsw i64 2, %7 %add = add nsw i64 %mul, 1 store i64 %add, ptr %__child, align 8 %8 = load i64, ptr %__child, align 8 %call2 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 %8) #5 %9 = getelementptr inbounds { ptr, ptr }, ptr %__child_i, i32 0, i32 0 %10 = extractvalue { ptr, ptr } %call2, 0 store ptr %10, ptr %9, align 8 %11 = getelementptr inbounds { ptr, ptr }, ptr %__child_i, i32 0, i32 1 %12 = extractvalue { ptr, ptr } %call2, 1 store ptr %12, ptr %11, align 8 %13 = load i64, ptr %__child, align 8 %add3 = add nsw i64 %13, 1 %14 = load i64, ptr %__len.addr, align 8 %cmp4 = icmp slt i64 %add3, %14 br i1 %cmp4, label %land.rhs, label %land.end land.rhs: ; preds = %if.end %15 = load ptr, ptr %__comp.addr, align 8 %call5 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__child_i) #5 %call6 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__child_i, i64 1) #5 %16 = getelementptr inbounds { ptr, ptr }, ptr %ref.tmp, i32 0, i32 0 %17 = extractvalue { ptr, ptr } %call6, 0 store ptr %17, ptr %16, align 8 %18 = getelementptr inbounds { ptr, ptr }, ptr %ref.tmp, i32 0, i32 1 %19 = extractvalue { ptr, ptr } %call6, 1 store ptr %19, ptr %18, align 8 %call7 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %ref.tmp) #5 %call8 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %15, ptr nonnull align 4 dereferenceable(4) %call5, ptr nonnull align 4 dereferenceable(4) %call7) #5 br label %land.end land.end: ; preds = %land.rhs, %if.end %20 = phi i1 [ false, %if.end ], [ %call8, %land.rhs ] br i1 %20, label %if.then9, label %if.end11 if.then9: ; preds = %land.end %call10 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEppB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__child_i) #5 %21 = load i64, ptr %__child, align 8 %inc = add nsw i64 %21, 1 store i64 %inc, ptr %__child, align 8 br label %if.end11 if.end11: ; preds = %if.then9, %land.end %22 = load ptr, ptr %__comp.addr, align 8 %call12 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__child_i) #5 %call13 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__start) #5 %call14 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %22, ptr nonnull align 4 dereferenceable(4) %call12, ptr nonnull align 4 dereferenceable(4) %call13) #5 br i1 %call14, label %if.then15, label %if.end16 if.then15: ; preds = %if.end11 br label %return if.end16: ; preds = %if.end11 %call17 = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE11__iter_moveB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEEEENS_9enable_ifIXsr12is_referenceIDTdeclsr3stdE7declvalIRT_EEEEE5valueEDTclsr3stdE4movedeclsr3stdE7declvalISC_EEEEE4typeEOSB_(ptr nonnull align 8 dereferenceable(16) %__start) #5 %23 = load i32, ptr %call17, align 4 store i32 %23, ptr %__top, align 4 br label %do.body do.body: ; preds = %do.cond, %if.end16 %call18 = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE11__iter_moveB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEEEENS_9enable_ifIXsr12is_referenceIDTdeclsr3stdE7declvalIRT_EEEEE5valueEDTclsr3stdE4movedeclsr3stdE7declvalISC_EEEEE4typeEOSB_(ptr nonnull align 8 dereferenceable(16) %__child_i) #5 %24 = load i32, ptr %call18, align 4 %call19 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__start) #5 store i32 %24, ptr %call19, align 4 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__start, ptr align 8 %__child_i, i64 16, i1 false) %25 = load i64, ptr %__len.addr, align 8 %sub20 = sub nsw i64 %25, 2 %div21 = sdiv i64 %sub20, 2 %26 = load i64, ptr %__child, align 8 %cmp22 = icmp slt i64 %div21, %26 br i1 %cmp22, label %if.then23, label %if.end24 if.then23: ; preds = %do.body br label %do.end if.end24: ; preds = %do.body %27 = load i64, ptr %__child, align 8 %mul25 = mul nsw i64 2, %27 %add26 = add nsw i64 %mul25, 1 store i64 %add26, ptr %__child, align 8 %28 = load i64, ptr %__child, align 8 %call28 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 %28) #5 %29 = getelementptr inbounds { ptr, ptr }, ptr %ref.tmp27, i32 0, i32 0 %30 = extractvalue { ptr, ptr } %call28, 0 store ptr %30, ptr %29, align 8 %31 = getelementptr inbounds { ptr, ptr }, ptr %ref.tmp27, i32 0, i32 1 %32 = extractvalue { ptr, ptr } %call28, 1 store ptr %32, ptr %31, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__child_i, ptr align 8 %ref.tmp27, i64 16, i1 false) %33 = load i64, ptr %__child, align 8 %add29 = add nsw i64 %33, 1 %34 = load i64, ptr %__len.addr, align 8 %cmp30 = icmp slt i64 %add29, %34 br i1 %cmp30, label %land.rhs31, label %land.end37 land.rhs31: ; preds = %if.end24 %35 = load ptr, ptr %__comp.addr, align 8 %call32 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__child_i) #5 %call34 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__child_i, i64 1) #5 %36 = getelementptr inbounds { ptr, ptr }, ptr %ref.tmp33, i32 0, i32 0 %37 = extractvalue { ptr, ptr } %call34, 0 store ptr %37, ptr %36, align 8 %38 = getelementptr inbounds { ptr, ptr }, ptr %ref.tmp33, i32 0, i32 1 %39 = extractvalue { ptr, ptr } %call34, 1 store ptr %39, ptr %38, align 8 %call35 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %ref.tmp33) #5 %call36 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %35, ptr nonnull align 4 dereferenceable(4) %call32, ptr nonnull align 4 dereferenceable(4) %call35) #5 br label %land.end37 land.end37: ; preds = %land.rhs31, %if.end24 %40 = phi i1 [ false, %if.end24 ], [ %call36, %land.rhs31 ] br i1 %40, label %if.then38, label %if.end41 if.then38: ; preds = %land.end37 %call39 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEppB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__child_i) #5 %41 = load i64, ptr %__child, align 8 %inc40 = add nsw i64 %41, 1 store i64 %inc40, ptr %__child, align 8 br label %if.end41 if.end41: ; preds = %if.then38, %land.end37 br label %do.cond do.cond: ; preds = %if.end41 %42 = load ptr, ptr %__comp.addr, align 8 %call42 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__child_i) #5 %call43 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %42, ptr nonnull align 4 dereferenceable(4) %call42, ptr nonnull align 4 dereferenceable(4) %__top) #5 %lnot = xor i1 %call43, true br i1 %lnot, label %do.body, label %do.end.loopexit, !llvm.loop !298 do.end.loopexit: ; preds = %do.cond br label %do.end do.end: ; preds = %do.end.loopexit, %if.then23 %call44 = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__14moveB7v180000IRiEEOu20__remove_reference_tIT_EOS2_(ptr nonnull align 4 dereferenceable(4) %__top) #4 %43 = load i32, ptr %call44, align 4 %call45 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__start) #5 store i32 %43, ptr %call45, align 4 br label %return return: ; preds = %do.end, %if.then15, %if.then ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__111__sort_heapB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEvT1_SA_OT0_(ptr %__first.coerce0, ptr %__first.coerce1, ptr %__last.coerce0, ptr %__last.coerce1, ptr nonnull align 1 dereferenceable(1) %__comp) #0 { entry: %__first = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !299 %__last = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !300 %__comp.addr = alloca ptr, align 8, !clang.decl.ptr !301 %__saved_last = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !302 %__comp_ref = alloca ptr, align 8, !clang.decl.ptr !303 %__n = alloca i64, align 8, !clang.decl.ptr !304 %agg.tmp = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp1 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp3 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp4 = alloca %"class.std::__1::__deque_iterator", align 8 %0 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 0 store ptr %__first.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 1 store ptr %__first.coerce1, ptr %1, align 8 %2 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 0 store ptr %__last.coerce0, ptr %2, align 8 %3 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 1 store ptr %__last.coerce1, ptr %3, align 8 store ptr %__comp, ptr %__comp.addr, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__saved_last, ptr align 8 %__last, i64 16, i1 false) %4 = load ptr, ptr %__comp.addr, align 8 store ptr %4, ptr %__comp_ref, align 8 %call = call i64 @_ZNSt3__1miB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__last, ptr nonnull align 8 dereferenceable(16) %__first) #5 store i64 %call, ptr %__n, align 8 br label %for.cond for.cond: ; preds = %for.inc, %entry %5 = load i64, ptr %__n, align 8 %cmp = icmp sgt i64 %5, 1 br i1 %cmp, label %for.body, label %for.end for.body: ; preds = %for.cond call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp, ptr align 8 %__first, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp1, ptr align 8 %__last, i64 16, i1 false) %6 = load ptr, ptr %__comp_ref, align 8 %7 = load i64, ptr %__n, align 8 %8 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 0 %9 = load ptr, ptr %8, align 8 %10 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 1 %11 = load ptr, ptr %10, align 8 %12 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp1, i32 0, i32 0 %13 = load ptr, ptr %12, align 8 %14 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp1, i32 0, i32 1 %15 = load ptr, ptr %14, align 8 call void @_ZNSt3__110__pop_heapB7v180000INS_17_ClassicAlgPolicyENS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS5_lLl1024EEEEEvT1_S9_RT0_NS_15iterator_traitsIS9_E15difference_typeE(ptr %9, ptr %11, ptr %13, ptr %15, ptr nonnull align 1 dereferenceable(1) %6, i64 %7) #5 br label %for.inc for.inc: ; preds = %for.body %call2 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmmB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__last) #5 %16 = load i64, ptr %__n, align 8 %dec = add nsw i64 %16, -1 store i64 %dec, ptr %__n, align 8 br label %for.cond, !llvm.loop !305 for.end: ; preds = %for.cond call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp3, ptr align 8 %__first, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp4, ptr align 8 %__saved_last, i64 16, i1 false) %17 = load ptr, ptr %__comp_ref, align 8 %18 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp3, i32 0, i32 0 %19 = load ptr, ptr %18, align 8 %20 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp3, i32 0, i32 1 %21 = load ptr, ptr %20, align 8 %22 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp4, i32 0, i32 0 %23 = load ptr, ptr %22, align 8 %24 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp4, i32 0, i32 1 %25 = load ptr, ptr %24, align 8 call void @_ZNSt3__135__check_strict_weak_ordering_sortedB7v180000INS_16__deque_iteratorIiPiRiPS2_lLl1024EEENS_6__lessIvvEEEEvT_S8_RT0_(ptr %19, ptr %21, ptr %23, ptr %25, ptr nonnull align 1 dereferenceable(1) %17) #5 ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__110__pop_heapB7v180000INS_17_ClassicAlgPolicyENS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS5_lLl1024EEEEEvT1_S9_RT0_NS_15iterator_traitsIS9_E15difference_typeE(ptr %__first.coerce0, ptr %__first.coerce1, ptr %__last.coerce0, ptr %__last.coerce1, ptr nonnull align 1 dereferenceable(1) %__comp, i64 %__len) #0 { entry: %__first = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !306 %__last = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !307 %__comp.addr = alloca ptr, align 8, !clang.decl.ptr !308 %__len.addr = alloca i64, align 8, !clang.decl.ptr !309 %__comp_ref = alloca ptr, align 8, !clang.decl.ptr !310 %__top = alloca i32, align 4, !clang.decl.ptr !311 %__hole = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !312 %agg.tmp = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp12 = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp13 = alloca %"class.std::__1::__deque_iterator", align 8 %0 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 0 store ptr %__first.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 1 store ptr %__first.coerce1, ptr %1, align 8 %2 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 0 store ptr %__last.coerce0, ptr %2, align 8 %3 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 1 store ptr %__last.coerce1, ptr %3, align 8 store ptr %__comp, ptr %__comp.addr, align 8 store i64 %__len, ptr %__len.addr, align 8 %4 = load ptr, ptr %__comp.addr, align 8 store ptr %4, ptr %__comp_ref, align 8 %5 = load i64, ptr %__len.addr, align 8 %cmp = icmp sgt i64 %5, 1 br i1 %cmp, label %if.then, label %if.end15 if.then: ; preds = %entry %call = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE11__iter_moveB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEEEENS_9enable_ifIXsr12is_referenceIDTdeclsr3stdE7declvalIRT_EEEEE5valueEDTclsr3stdE4movedeclsr3stdE7declvalISC_EEEEE4typeEOSB_(ptr nonnull align 8 dereferenceable(16) %__first) #5 %6 = load i32, ptr %call, align 4 store i32 %6, ptr %__top, align 4 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp, ptr align 8 %__first, i64 16, i1 false) %7 = load ptr, ptr %__comp_ref, align 8 %8 = load i64, ptr %__len.addr, align 8 %9 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 0 %10 = load ptr, ptr %9, align 8 %11 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 1 %12 = load ptr, ptr %11, align 8 %call1 = call { ptr, ptr } @_ZNSt3__117__floyd_sift_downB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEET1_SA_OT0_NS_15iterator_traitsISA_E15difference_typeE(ptr %10, ptr %12, ptr nonnull align 1 dereferenceable(1) %7, i64 %8) #5 %13 = getelementptr inbounds { ptr, ptr }, ptr %__hole, i32 0, i32 0 %14 = extractvalue { ptr, ptr } %call1, 0 store ptr %14, ptr %13, align 8 %15 = getelementptr inbounds { ptr, ptr }, ptr %__hole, i32 0, i32 1 %16 = extractvalue { ptr, ptr } %call1, 1 store ptr %16, ptr %15, align 8 %call2 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmmB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__last) #5 %call3 = call zeroext i1 @_ZNSt3__1eqB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__hole, ptr nonnull align 8 dereferenceable(16) %__last) #5 br i1 %call3, label %if.then4, label %if.else if.then4: ; preds = %if.then %call5 = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__14moveB7v180000IRiEEOu20__remove_reference_tIT_EOS2_(ptr nonnull align 4 dereferenceable(4) %__top) #4 %17 = load i32, ptr %call5, align 4 %call6 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__hole) #5 store i32 %17, ptr %call6, align 4 br label %if.end if.else: ; preds = %if.then %call7 = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE11__iter_moveB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEEEENS_9enable_ifIXsr12is_referenceIDTdeclsr3stdE7declvalIRT_EEEEE5valueEDTclsr3stdE4movedeclsr3stdE7declvalISC_EEEEE4typeEOSB_(ptr nonnull align 8 dereferenceable(16) %__last) #5 %18 = load i32, ptr %call7, align 4 %call8 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__hole) #5 store i32 %18, ptr %call8, align 4 %call9 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEppB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__hole) #5 %call10 = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__14moveB7v180000IRiEEOu20__remove_reference_tIT_EOS2_(ptr nonnull align 4 dereferenceable(4) %__top) #4 %19 = load i32, ptr %call10, align 4 %call11 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__last) #5 store i32 %19, ptr %call11, align 4 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp12, ptr align 8 %__first, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp13, ptr align 8 %__hole, i64 16, i1 false) %20 = load ptr, ptr %__comp_ref, align 8 %call14 = call i64 @_ZNSt3__1miB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__hole, ptr nonnull align 8 dereferenceable(16) %__first) #5 %21 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp12, i32 0, i32 0 %22 = load ptr, ptr %21, align 8 %23 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp12, i32 0, i32 1 %24 = load ptr, ptr %23, align 8 %25 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp13, i32 0, i32 0 %26 = load ptr, ptr %25, align 8 %27 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp13, i32 0, i32 1 %28 = load ptr, ptr %27, align 8 call void @_ZNSt3__19__sift_upB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEvT1_SA_OT0_NS_15iterator_traitsISA_E15difference_typeE(ptr %22, ptr %24, ptr %26, ptr %28, ptr nonnull align 1 dereferenceable(1) %20, i64 %call14) #5 br label %if.end if.end: ; preds = %if.else, %if.then4 br label %if.end15 if.end15: ; preds = %if.end, %entry ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden { ptr, ptr } @_ZNSt3__117__floyd_sift_downB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEET1_SA_OT0_NS_15iterator_traitsISA_E15difference_typeE(ptr %__first.coerce0, ptr %__first.coerce1, ptr nonnull align 1 dereferenceable(1) %__comp, i64 %__len) #0 { entry: %retval = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !313 %__first = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !314 %__comp.addr = alloca ptr, align 8, !clang.decl.ptr !315 %__len.addr = alloca i64, align 8, !clang.decl.ptr !316 %__child_i = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !317 %__child = alloca i64, align 8, !clang.decl.ptr !318 %ref.tmp = alloca %"class.std::__1::__deque_iterator", align 8 %0 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 0 store ptr %__first.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 1 store ptr %__first.coerce1, ptr %1, align 8 store ptr %__comp, ptr %__comp.addr, align 8 store i64 %__len, ptr %__len.addr, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %retval, ptr align 8 %__first, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__child_i, ptr align 8 %__first, i64 16, i1 false) store i64 0, ptr %__child, align 8 br label %while.body while.body: ; preds = %entry, %if.end12 %2 = load i64, ptr %__child, align 8 %add = add nsw i64 %2, 1 %call = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEpLB7v180000El(ptr nonnull align 8 dereferenceable(16) %__child_i, i64 %add) #5 %3 = load i64, ptr %__child, align 8 %mul = mul nsw i64 2, %3 %add1 = add nsw i64 %mul, 1 store i64 %add1, ptr %__child, align 8 %4 = load i64, ptr %__child, align 8 %add2 = add nsw i64 %4, 1 %5 = load i64, ptr %__len.addr, align 8 %cmp = icmp slt i64 %add2, %5 br i1 %cmp, label %land.rhs, label %land.end land.rhs: ; preds = %while.body %6 = load ptr, ptr %__comp.addr, align 8 %call3 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__child_i) #5 %call4 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__child_i, i64 1) #5 %7 = getelementptr inbounds { ptr, ptr }, ptr %ref.tmp, i32 0, i32 0 %8 = extractvalue { ptr, ptr } %call4, 0 store ptr %8, ptr %7, align 8 %9 = getelementptr inbounds { ptr, ptr }, ptr %ref.tmp, i32 0, i32 1 %10 = extractvalue { ptr, ptr } %call4, 1 store ptr %10, ptr %9, align 8 %call5 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %ref.tmp) #5 %call6 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %6, ptr nonnull align 4 dereferenceable(4) %call3, ptr nonnull align 4 dereferenceable(4) %call5) #5 br label %land.end land.end: ; preds = %land.rhs, %while.body %11 = phi i1 [ false, %while.body ], [ %call6, %land.rhs ] br i1 %11, label %if.then, label %if.end if.then: ; preds = %land.end %call7 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEppB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__child_i) #5 %12 = load i64, ptr %__child, align 8 %inc = add nsw i64 %12, 1 store i64 %inc, ptr %__child, align 8 br label %if.end if.end: ; preds = %if.then, %land.end %call8 = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE11__iter_moveB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEEEENS_9enable_ifIXsr12is_referenceIDTdeclsr3stdE7declvalIRT_EEEEE5valueEDTclsr3stdE4movedeclsr3stdE7declvalISC_EEEEE4typeEOSB_(ptr nonnull align 8 dereferenceable(16) %__child_i) #5 %13 = load i32, ptr %call8, align 4 %call9 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %retval) #5 store i32 %13, ptr %call9, align 4 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %retval, ptr align 8 %__child_i, i64 16, i1 false) %14 = load i64, ptr %__child, align 8 %15 = load i64, ptr %__len.addr, align 8 %sub = sub nsw i64 %15, 2 %div = sdiv i64 %sub, 2 %cmp10 = icmp sgt i64 %14, %div br i1 %cmp10, label %if.then11, label %if.end12 if.then11: ; preds = %if.end %16 = load { ptr, ptr }, ptr %retval, align 8 ret { ptr, ptr } %16 if.end12: ; preds = %if.end br label %while.body, !llvm.loop !319 } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__19__sift_upB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEvT1_SA_OT0_NS_15iterator_traitsISA_E15difference_typeE(ptr %__first.coerce0, ptr %__first.coerce1, ptr %__last.coerce0, ptr %__last.coerce1, ptr nonnull align 1 dereferenceable(1) %__comp, i64 %__len) #0 { entry: %__first = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !320 %__last = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !321 %__comp.addr = alloca ptr, align 8, !clang.decl.ptr !322 %__len.addr = alloca i64, align 8, !clang.decl.ptr !323 %__ptr = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !324 %__t = alloca i32, align 4, !clang.decl.ptr !325 %ref.tmp = alloca %"class.std::__1::__deque_iterator", align 8 %0 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 0 store ptr %__first.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 1 store ptr %__first.coerce1, ptr %1, align 8 %2 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 0 store ptr %__last.coerce0, ptr %2, align 8 %3 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 1 store ptr %__last.coerce1, ptr %3, align 8 store ptr %__comp, ptr %__comp.addr, align 8 store i64 %__len, ptr %__len.addr, align 8 %4 = load i64, ptr %__len.addr, align 8 %cmp = icmp sgt i64 %4, 1 br i1 %cmp, label %if.then, label %if.end19 if.then: ; preds = %entry %5 = load i64, ptr %__len.addr, align 8 %sub = sub nsw i64 %5, 2 %div = sdiv i64 %sub, 2 store i64 %div, ptr %__len.addr, align 8 %6 = load i64, ptr %__len.addr, align 8 %call = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 %6) #5 %7 = getelementptr inbounds { ptr, ptr }, ptr %__ptr, i32 0, i32 0 %8 = extractvalue { ptr, ptr } %call, 0 store ptr %8, ptr %7, align 8 %9 = getelementptr inbounds { ptr, ptr }, ptr %__ptr, i32 0, i32 1 %10 = extractvalue { ptr, ptr } %call, 1 store ptr %10, ptr %9, align 8 %11 = load ptr, ptr %__comp.addr, align 8 %call1 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__ptr) #5 %call2 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmmB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__last) #5 %call3 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %call2) #5 %call4 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %11, ptr nonnull align 4 dereferenceable(4) %call1, ptr nonnull align 4 dereferenceable(4) %call3) #5 br i1 %call4, label %if.then5, label %if.end18 if.then5: ; preds = %if.then %call6 = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE11__iter_moveB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEEEENS_9enable_ifIXsr12is_referenceIDTdeclsr3stdE7declvalIRT_EEEEE5valueEDTclsr3stdE4movedeclsr3stdE7declvalISC_EEEEE4typeEOSB_(ptr nonnull align 8 dereferenceable(16) %__last) #5 %12 = load i32, ptr %call6, align 4 store i32 %12, ptr %__t, align 4 br label %do.body do.body: ; preds = %do.cond, %if.then5 %call7 = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE11__iter_moveB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEEEENS_9enable_ifIXsr12is_referenceIDTdeclsr3stdE7declvalIRT_EEEEE5valueEDTclsr3stdE4movedeclsr3stdE7declvalISC_EEEEE4typeEOSB_(ptr nonnull align 8 dereferenceable(16) %__ptr) #5 %13 = load i32, ptr %call7, align 4 %call8 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__last) #5 store i32 %13, ptr %call8, align 4 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__last, ptr align 8 %__ptr, i64 16, i1 false) %14 = load i64, ptr %__len.addr, align 8 %cmp9 = icmp eq i64 %14, 0 br i1 %cmp9, label %if.then10, label %if.end if.then10: ; preds = %do.body br label %do.end if.end: ; preds = %do.body %15 = load i64, ptr %__len.addr, align 8 %sub11 = sub nsw i64 %15, 1 %div12 = sdiv i64 %sub11, 2 store i64 %div12, ptr %__len.addr, align 8 %16 = load i64, ptr %__len.addr, align 8 %call13 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 %16) #5 %17 = getelementptr inbounds { ptr, ptr }, ptr %ref.tmp, i32 0, i32 0 %18 = extractvalue { ptr, ptr } %call13, 0 store ptr %18, ptr %17, align 8 %19 = getelementptr inbounds { ptr, ptr }, ptr %ref.tmp, i32 0, i32 1 %20 = extractvalue { ptr, ptr } %call13, 1 store ptr %20, ptr %19, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__ptr, ptr align 8 %ref.tmp, i64 16, i1 false) br label %do.cond do.cond: ; preds = %if.end %21 = load ptr, ptr %__comp.addr, align 8 %call14 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__ptr) #5 %call15 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %21, ptr nonnull align 4 dereferenceable(4) %call14, ptr nonnull align 4 dereferenceable(4) %__t) #5 br i1 %call15, label %do.body, label %do.end.loopexit, !llvm.loop !326 do.end.loopexit: ; preds = %do.cond br label %do.end do.end: ; preds = %do.end.loopexit, %if.then10 %call16 = call nonnull align 4 dereferenceable(4) ptr @_ZNSt3__14moveB7v180000IRiEEOu20__remove_reference_tIT_EOS2_(ptr nonnull align 4 dereferenceable(4) %__t) #4 %22 = load i32, ptr %call16, align 4 %call17 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__last) #5 store i32 %22, ptr %call17, align 4 br label %if.end18 if.end18: ; preds = %do.end, %if.then br label %if.end19 if.end19: ; preds = %if.end18, %entry ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmIB7v180000El(ptr nonnull align 8 dereferenceable(16) %this, i64 %__n) #0 align 2 { entry: %this.addr = alloca ptr, align 8, !clang.decl.ptr !327 %__n.addr = alloca i64, align 8, !clang.decl.ptr !328 store ptr %this, ptr %this.addr, align 8 store i64 %__n, ptr %__n.addr, align 8 %this1 = load ptr, ptr %this.addr, align 8 %0 = load i64, ptr %__n.addr, align 8 %sub = sub nsw i64 0, %0 %call = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEpLB7v180000El(ptr nonnull align 8 dereferenceable(16) %this1, i64 %sub) #5 ret ptr %call } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden nonnull align 8 dereferenceable(16) ptr @_ZNSt3__17forwardB7v180000INS_16__deque_iteratorIiPiRiPS2_lLl1024EEEEEOT_Ru20__remove_reference_tIS6_E(ptr nonnull align 8 dereferenceable(16) %__t) #0 { entry: %__t.addr = alloca ptr, align 8, !clang.decl.ptr !329 store ptr %__t, ptr %__t.addr, align 8 %0 = load ptr, ptr %__t.addr, align 8 ret ptr %0 } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden zeroext i1 @_ZNSt3__1ltB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__x, ptr nonnull align 8 dereferenceable(16) %__y) #0 { entry: %__x.addr = alloca ptr, align 8, !clang.decl.ptr !330 %__y.addr = alloca ptr, align 8, !clang.decl.ptr !331 store ptr %__x, ptr %__x.addr, align 8 store ptr %__y, ptr %__y.addr, align 8 %0 = load ptr, ptr %__x.addr, align 8 %__m_iter_ = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %0, i32 0, i32 0 %1 = load ptr, ptr %__m_iter_, align 8 %2 = load ptr, ptr %__y.addr, align 8 %__m_iter_1 = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %2, i32 0, i32 0 %3 = load ptr, ptr %__m_iter_1, align 8 %cmp = icmp ult ptr %1, %3 br i1 %cmp, label %lor.end, label %lor.rhs lor.rhs: ; preds = %entry %4 = load ptr, ptr %__x.addr, align 8 %__m_iter_2 = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %4, i32 0, i32 0 %5 = load ptr, ptr %__m_iter_2, align 8 %6 = load ptr, ptr %__y.addr, align 8 %__m_iter_3 = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %6, i32 0, i32 0 %7 = load ptr, ptr %__m_iter_3, align 8 %cmp4 = icmp eq ptr %5, %7 br i1 %cmp4, label %land.rhs, label %land.end land.rhs: ; preds = %lor.rhs %8 = load ptr, ptr %__x.addr, align 8 %__ptr_ = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %8, i32 0, i32 1 %9 = load ptr, ptr %__ptr_, align 8 %10 = load ptr, ptr %__y.addr, align 8 %__ptr_5 = getelementptr inbounds %"class.std::__1::__deque_iterator", ptr %10, i32 0, i32 1 %11 = load ptr, ptr %__ptr_5, align 8 %cmp6 = icmp ult ptr %9, %11 br label %land.end land.end: ; preds = %land.rhs, %lor.rhs %12 = phi i1 [ false, %lor.rhs ], [ %cmp6, %land.rhs ] br label %lor.end lor.end: ; preds = %land.end, %entry %13 = phi i1 [ true, %entry ], [ %12, %land.end ] ret i1 %13 } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden zeroext i1 @_ZNSt3__1geB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__x, ptr nonnull align 8 dereferenceable(16) %__y) #0 { entry: %__x.addr = alloca ptr, align 8, !clang.decl.ptr !332 %__y.addr = alloca ptr, align 8, !clang.decl.ptr !333 store ptr %__x, ptr %__x.addr, align 8 store ptr %__y, ptr %__y.addr, align 8 %0 = load ptr, ptr %__x.addr, align 8 %1 = load ptr, ptr %__y.addr, align 8 %call = call zeroext i1 @_ZNSt3__1ltB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %0, ptr nonnull align 8 dereferenceable(16) %1) #5 %lnot = xor i1 %call, true ret i1 %lnot } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__122__populate_left_bitsetB7v180000IRNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS5_lLl1024EEEiEEvT0_T_RT1_Ry(ptr %__first.coerce0, ptr %__first.coerce1, ptr nonnull align 1 dereferenceable(1) %__comp, ptr nonnull align 4 dereferenceable(4) %__pivot, ptr nonnull align 8 dereferenceable(8) %__left_bitset) #0 { entry: %__first = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !334 %__comp.addr = alloca ptr, align 8, !clang.decl.ptr !335 %__pivot.addr = alloca ptr, align 8, !clang.decl.ptr !336 %__left_bitset.addr = alloca ptr, align 8, !clang.decl.ptr !337 %__iter = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !338 %__j = alloca i32, align 4, !clang.decl.ptr !339 %__comp_result = alloca i8, align 1, !clang.decl.ptr !340 %0 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 0 store ptr %__first.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 1 store ptr %__first.coerce1, ptr %1, align 8 store ptr %__comp, ptr %__comp.addr, align 8 store ptr %__pivot, ptr %__pivot.addr, align 8 store ptr %__left_bitset, ptr %__left_bitset.addr, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__iter, ptr align 8 %__first, i64 16, i1 false) store i32 0, ptr %__j, align 4 br label %for.cond for.cond: ; preds = %for.body, %entry %2 = load i32, ptr %__j, align 4 %cmp = icmp slt i32 %2, 64 br i1 %cmp, label %for.body, label %for.end for.body: ; preds = %for.cond %3 = load ptr, ptr %__comp.addr, align 8 %call = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__iter) #5 %4 = load ptr, ptr %__pivot.addr, align 8 %call1 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %3, ptr nonnull align 4 dereferenceable(4) %call, ptr nonnull align 4 dereferenceable(4) %4) #5 %lnot = xor i1 %call1, true %frombool = zext i1 %lnot to i8 store i8 %frombool, ptr %__comp_result, align 1 %5 = load i8, ptr %__comp_result, align 1 %tobool = trunc i8 %5 to i1 %conv = zext i1 %tobool to i64 %6 = load i32, ptr %__j, align 4 %sh_prom = zext i32 %6 to i64 %shl = shl i64 %conv, %sh_prom %7 = load ptr, ptr %__left_bitset.addr, align 8 %8 = load i64, ptr %7, align 8 %or = or i64 %8, %shl store i64 %or, ptr %7, align 8 %9 = load i32, ptr %__j, align 4 %inc = add nsw i32 %9, 1 store i32 %inc, ptr %__j, align 4 %call2 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEppB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__iter) #5 br label %for.cond, !llvm.loop !341 for.end: ; preds = %for.cond ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__123__populate_right_bitsetB7v180000IRNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS5_lLl1024EEEiEEvT0_T_RT1_Ry(ptr %__lm1.coerce0, ptr %__lm1.coerce1, ptr nonnull align 1 dereferenceable(1) %__comp, ptr nonnull align 4 dereferenceable(4) %__pivot, ptr nonnull align 8 dereferenceable(8) %__right_bitset) #0 { entry: %__lm1 = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !342 %__comp.addr = alloca ptr, align 8, !clang.decl.ptr !343 %__pivot.addr = alloca ptr, align 8, !clang.decl.ptr !344 %__right_bitset.addr = alloca ptr, align 8, !clang.decl.ptr !345 %__iter = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !346 %__j = alloca i32, align 4, !clang.decl.ptr !347 %__comp_result = alloca i8, align 1, !clang.decl.ptr !348 %0 = getelementptr inbounds { ptr, ptr }, ptr %__lm1, i32 0, i32 0 store ptr %__lm1.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__lm1, i32 0, i32 1 store ptr %__lm1.coerce1, ptr %1, align 8 store ptr %__comp, ptr %__comp.addr, align 8 store ptr %__pivot, ptr %__pivot.addr, align 8 store ptr %__right_bitset, ptr %__right_bitset.addr, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__iter, ptr align 8 %__lm1, i64 16, i1 false) store i32 0, ptr %__j, align 4 br label %for.cond for.cond: ; preds = %for.body, %entry %2 = load i32, ptr %__j, align 4 %cmp = icmp slt i32 %2, 64 br i1 %cmp, label %for.body, label %for.end for.body: ; preds = %for.cond %3 = load ptr, ptr %__comp.addr, align 8 %call = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__iter) #5 %4 = load ptr, ptr %__pivot.addr, align 8 %call1 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %3, ptr nonnull align 4 dereferenceable(4) %call, ptr nonnull align 4 dereferenceable(4) %4) #5 %frombool = zext i1 %call1 to i8 store i8 %frombool, ptr %__comp_result, align 1 %5 = load i8, ptr %__comp_result, align 1 %tobool = trunc i8 %5 to i1 %conv = zext i1 %tobool to i64 %6 = load i32, ptr %__j, align 4 %sh_prom = zext i32 %6 to i64 %shl = shl i64 %conv, %sh_prom %7 = load ptr, ptr %__right_bitset.addr, align 8 %8 = load i64, ptr %7, align 8 %or = or i64 %8, %shl store i64 %or, ptr %7, align 8 %9 = load i32, ptr %__j, align 4 %inc = add nsw i32 %9, 1 store i32 %inc, ptr %__j, align 4 %call2 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmmB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__iter) #5 br label %for.cond, !llvm.loop !349 for.end: ; preds = %for.cond ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__117__swap_bitmap_posB7v180000INS_17_ClassicAlgPolicyENS_16__deque_iteratorIiPiRiPS3_lLl1024EEEEEvT0_S7_RyS8_(ptr %__first.coerce0, ptr %__first.coerce1, ptr %__last.coerce0, ptr %__last.coerce1, ptr nonnull align 8 dereferenceable(8) %__left_bitset, ptr nonnull align 8 dereferenceable(8) %__right_bitset) #0 { entry: %__first = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !350 %__last = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !351 %__left_bitset.addr = alloca ptr, align 8, !clang.decl.ptr !352 %__right_bitset.addr = alloca ptr, align 8, !clang.decl.ptr !353 %__tz_left = alloca i64, align 8, !clang.decl.ptr !354 %__tz_right = alloca i64, align 8, !clang.decl.ptr !355 %ref.tmp = alloca %"class.std::__1::__deque_iterator", align 8 %ref.tmp7 = alloca %"class.std::__1::__deque_iterator", align 8 %0 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 0 store ptr %__first.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__first, i32 0, i32 1 store ptr %__first.coerce1, ptr %1, align 8 %2 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 0 store ptr %__last.coerce0, ptr %2, align 8 %3 = getelementptr inbounds { ptr, ptr }, ptr %__last, i32 0, i32 1 store ptr %__last.coerce1, ptr %3, align 8 store ptr %__left_bitset, ptr %__left_bitset.addr, align 8 store ptr %__right_bitset, ptr %__right_bitset.addr, align 8 br label %while.cond while.cond: ; preds = %while.body, %entry %4 = load ptr, ptr %__left_bitset.addr, align 8 %5 = load i64, ptr %4, align 8 %cmp = icmp ne i64 %5, 0 br i1 %cmp, label %land.rhs, label %land.end land.rhs: ; preds = %while.cond %6 = load ptr, ptr %__right_bitset.addr, align 8 %7 = load i64, ptr %6, align 8 %cmp1 = icmp ne i64 %7, 0 br label %land.end land.end: ; preds = %land.rhs, %while.cond %8 = phi i1 [ false, %while.cond ], [ %cmp1, %land.rhs ] br i1 %8, label %while.body, label %while.end while.body: ; preds = %land.end %9 = load ptr, ptr %__left_bitset.addr, align 8 %10 = load i64, ptr %9, align 8 %call = call i32 @_ZNSt3__112__libcpp_ctzB7v180000Ey(i64 %10) #4 %conv = sext i32 %call to i64 store i64 %conv, ptr %__tz_left, align 8 %11 = load ptr, ptr %__left_bitset.addr, align 8 %12 = load i64, ptr %11, align 8 %call2 = call i64 @_ZNSt3__113__libcpp_blsrB7v180000Ey(i64 %12) #4 %13 = load ptr, ptr %__left_bitset.addr, align 8 store i64 %call2, ptr %13, align 8 %14 = load ptr, ptr %__right_bitset.addr, align 8 %15 = load i64, ptr %14, align 8 %call3 = call i32 @_ZNSt3__112__libcpp_ctzB7v180000Ey(i64 %15) #4 %conv4 = sext i32 %call3 to i64 store i64 %conv4, ptr %__tz_right, align 8 %16 = load ptr, ptr %__right_bitset.addr, align 8 %17 = load i64, ptr %16, align 8 %call5 = call i64 @_ZNSt3__113__libcpp_blsrB7v180000Ey(i64 %17) #4 %18 = load ptr, ptr %__right_bitset.addr, align 8 store i64 %call5, ptr %18, align 8 %19 = load i64, ptr %__tz_left, align 8 %call6 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %__first, i64 %19) #5 %20 = getelementptr inbounds { ptr, ptr }, ptr %ref.tmp, i32 0, i32 0 %21 = extractvalue { ptr, ptr } %call6, 0 store ptr %21, ptr %20, align 8 %22 = getelementptr inbounds { ptr, ptr }, ptr %ref.tmp, i32 0, i32 1 %23 = extractvalue { ptr, ptr } %call6, 1 store ptr %23, ptr %22, align 8 %24 = load i64, ptr %__tz_right, align 8 %call8 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmiB7v180000El(ptr nonnull align 8 dereferenceable(16) %__last, i64 %24) #5 %25 = getelementptr inbounds { ptr, ptr }, ptr %ref.tmp7, i32 0, i32 0 %26 = extractvalue { ptr, ptr } %call8, 0 store ptr %26, ptr %25, align 8 %27 = getelementptr inbounds { ptr, ptr }, ptr %ref.tmp7, i32 0, i32 1 %28 = extractvalue { ptr, ptr } %call8, 1 store ptr %28, ptr %27, align 8 call void @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE9iter_swapB7v180000INS_16__deque_iteratorIiPiRiPS5_lLl1024EEES8_EEvOT_OT0_(ptr nonnull align 8 dereferenceable(16) %ref.tmp, ptr nonnull align 8 dereferenceable(16) %ref.tmp7) #5 br label %while.cond, !llvm.loop !356 while.end: ; preds = %land.end ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__133__bitset_partition_partial_blocksB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEiEEvRT1_SB_T0_RT2_RySF_(ptr nonnull align 8 dereferenceable(16) %__first, ptr nonnull align 8 dereferenceable(16) %__lm1, ptr nonnull align 1 dereferenceable(1) %__comp, ptr nonnull align 4 dereferenceable(4) %__pivot, ptr nonnull align 8 dereferenceable(8) %__left_bitset, ptr nonnull align 8 dereferenceable(8) %__right_bitset) #0 { entry: %__first.addr = alloca ptr, align 8, !clang.decl.ptr !357 %__lm1.addr = alloca ptr, align 8, !clang.decl.ptr !358 %__comp.addr = alloca ptr, align 8, !clang.decl.ptr !359 %__pivot.addr = alloca ptr, align 8, !clang.decl.ptr !360 %__left_bitset.addr = alloca ptr, align 8, !clang.decl.ptr !361 %__right_bitset.addr = alloca ptr, align 8, !clang.decl.ptr !362 %__remaining_len = alloca i64, align 8, !clang.decl.ptr !363 %__l_size = alloca i64, align 8, !clang.decl.ptr !364 %__r_size = alloca i64, align 8, !clang.decl.ptr !365 %__iter = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !366 %__j = alloca i32, align 4, !clang.decl.ptr !367 %__comp_result = alloca i8, align 1, !clang.decl.ptr !368 %__iter18 = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !369 %__j19 = alloca i32, align 4, !clang.decl.ptr !370 %__comp_result24 = alloca i8, align 1, !clang.decl.ptr !371 %agg.tmp = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp38 = alloca %"class.std::__1::__deque_iterator", align 8 store ptr %__first, ptr %__first.addr, align 8 store ptr %__lm1, ptr %__lm1.addr, align 8 store ptr %__comp, ptr %__comp.addr, align 8 store ptr %__pivot, ptr %__pivot.addr, align 8 store ptr %__left_bitset, ptr %__left_bitset.addr, align 8 store ptr %__right_bitset, ptr %__right_bitset.addr, align 8 %0 = load ptr, ptr %__lm1.addr, align 8 %1 = load ptr, ptr %__first.addr, align 8 %call = call i64 @_ZNSt3__1miB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %0, ptr nonnull align 8 dereferenceable(16) %1) #5 %add = add nsw i64 %call, 1 store i64 %add, ptr %__remaining_len, align 8 %2 = load ptr, ptr %__left_bitset.addr, align 8 %3 = load i64, ptr %2, align 8 %cmp = icmp eq i64 %3, 0 br i1 %cmp, label %land.lhs.true, label %if.else land.lhs.true: ; preds = %entry %4 = load ptr, ptr %__right_bitset.addr, align 8 %5 = load i64, ptr %4, align 8 %cmp1 = icmp eq i64 %5, 0 br i1 %cmp1, label %if.then, label %if.else if.then: ; preds = %land.lhs.true %6 = load i64, ptr %__remaining_len, align 8 %div = sdiv i64 %6, 2 store i64 %div, ptr %__l_size, align 8 %7 = load i64, ptr %__remaining_len, align 8 %8 = load i64, ptr %__l_size, align 8 %sub = sub nsw i64 %7, %8 store i64 %sub, ptr %__r_size, align 8 br label %if.end7 if.else: ; preds = %land.lhs.true, %entry %9 = load ptr, ptr %__left_bitset.addr, align 8 %10 = load i64, ptr %9, align 8 %cmp2 = icmp eq i64 %10, 0 br i1 %cmp2, label %if.then3, label %if.else5 if.then3: ; preds = %if.else %11 = load i64, ptr %__remaining_len, align 8 %sub4 = sub nsw i64 %11, 64 store i64 %sub4, ptr %__l_size, align 8 store i64 64, ptr %__r_size, align 8 br label %if.end if.else5: ; preds = %if.else store i64 64, ptr %__l_size, align 8 %12 = load i64, ptr %__remaining_len, align 8 %sub6 = sub nsw i64 %12, 64 store i64 %sub6, ptr %__r_size, align 8 br label %if.end if.end: ; preds = %if.else5, %if.then3 br label %if.end7 if.end7: ; preds = %if.end, %if.then %13 = load ptr, ptr %__left_bitset.addr, align 8 %14 = load i64, ptr %13, align 8 %cmp8 = icmp eq i64 %14, 0 br i1 %cmp8, label %if.then9, label %if.end15 if.then9: ; preds = %if.end7 %15 = load ptr, ptr %__first.addr, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__iter, ptr align 8 %15, i64 16, i1 false) store i32 0, ptr %__j, align 4 br label %for.cond for.cond: ; preds = %for.inc, %if.then9 %16 = load i32, ptr %__j, align 4 %conv = sext i32 %16 to i64 %17 = load i64, ptr %__l_size, align 8 %cmp10 = icmp slt i64 %conv, %17 br i1 %cmp10, label %for.body, label %for.end for.body: ; preds = %for.cond %18 = load ptr, ptr %__comp.addr, align 8 %call11 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__iter) #5 %19 = load ptr, ptr %__pivot.addr, align 8 %call12 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %18, ptr nonnull align 4 dereferenceable(4) %call11, ptr nonnull align 4 dereferenceable(4) %19) #5 %lnot = xor i1 %call12, true %frombool = zext i1 %lnot to i8 store i8 %frombool, ptr %__comp_result, align 1 %20 = load i8, ptr %__comp_result, align 1 %tobool = trunc i8 %20 to i1 %conv13 = zext i1 %tobool to i64 %21 = load i32, ptr %__j, align 4 %sh_prom = zext i32 %21 to i64 %shl = shl i64 %conv13, %sh_prom %22 = load ptr, ptr %__left_bitset.addr, align 8 %23 = load i64, ptr %22, align 8 %or = or i64 %23, %shl store i64 %or, ptr %22, align 8 %call14 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEppB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__iter) #5 br label %for.inc for.inc: ; preds = %for.body %24 = load i32, ptr %__j, align 4 %inc = add nsw i32 %24, 1 store i32 %inc, ptr %__j, align 4 br label %for.cond, !llvm.loop !372 for.end: ; preds = %for.cond br label %if.end15 if.end15: ; preds = %for.end, %if.end7 %25 = load ptr, ptr %__right_bitset.addr, align 8 %26 = load i64, ptr %25, align 8 %cmp16 = icmp eq i64 %26, 0 br i1 %cmp16, label %if.then17, label %if.end37 if.then17: ; preds = %if.end15 %27 = load ptr, ptr %__lm1.addr, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %__iter18, ptr align 8 %27, i64 16, i1 false) store i32 0, ptr %__j19, align 4 br label %for.cond20 for.cond20: ; preds = %for.inc34, %if.then17 %28 = load i32, ptr %__j19, align 4 %conv21 = sext i32 %28 to i64 %29 = load i64, ptr %__r_size, align 8 %cmp22 = icmp slt i64 %conv21, %29 br i1 %cmp22, label %for.body23, label %for.end36 for.body23: ; preds = %for.cond20 %30 = load ptr, ptr %__comp.addr, align 8 %call25 = call nonnull align 4 dereferenceable(4) ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__iter18) #5 %31 = load ptr, ptr %__pivot.addr, align 8 %call26 = call zeroext i1 @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_(ptr nonnull align 1 dereferenceable(1) %30, ptr nonnull align 4 dereferenceable(4) %call25, ptr nonnull align 4 dereferenceable(4) %31) #5 %frombool27 = zext i1 %call26 to i8 store i8 %frombool27, ptr %__comp_result24, align 1 %32 = load i8, ptr %__comp_result24, align 1 %tobool28 = trunc i8 %32 to i1 %conv29 = zext i1 %tobool28 to i64 %33 = load i32, ptr %__j19, align 4 %sh_prom30 = zext i32 %33 to i64 %shl31 = shl i64 %conv29, %sh_prom30 %34 = load ptr, ptr %__right_bitset.addr, align 8 %35 = load i64, ptr %34, align 8 %or32 = or i64 %35, %shl31 store i64 %or32, ptr %34, align 8 %call33 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmmB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %__iter18) #5 br label %for.inc34 for.inc34: ; preds = %for.body23 %36 = load i32, ptr %__j19, align 4 %inc35 = add nsw i32 %36, 1 store i32 %inc35, ptr %__j19, align 4 br label %for.cond20, !llvm.loop !373 for.end36: ; preds = %for.cond20 br label %if.end37 if.end37: ; preds = %for.end36, %if.end15 %37 = load ptr, ptr %__first.addr, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp, ptr align 8 %37, i64 16, i1 false) %38 = load ptr, ptr %__lm1.addr, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp38, ptr align 8 %38, i64 16, i1 false) %39 = load ptr, ptr %__left_bitset.addr, align 8 %40 = load ptr, ptr %__right_bitset.addr, align 8 %41 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 0 %42 = load ptr, ptr %41, align 8 %43 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 1 %44 = load ptr, ptr %43, align 8 %45 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp38, i32 0, i32 0 %46 = load ptr, ptr %45, align 8 %47 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp38, i32 0, i32 1 %48 = load ptr, ptr %47, align 8 call void @_ZNSt3__117__swap_bitmap_posB7v180000INS_17_ClassicAlgPolicyENS_16__deque_iteratorIiPiRiPS3_lLl1024EEEEEvT0_S7_RyS8_(ptr %42, ptr %44, ptr %46, ptr %48, ptr nonnull align 8 dereferenceable(8) %39, ptr nonnull align 8 dereferenceable(8) %40) #5 %49 = load ptr, ptr %__left_bitset.addr, align 8 %50 = load i64, ptr %49, align 8 %cmp39 = icmp eq i64 %50, 0 br i1 %cmp39, label %cond.true, label %cond.false cond.true: ; preds = %if.end37 %51 = load i64, ptr %__l_size, align 8 br label %cond.end cond.false: ; preds = %if.end37 br label %cond.end cond.end: ; preds = %cond.false, %cond.true %cond = phi i64 [ %51, %cond.true ], [ 0, %cond.false ] %52 = load ptr, ptr %__first.addr, align 8 %call40 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEpLB7v180000El(ptr nonnull align 8 dereferenceable(16) %52, i64 %cond) #5 %53 = load ptr, ptr %__right_bitset.addr, align 8 %54 = load i64, ptr %53, align 8 %cmp41 = icmp eq i64 %54, 0 br i1 %cmp41, label %cond.true42, label %cond.false43 cond.true42: ; preds = %cond.end %55 = load i64, ptr %__r_size, align 8 br label %cond.end44 cond.false43: ; preds = %cond.end br label %cond.end44 cond.end44: ; preds = %cond.false43, %cond.true42 %cond45 = phi i64 [ %55, %cond.true42 ], [ 0, %cond.false43 ] %56 = load ptr, ptr %__lm1.addr, align 8 %call46 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmIB7v180000El(ptr nonnull align 8 dereferenceable(16) %56, i64 %cond45) #5 ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__124__swap_bitmap_pos_withinB7v180000INS_17_ClassicAlgPolicyENS_16__deque_iteratorIiPiRiPS3_lLl1024EEEEEvRT0_S8_RyS9_(ptr nonnull align 8 dereferenceable(16) %__first, ptr nonnull align 8 dereferenceable(16) %__lm1, ptr nonnull align 8 dereferenceable(8) %__left_bitset, ptr nonnull align 8 dereferenceable(8) %__right_bitset) #0 { entry: %__first.addr = alloca ptr, align 8, !clang.decl.ptr !374 %__lm1.addr = alloca ptr, align 8, !clang.decl.ptr !375 %__left_bitset.addr = alloca ptr, align 8, !clang.decl.ptr !376 %__right_bitset.addr = alloca ptr, align 8, !clang.decl.ptr !377 %__tz_left = alloca i64, align 8, !clang.decl.ptr !378 %__it = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !379 %ref.tmp = alloca %"class.std::__1::__deque_iterator", align 8 %__tz_right = alloca i64, align 8, !clang.decl.ptr !380 %__it18 = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !381 store ptr %__first, ptr %__first.addr, align 8 store ptr %__lm1, ptr %__lm1.addr, align 8 store ptr %__left_bitset, ptr %__left_bitset.addr, align 8 store ptr %__right_bitset, ptr %__right_bitset.addr, align 8 %0 = load ptr, ptr %__left_bitset.addr, align 8 %1 = load i64, ptr %0, align 8 %tobool = icmp ne i64 %1, 0 br i1 %tobool, label %if.then, label %if.else if.then: ; preds = %entry br label %while.cond while.cond: ; preds = %if.end, %if.then %2 = load ptr, ptr %__left_bitset.addr, align 8 %3 = load i64, ptr %2, align 8 %cmp = icmp ne i64 %3, 0 br i1 %cmp, label %while.body, label %while.end while.body: ; preds = %while.cond %4 = load ptr, ptr %__left_bitset.addr, align 8 %5 = load i64, ptr %4, align 8 %call = call i32 @_ZNSt3__112__libcpp_clzB7v180000Ey(i64 %5) #4 %sub = sub nsw i32 63, %call %conv = sext i32 %sub to i64 store i64 %conv, ptr %__tz_left, align 8 %6 = load i64, ptr %__tz_left, align 8 %shl = shl i64 1, %6 %sub1 = sub i64 %shl, 1 %7 = load ptr, ptr %__left_bitset.addr, align 8 %8 = load i64, ptr %7, align 8 %and = and i64 %8, %sub1 store i64 %and, ptr %7, align 8 %9 = load ptr, ptr %__first.addr, align 8 %10 = load i64, ptr %__tz_left, align 8 %call2 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %9, i64 %10) #5 %11 = getelementptr inbounds { ptr, ptr }, ptr %__it, i32 0, i32 0 %12 = extractvalue { ptr, ptr } %call2, 0 store ptr %12, ptr %11, align 8 %13 = getelementptr inbounds { ptr, ptr }, ptr %__it, i32 0, i32 1 %14 = extractvalue { ptr, ptr } %call2, 1 store ptr %14, ptr %13, align 8 %15 = load ptr, ptr %__lm1.addr, align 8 %call3 = call zeroext i1 @_ZNSt3__1neB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__it, ptr nonnull align 8 dereferenceable(16) %15) #5 br i1 %call3, label %if.then4, label %if.end if.then4: ; preds = %while.body %16 = load ptr, ptr %__lm1.addr, align 8 call void @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE9iter_swapB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEES9_EEvOT_OT0_(ptr nonnull align 8 dereferenceable(16) %__it, ptr nonnull align 8 dereferenceable(16) %16) #5 br label %if.end if.end: ; preds = %if.then4, %while.body %17 = load ptr, ptr %__lm1.addr, align 8 %call5 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmmB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %17) #5 br label %while.cond, !llvm.loop !382 while.end: ; preds = %while.cond %18 = load ptr, ptr %__lm1.addr, align 8 %call6 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El(ptr nonnull align 8 dereferenceable(16) %18, i64 1) #5 %19 = getelementptr inbounds { ptr, ptr }, ptr %ref.tmp, i32 0, i32 0 %20 = extractvalue { ptr, ptr } %call6, 0 store ptr %20, ptr %19, align 8 %21 = getelementptr inbounds { ptr, ptr }, ptr %ref.tmp, i32 0, i32 1 %22 = extractvalue { ptr, ptr } %call6, 1 store ptr %22, ptr %21, align 8 %23 = load ptr, ptr %__first.addr, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %23, ptr align 8 %ref.tmp, i64 16, i1 false) br label %if.end26 if.else: ; preds = %entry %24 = load ptr, ptr %__right_bitset.addr, align 8 %25 = load i64, ptr %24, align 8 %tobool7 = icmp ne i64 %25, 0 br i1 %tobool7, label %if.then8, label %if.end25 if.then8: ; preds = %if.else br label %while.cond9 while.cond9: ; preds = %if.end22, %if.then8 %26 = load ptr, ptr %__right_bitset.addr, align 8 %27 = load i64, ptr %26, align 8 %cmp10 = icmp ne i64 %27, 0 br i1 %cmp10, label %while.body11, label %while.end24 while.body11: ; preds = %while.cond9 %28 = load ptr, ptr %__right_bitset.addr, align 8 %29 = load i64, ptr %28, align 8 %call12 = call i32 @_ZNSt3__112__libcpp_clzB7v180000Ey(i64 %29) #4 %sub13 = sub nsw i32 63, %call12 %conv14 = sext i32 %sub13 to i64 store i64 %conv14, ptr %__tz_right, align 8 %30 = load i64, ptr %__tz_right, align 8 %shl15 = shl i64 1, %30 %sub16 = sub i64 %shl15, 1 %31 = load ptr, ptr %__right_bitset.addr, align 8 %32 = load i64, ptr %31, align 8 %and17 = and i64 %32, %sub16 store i64 %and17, ptr %31, align 8 %33 = load ptr, ptr %__lm1.addr, align 8 %34 = load i64, ptr %__tz_right, align 8 %call19 = call { ptr, ptr } @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmiB7v180000El(ptr nonnull align 8 dereferenceable(16) %33, i64 %34) #5 %35 = getelementptr inbounds { ptr, ptr }, ptr %__it18, i32 0, i32 0 %36 = extractvalue { ptr, ptr } %call19, 0 store ptr %36, ptr %35, align 8 %37 = getelementptr inbounds { ptr, ptr }, ptr %__it18, i32 0, i32 1 %38 = extractvalue { ptr, ptr } %call19, 1 store ptr %38, ptr %37, align 8 %39 = load ptr, ptr %__first.addr, align 8 %call20 = call zeroext i1 @_ZNSt3__1neB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_(ptr nonnull align 8 dereferenceable(16) %__it18, ptr nonnull align 8 dereferenceable(16) %39) #5 br i1 %call20, label %if.then21, label %if.end22 if.then21: ; preds = %while.body11 %40 = load ptr, ptr %__first.addr, align 8 call void @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE9iter_swapB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEES9_EEvOT_OT0_(ptr nonnull align 8 dereferenceable(16) %__it18, ptr nonnull align 8 dereferenceable(16) %40) #5 br label %if.end22 if.end22: ; preds = %if.then21, %while.body11 %41 = load ptr, ptr %__first.addr, align 8 %call23 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEppB7v180000Ev(ptr nonnull align 8 dereferenceable(16) %41) #5 br label %while.cond9, !llvm.loop !383 while.end24: ; preds = %while.cond9 br label %if.end25 if.end25: ; preds = %while.end24, %if.else br label %if.end26 if.end26: ; preds = %if.end25, %while.end ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__19make_pairB7v180000IRNS_16__deque_iteratorIiPiRiPS2_lLl1024EEERbEENS_4pairINS_18__unwrap_ref_decayIT_E4typeENS9_IT0_E4typeEEEOSA_OSD_(ptr noalias sret(%"struct.std::__1::pair") align 8 %agg.result, ptr nonnull align 8 dereferenceable(16) %__t1, ptr nonnull align 1 dereferenceable(1) %__t2) #0 { entry: %__t1.addr = alloca ptr, align 8, !clang.decl.ptr !384 %__t2.addr = alloca ptr, align 8, !clang.decl.ptr !385 store ptr %__t1, ptr %__t1.addr, align 8 store ptr %__t2, ptr %__t2.addr, align 8 %0 = load ptr, ptr %__t1.addr, align 8 %call = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__17forwardB7v180000IRNS_16__deque_iteratorIiPiRiPS2_lLl1024EEEEEOT_Ru20__remove_reference_tIS7_E(ptr nonnull align 8 dereferenceable(16) %0) #4 %1 = load ptr, ptr %__t2.addr, align 8 %call1 = call nonnull align 1 dereferenceable(1) ptr @_ZNSt3__17forwardB7v180000IRbEEOT_Ru20__remove_reference_tIS2_E(ptr nonnull align 1 dereferenceable(1) %1) #4 call void @_ZNSt3__14pairINS_16__deque_iteratorIiPiRiPS2_lLl1024EEEbEC1B7v180000IRS5_RbLPv0EEEOT_OT0_(ptr nonnull align 8 dereferenceable(17) %agg.result, ptr nonnull align 8 dereferenceable(16) %call, ptr nonnull align 1 dereferenceable(1) %call1) #4 ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden i32 @_ZNSt3__112__libcpp_ctzB7v180000Ey(i64 %__x) #0 { entry: %__x.addr = alloca i64, align 8, !clang.decl.ptr !386 store i64 %__x, ptr %__x.addr, align 8 %0 = load i64, ptr %__x.addr, align 8 %1 = call i64 @llvm.cttz.i64(i64 %0, i1 true) %cast = trunc i64 %1 to i32 ret i32 %cast } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden i64 @_ZNSt3__113__libcpp_blsrB7v180000Ey(i64 %__x) #0 { entry: %__x.addr = alloca i64, align 8, !clang.decl.ptr !387 store i64 %__x, ptr %__x.addr, align 8 %0 = load i64, ptr %__x.addr, align 8 %1 = load i64, ptr %__x.addr, align 8 %2 = load i64, ptr %__x.addr, align 8 %sub = sub i64 0, %2 %and = and i64 %1, %sub %xor = xor i64 %0, %and ret i64 %xor } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden void @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE9iter_swapB7v180000INS_16__deque_iteratorIiPiRiPS5_lLl1024EEES8_EEvOT_OT0_(ptr nonnull align 8 dereferenceable(16) %__a, ptr nonnull align 8 dereferenceable(16) %__b) #0 align 2 { entry: %__a.addr = alloca ptr, align 8, !clang.decl.ptr !388 %__b.addr = alloca ptr, align 8, !clang.decl.ptr !389 %agg.tmp = alloca %"class.std::__1::__deque_iterator", align 8 %agg.tmp1 = alloca %"class.std::__1::__deque_iterator", align 8 store ptr %__a, ptr %__a.addr, align 8 store ptr %__b, ptr %__b.addr, align 8 %0 = load ptr, ptr %__a.addr, align 8 %call = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__17forwardB7v180000INS_16__deque_iteratorIiPiRiPS2_lLl1024EEEEEOT_Ru20__remove_reference_tIS6_E(ptr nonnull align 8 dereferenceable(16) %0) #4 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp, ptr align 8 %call, i64 16, i1 false) %1 = load ptr, ptr %__b.addr, align 8 %call2 = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__17forwardB7v180000INS_16__deque_iteratorIiPiRiPS2_lLl1024EEEEEOT_Ru20__remove_reference_tIS6_E(ptr nonnull align 8 dereferenceable(16) %1) #4 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %agg.tmp1, ptr align 8 %call2, i64 16, i1 false) %2 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 0 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp, i32 0, i32 1 %5 = load ptr, ptr %4, align 8 %6 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp1, i32 0, i32 0 %7 = load ptr, ptr %6, align 8 %8 = getelementptr inbounds { ptr, ptr }, ptr %agg.tmp1, i32 0, i32 1 %9 = load ptr, ptr %8, align 8 call void @_ZNSt3__19iter_swapB7v180000INS_16__deque_iteratorIiPiRiPS2_lLl1024EEES5_EEvT_T0_(ptr %3, ptr %5, ptr %7, ptr %9) #5 ret void } ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare i64 @llvm.cttz.i64(i64 %0, i1 immarg %1) #3 ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden i32 @_ZNSt3__112__libcpp_clzB7v180000Ey(i64 %__x) #0 { entry: %__x.addr = alloca i64, align 8, !clang.decl.ptr !390 store i64 %__x, ptr %__x.addr, align 8 %0 = load i64, ptr %__x.addr, align 8 %1 = call i64 @llvm.ctlz.i64(i64 %0, i1 true) %cast = trunc i64 %1 to i32 ret i32 %cast } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden nonnull align 1 dereferenceable(1) ptr @_ZNSt3__17forwardB7v180000IRbEEOT_Ru20__remove_reference_tIS2_E(ptr nonnull align 1 dereferenceable(1) %__t) #0 { entry: %__t.addr = alloca ptr, align 8, !clang.decl.ptr !391 store ptr %__t, ptr %__t.addr, align 8 %0 = load ptr, ptr %__t.addr, align 8 ret ptr %0 } ; Function Attrs: convergent noinline nounwind optnone define linkonce_odr void @_ZNSt3__14pairINS_16__deque_iteratorIiPiRiPS2_lLl1024EEEbEC1B7v180000IRS5_RbLPv0EEEOT_OT0_(ptr nonnull align 8 dereferenceable(17) %this, ptr nonnull align 8 dereferenceable(16) %__u1, ptr nonnull align 1 dereferenceable(1) %__u2) unnamed_addr #1 align 2 { entry: %this.addr = alloca ptr, align 8, !clang.decl.ptr !392 %__u1.addr = alloca ptr, align 8, !clang.decl.ptr !393 %__u2.addr = alloca ptr, align 8, !clang.decl.ptr !394 store ptr %this, ptr %this.addr, align 8 store ptr %__u1, ptr %__u1.addr, align 8 store ptr %__u2, ptr %__u2.addr, align 8 %this1 = load ptr, ptr %this.addr, align 8 %0 = load ptr, ptr %__u1.addr, align 8 %1 = load ptr, ptr %__u2.addr, align 8 call void @_ZNSt3__14pairINS_16__deque_iteratorIiPiRiPS2_lLl1024EEEbEC2B7v180000IRS5_RbLPv0EEEOT_OT0_(ptr nonnull align 8 dereferenceable(17) %this1, ptr nonnull align 8 dereferenceable(16) %0, ptr nonnull align 1 dereferenceable(1) %1) #4 ret void } ; Function Attrs: convergent noinline nounwind optnone define linkonce_odr void @_ZNSt3__14pairINS_16__deque_iteratorIiPiRiPS2_lLl1024EEEbEC2B7v180000IRS5_RbLPv0EEEOT_OT0_(ptr nonnull align 8 dereferenceable(17) %this, ptr nonnull align 8 dereferenceable(16) %__u1, ptr nonnull align 1 dereferenceable(1) %__u2) unnamed_addr #1 align 2 { entry: %this.addr = alloca ptr, align 8, !clang.decl.ptr !395 %__u1.addr = alloca ptr, align 8, !clang.decl.ptr !393 %__u2.addr = alloca ptr, align 8, !clang.decl.ptr !394 store ptr %this, ptr %this.addr, align 8 store ptr %__u1, ptr %__u1.addr, align 8 store ptr %__u2, ptr %__u2.addr, align 8 %this1 = load ptr, ptr %this.addr, align 8 %first = getelementptr inbounds %"struct.std::__1::pair", ptr %this1, i32 0, i32 0 %0 = load ptr, ptr %__u1.addr, align 8 %call = call nonnull align 8 dereferenceable(16) ptr @_ZNSt3__17forwardB7v180000IRNS_16__deque_iteratorIiPiRiPS2_lLl1024EEEEEOT_Ru20__remove_reference_tIS7_E(ptr nonnull align 8 dereferenceable(16) %0) #4 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %first, ptr align 8 %call, i64 16, i1 false) %second = getelementptr inbounds %"struct.std::__1::pair", ptr %this1, i32 0, i32 1 %1 = load ptr, ptr %__u2.addr, align 8 %call2 = call nonnull align 1 dereferenceable(1) ptr @_ZNSt3__17forwardB7v180000IRbEEOT_Ru20__remove_reference_tIS2_E(ptr nonnull align 1 dereferenceable(1) %1) #4 %2 = load i8, ptr %call2, align 1 %tobool = trunc i8 %2 to i1 %frombool = zext i1 %tobool to i8 store i8 %frombool, ptr %second, align 8 ret void } ; Function Attrs: convergent mustprogress noinline nounwind optnone define linkonce_odr hidden { ptr, ptr } @_ZNSt3__118__unwrap_iter_implINS_16__deque_iteratorIiPiRiPS2_lLl1024EEELb0EE8__unwrapB7v180000ES5_(ptr %__i.coerce0, ptr %__i.coerce1) #0 align 2 { entry: %retval = alloca %"class.std::__1::__deque_iterator", align 8 %__i = alloca %"class.std::__1::__deque_iterator", align 8, !clang.decl.ptr !396 %0 = getelementptr inbounds { ptr, ptr }, ptr %__i, i32 0, i32 0 store ptr %__i.coerce0, ptr %0, align 8 %1 = getelementptr inbounds { ptr, ptr }, ptr %__i, i32 0, i32 1 store ptr %__i.coerce1, ptr %1, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %retval, ptr align 8 %__i, i64 16, i1 false) %2 = load { ptr, ptr }, ptr %retval, align 8 ret { ptr, ptr } %2 } attributes #0 = { convergent mustprogress noinline nounwind optnone "frame-pointer"="all" "min-legal-vector-width"="0" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" } attributes #1 = { convergent noinline nounwind optnone "frame-pointer"="all" "min-legal-vector-width"="0" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="0" "target-features"="+cx8,+mmx,+sse,+sse2,+x87" } attributes #2 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) } attributes #3 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) } attributes #4 = { convergent nounwind "no-builtins" } attributes #5 = { convergent "no-builtins" } !llvm.module.flags = !{!0, !1, !2, !3, !4, !5, !6} !llvm.linker.options = !{} !clang.global.decl.ptrs = !{!7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !56, !57, !58, !59, !60, !61, !62, !63, !64, !65, !66, !67, !68, !69, !70, !71, !72, !73, !74, !75, !76, !77, !78, !79, !80, !81, !82, !83, !84, !85, !86} !llvm.ident = !{!87} !0 = !{i32 1, !"Objective-C Version", i32 2} !1 = !{i32 1, !"Objective-C Image Info Version", i32 0} !2 = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"} !3 = !{i32 1, !"Objective-C Garbage Collection", i8 0} !4 = !{i32 1, !"Objective-C Class Properties", i32 64} !5 = !{i32 1, !"wchar_size", i32 4} !6 = !{i32 7, !"frame-pointer", i32 2} !7 = !{ptr @"_Z12$__lldb_exprPv", i64 4465205496} !8 = !{ptr @_ZNSt3__14sortB7v180000INS_16__deque_iteratorIiPiRiPS2_lLl1024EEEEEvT_S6_, i64 7377825816} !9 = distinct !{null, i64 7376502168} !10 = !{ptr @_ZNSt3__15dequeIiNS_9allocatorIiEEE5beginB7v180000Ev, i64 7384905664} !11 = !{ptr @_ZNSt3__15dequeIiNS_9allocatorIiEEE3endB7v180000Ev, i64 7384906608} !12 = !{ptr @_ZNSt3__114__split_bufferIPiNS_9allocatorIS1_EEE5beginB7v180000Ev, i64 4491356592} !13 = !{ptr @_ZNKSt3__114__split_bufferIPiNS_9allocatorIS1_EEE5emptyB7v180000Ev, i64 4491359240} !14 = !{ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEC2B7v180000ES3_S1_, i64 7377819248} !15 = !{ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEC1B7v180000ES3_S1_, i64 7377819248} !16 = !{ptr @_ZNKSt3__15dequeIiNS_9allocatorIiEEE4sizeB7v180000Ev, i64 7384911248} !17 = !{ptr @_ZNKSt3__122__compressed_pair_elemImLi0ELb0EE5__getB7v180000Ev, i64 7376265936} !18 = !{ptr @_ZNKSt3__117__compressed_pairImNS_9allocatorIiEEE5firstB7v180000Ev, i64 7378669856} !19 = !{ptr @_ZNKSt3__15dequeIiNS_9allocatorIiEEE6__sizeB7v180000Ev, i64 7384912280} !20 = !{ptr @_ZNSt3__14moveB7v180000IRiEEOu20__remove_reference_tIT_EOS2_, i64 4491479024} !21 = !{ptr @_ZNSt3__14moveB7v180000IRNS_16__deque_iteratorIiPiRiPS2_lLl1024EEEEEOu20__remove_reference_tIT_EOS7_, i64 4491487928} !22 = !{ptr @_ZNSt3__14sortB7v180000INS_16__deque_iteratorIiPiRiPS2_lLl1024EEENS_6__lessIvvEEEEvT_S8_T0_, i64 7385342760} !23 = !{ptr @_ZNSt3__111__sort_implB7v180000INS_17_ClassicAlgPolicyENS_16__deque_iteratorIiPiRiPS3_lLl1024EEENS_6__lessIvvEEEEvT0_S9_RT1_, i64 4491492088} !24 = !{ptr @_ZNSt3__123__debug_randomize_rangeB7v180000INS_17_ClassicAlgPolicyENS_16__deque_iteratorIiPiRiPS3_lLl1024EEES6_EEvT0_T1_, i64 4491562920} !25 = !{ptr @_ZNSt3__118__unwrap_iter_implINS_16__deque_iteratorIiPiRiPS2_lLl1024EEELb0EE8__unwrapB7v180000ES5_, i64 7385477824} !26 = !{ptr @_ZNSt3__113__unwrap_iterB7v180000INS_16__deque_iteratorIiPiRiPS2_lLl1024EEENS_18__unwrap_iter_implIS5_Lb0EEELi0EEEDTclsrT0_8__unwrapclsr3stdE7declvalIT_EEEES9_, i64 7385585600} !27 = !{ptr @_ZNSt3__1eqB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_, i64 7385114232} !28 = !{ptr @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE4nextB7v180000INS_16__deque_iteratorIiPiRiPS5_lLl1024EEEEET_S9_S9_, i64 7385764104} !29 = !{ptr @_ZNSt3__119__partial_sort_implB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEES9_EET1_SA_SA_T2_OT0_, i64 7385832456} !30 = !{ptr @_ZNSt3__111__make_heapB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEvT1_SA_OT0_, i64 4478543816} !31 = !{ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEplB7v180000El, i64 7385033192} !32 = !{ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEpLB7v180000El, i64 7385032048} !33 = !{ptr @_ZNSt3__1miB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_, i64 7385080808} !34 = !{ptr @_ZNSt3__1neB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_, i64 7378790792} !35 = !{ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEppB7v180000Ev, i64 7385029936} !36 = !{ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEdeB7v180000Ev, i64 7385028824} !37 = !{ptr @_ZNKSt3__16__lessIvvEclB7v180000IiiEEbRKT_RKT0_, i64 4478603784} !38 = !{ptr @_ZNSt3__17forwardB7v180000IRNS_16__deque_iteratorIiPiRiPS2_lLl1024EEEEEOT_Ru20__remove_reference_tIS7_E, i64 7385967552} !39 = !{ptr @_ZNSt3__14swapB7v180000IiEENS_9enable_ifIXaasr21is_move_constructibleIT_EE5valuesr18is_move_assignableIS2_EE5valueEvE4typeERS2_S5_, i64 7379397168} !40 = !{ptr @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE9iter_swapB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEES9_EEvOT_OT0_, i64 4478607144} !41 = !{ptr @_ZNSt3__19iter_swapB7v180000INS_16__deque_iteratorIiPiRiPS2_lLl1024EEES5_EEvT_T0_, i64 7385971880} !42 = !{ptr @_ZNSt3__111__sift_downB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEvT1_OT0_NS_15iterator_traitsISA_E15difference_typeESA_, i64 4478610168} !43 = !{ptr @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE11__iter_moveB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEEEENS_9enable_ifIXsr12is_referenceIDTdeclsr3stdE7declvalIRT_EEEEE5valueEDTclsr3stdE4movedeclsr3stdE7declvalISC_EEEEE4typeEOSB_, i64 7379487056} !44 = !{ptr @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE25__validate_iter_referenceB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEEEEvv, i64 7379515280} !45 = !{ptr @_ZNSt3__111__sort_heapB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEvT1_SA_OT0_, i64 4478616232} !46 = !{ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmmB7v180000Ev, i64 7385030928} !47 = !{ptr @_ZNSt3__110__pop_heapB7v180000INS_17_ClassicAlgPolicyENS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS5_lLl1024EEEEEvT1_S9_RT0_NS_15iterator_traitsIS9_E15difference_typeE, i64 4478677304} !48 = !{ptr @_ZNSt3__117__floyd_sift_downB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEET1_SA_OT0_NS_15iterator_traitsISA_E15difference_typeE, i64 4478724456} !49 = !{ptr @_ZNSt3__19__sift_upB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEvT1_SA_OT0_NS_15iterator_traitsISA_E15difference_typeE, i64 4478749992} !50 = !{ptr @_ZNSt3__115__sort_dispatchB7v180000INS_17_ClassicAlgPolicyENS_16__deque_iteratorIiPiRiPS3_lLl1024EEENS_6__lessIvvEEEEvT0_S9_RT1_, i64 7385614664} !51 = !{ptr @_ZNSt3__112__libcpp_clzB7v180000Ey, i64 4478896408} !52 = !{ptr @_ZNSt3__112__libcpp_clzB7v180000Em, i64 4478897944} !53 = !{ptr @_ZNSt3__17__log2iB7v180000IlEET_S1_, i64 4478872552} !54 = !{ptr @_ZNSt3__111__introsortINS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEELb0EEEvT1_SA_T0_NS_15iterator_traitsISA_E15difference_typeEb, i64 4478891592} !55 = !{ptr @_ZNSt3__124__sort3_maybe_branchlessB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEENS_9enable_ifIXntsr21__use_branchless_sortIT0_T1_EE5valueEvE4typeESC_SC_SC_SB_, i64 7386081376} !56 = !{ptr @_ZNSt3__124__sort4_maybe_branchlessB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEENS_9enable_ifIXntsr21__use_branchless_sortIT0_T1_EE5valueEvE4typeESC_SC_SC_SC_SB_, i64 7386107616} !57 = !{ptr @_ZNSt3__17__sort4B7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEvT1_SA_SA_SA_T0_, i64 7386713608} !58 = !{ptr @_ZNSt3__124__sort5_maybe_branchlessB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEENS_9enable_ifIXntsr21__use_branchless_sortIT0_T1_EE5valueEvE4typeESC_SC_SC_SC_SC_SB_, i64 7386139792} !59 = !{ptr @_ZNSt3__17__sort5B7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEvT1_SA_SA_SA_SA_T0_, i64 7386740344} !60 = !{ptr @_ZNSt3__116__insertion_sortB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEvT1_SA_T0_, i64 7386149976} !61 = !{ptr @_ZNSt3__126__insertion_sort_unguardedB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEvT1_SA_T0_, i64 7386155288} !62 = !{ptr @_ZNSt3__114__partial_sortB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEES9_EET1_SA_SA_T2_RT0_, i64 7386161288} !63 = !{ptr @_ZNKSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmiB7v180000El, i64 7385033704} !64 = !{ptr @_ZNSt3__116__deque_iteratorIiPiRiPS1_lLl1024EEmIB7v180000El, i64 7385032576} !65 = !{ptr @_ZNSt3__17__sort3B7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEjT1_SA_SA_T0_, i64 7386181760} !66 = !{ptr @_ZNSt3__17forwardB7v180000INS_16__deque_iteratorIiPiRiPS2_lLl1024EEEEEOT_Ru20__remove_reference_tIS6_E, i64 7386895360} !67 = !{ptr @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE9iter_swapB7v180000IRNS_16__deque_iteratorIiPiRiPS5_lLl1024EEES8_EEvOT_OT0_, i64 7386211800} !68 = !{ptr @_ZNSt3__131__partition_with_equals_on_leftB7v180000INS_17_ClassicAlgPolicyENS_16__deque_iteratorIiPiRiPS3_lLl1024EEERNS_6__lessIvvEEEET0_SA_SA_T1_, i64 7386284600} !69 = !{ptr @_ZNSt3__1ltB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_, i64 7378958920} !70 = !{ptr @_ZNSt3__118__bitset_partitionB7v180000INS_17_ClassicAlgPolicyENS_16__deque_iteratorIiPiRiPS3_lLl1024EEERNS_6__lessIvvEEEENS_4pairIT0_bEESB_SB_T1_, i64 7386296144} !71 = !{ptr @_ZNSt3__1geB7v180000ERKNS_16__deque_iteratorIiPiRiPS1_lLl1024EEES6_, i64 7378019840} !72 = !{ptr @_ZNSt3__122__populate_left_bitsetB7v180000IRNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS5_lLl1024EEEiEEvT0_T_RT1_Ry, i64 7387049768} !73 = !{ptr @_ZNSt3__123__populate_right_bitsetB7v180000IRNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS5_lLl1024EEEiEEvT0_T_RT1_Ry, i64 7387054024} !74 = !{ptr @_ZNSt3__113__libcpp_blsrB7v180000Ey, i64 7387182904} !75 = !{ptr @_ZNSt3__112__libcpp_ctzB7v180000Ey, i64 7387185960} !76 = !{ptr @_ZNSt3__117__swap_bitmap_posB7v180000INS_17_ClassicAlgPolicyENS_16__deque_iteratorIiPiRiPS3_lLl1024EEEEEvT0_S7_RyS8_, i64 7387058056} !77 = !{ptr @_ZNSt3__18_IterOpsINS_17_ClassicAlgPolicyEE9iter_swapB7v180000INS_16__deque_iteratorIiPiRiPS5_lLl1024EEES8_EEvOT_OT0_, i64 7387200136} !78 = !{ptr @_ZNSt3__133__bitset_partition_partial_blocksB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEiEEvRT1_SB_T0_RT2_RySF_, i64 7387065560} !79 = !{ptr @_ZNSt3__124__swap_bitmap_pos_withinB7v180000INS_17_ClassicAlgPolicyENS_16__deque_iteratorIiPiRiPS3_lLl1024EEEEEvRT0_S8_RyS9_, i64 7387068168} !80 = !{ptr @_ZNSt3__17forwardB7v180000IRbEEOT_Ru20__remove_reference_tIS2_E, i64 7387285184} !81 = !{ptr @_ZNSt3__19make_pairB7v180000IRNS_16__deque_iteratorIiPiRiPS2_lLl1024EEERbEENS_4pairINS_18__unwrap_ref_decayIT_E4typeENS9_IT0_E4typeEEEOSA_OSD_, i64 7387130576} !82 = !{ptr @_ZNSt3__14pairINS_16__deque_iteratorIiPiRiPS2_lLl1024EEEbEC2B7v180000IRS5_RbLPv0EEEOT_OT0_, i64 7387311480} !83 = !{ptr @_ZNSt3__14pairINS_16__deque_iteratorIiPiRiPS2_lLl1024EEEbEC1B7v180000IRS5_RbLPv0EEEOT_OT0_, i64 7387311480} !84 = !{ptr @_ZNSt3__132__partition_with_equals_on_rightB7v180000INS_17_ClassicAlgPolicyENS_16__deque_iteratorIiPiRiPS3_lLl1024EEERNS_6__lessIvvEEEENS_4pairIT0_bEESB_SB_T1_, i64 7386586992} !85 = !{ptr @_ZNSt3__127__insertion_sort_incompleteB7v180000INS_17_ClassicAlgPolicyERNS_6__lessIvvEENS_16__deque_iteratorIiPiRiPS6_lLl1024EEEEEbT1_SA_T0_, i64 7386652600} !86 = !{ptr @_ZNSt3__135__check_strict_weak_ordering_sortedB7v180000INS_16__deque_iteratorIiPiRiPS2_lLl1024EEENS_6__lessIvvEEEEvT_S8_RT0_, i64 7385627320} !87 = !{!"clang version 18.0.0 (https://github.com/Michael137/llvm-project.git 576b184d6e3b633f51b908b61ebd281d2ecbf66f)"} !88 = !{i64 4465205280} !89 = !{i64 7377825416} !90 = !{i64 7377825536} !91 = !{i64 7387578120} !92 = !{i64 7385318376} !93 = !{i64 7387578680} !94 = !{i64 7385325824} !95 = !{i64 7385326568} !96 = !{i64 7387578232} !97 = !{i64 7387578344} !98 = !{i64 7387578456} !99 = !{i64 7377818816} !100 = !{i64 7377818936} !101 = !{i64 7387578568} !102 = !{i64 7387578792} !103 = !{i64 7387578904} !104 = !{i64 7387579016} !105 = !{i64 7387579128} !106 = !{i64 7385342184} !107 = !{i64 7385342304} !108 = !{i64 7385342472} !109 = !{i64 4491491416} !110 = !{i64 4491491536} !111 = !{i64 4491491800} !112 = !{i64 4491487560} !113 = !{i64 4491562552} !114 = !{i64 4491562712} !115 = !{i64 7385614104} !116 = !{i64 7385614224} !117 = !{i64 7385614440} !118 = !{i64 4478867168} !119 = !{i64 7385585400} !120 = !{i64 7385626760} !121 = !{i64 7385626880} !122 = !{i64 7385627096} !123 = !{i64 4478872360} !124 = !{i64 7386004568} !125 = !{i64 7385080400} !126 = !{i64 7385080528} !127 = !{i64 4478890520} !128 = !{i64 4478890640} !129 = !{i64 4478890808} !130 = !{i64 4478891152} !131 = !{i64 4478891256} !132 = !{i64 7386058048} !133 = !{i64 7386058360} !134 = !{i64 7386058672} !135 = !{i64 7386171816} !136 = !{i64 7386288656} !137 = !{i64 7386648608} !138 = !{i64 7386650560} !139 = distinct !{!139, !140} !140 = !{!"llvm.loop.mustprogress"} !141 = !{i64 4478898440} !142 = !{i64 7378790512} !143 = !{i64 7378790640} !144 = !{i64 7385113824} !145 = !{i64 7385113952} !146 = !{i64 7387579376} !147 = !{i64 4478603304} !148 = !{i64 4478603512} !149 = !{i64 7387579584} !150 = !{i64 7387579696} !151 = !{i64 4478606664} !152 = !{i64 4478606872} !153 = !{i64 7386080672} !154 = !{i64 7386080792} !155 = !{i64 7386080912} !156 = !{i64 7386081032} !157 = !{i64 4478639608} !158 = !{i64 7387580080} !159 = !{i64 7385032952} !160 = !{i64 7386106768} !161 = !{i64 7386106888} !162 = !{i64 7386107008} !163 = !{i64 7386107248} !164 = !{i64 7386138800} !165 = !{i64 7386138920} !166 = !{i64 7386139040} !167 = !{i64 7386139400} !168 = !{i64 7386149464} !169 = !{i64 7386149584} !170 = !{i64 7386149752} !171 = !{i64 7386778440} !172 = !{i64 7386789680} !173 = !{i64 7386792352} !174 = !{i64 7386797688} !175 = distinct !{!175, !140} !176 = distinct !{!176, !140} !177 = !{i64 7386154776} !178 = !{i64 7386154896} !179 = !{i64 7386155064} !180 = !{i64 4491613680} !181 = !{i64 7386803752} !182 = !{i64 7386818976} !183 = !{i64 7386825184} !184 = !{i64 7386830520} !185 = distinct !{!185, !140} !186 = distinct !{!186, !140} !187 = !{i64 7386861760} !188 = !{i64 7386160592} !189 = !{i64 7386160712} !190 = !{i64 7386160832} !191 = !{i64 7386161048} !192 = !{i64 7386181032} !193 = !{i64 7386181152} !194 = !{i64 7386181272} !195 = !{i64 7386181432} !196 = !{i64 7386884056} !197 = !{i64 7386875656} !198 = !{i64 7387580400} !199 = !{i64 7385033560} !200 = !{i64 7386211320} !201 = !{i64 7386211528} !202 = !{i64 7386231784} !203 = !{i64 7386231904} !204 = !{i64 7386232072} !205 = !{i64 7386908048} !206 = !{i64 7386909816} !207 = !{i64 7386911744} !208 = !{i64 7386945792} !209 = distinct !{!209, !140} !210 = distinct !{!210, !140} !211 = distinct !{!211, !140} !212 = distinct !{!212, !140} !213 = distinct !{!213, !140} !214 = distinct !{!214, !140} !215 = !{i64 7386295536} !216 = !{i64 7386295656} !217 = !{i64 7386295816} !218 = !{i64 7386999184} !219 = !{i64 7387005080} !220 = !{i64 7387006976} !221 = !{i64 7387032256} !222 = !{i64 7387038232} !223 = !{i64 7387043632} !224 = !{i64 7387043864} !225 = !{i64 7387068976} !226 = distinct !{!226, !140} !227 = distinct !{!227, !140} !228 = distinct !{!228, !140} !229 = distinct !{!229, !140} !230 = !{i64 7386586448} !231 = !{i64 7386586568} !232 = !{i64 7386586728} !233 = !{i64 7387349168} !234 = !{i64 7387350936} !235 = !{i64 7387352832} !236 = !{i64 7387380168} !237 = !{i64 7387394096} !238 = distinct !{!238, !140} !239 = distinct !{!239, !140} !240 = distinct !{!240, !140} !241 = distinct !{!241, !140} !242 = distinct !{!242, !140} !243 = distinct !{!243, !140} !244 = !{i64 7386652024} !245 = !{i64 7386652144} !246 = !{i64 7386652312} !247 = !{i64 7387504240} !248 = !{i64 7387527608} !249 = !{i64 7387527928} !250 = !{i64 7387528176} !251 = !{i64 7387544272} !252 = !{i64 7387549544} !253 = distinct !{!253, !140} !254 = distinct !{!254, !140} !255 = !{i64 7387581616} !256 = !{i64 7385971496} !257 = !{i64 7385971656} !258 = !{i64 7385967216} !259 = !{i64 7379400808} !260 = !{i64 7379400936} !261 = !{i64 7379405632} !262 = !{i64 4491480048} !263 = !{i64 7387580192} !264 = !{i64 7385031800} !265 = !{i64 4478650832} !266 = !{i64 7386712824} !267 = !{i64 7386712944} !268 = !{i64 7386713064} !269 = !{i64 7386713352} !270 = !{i64 7386739432} !271 = !{i64 7386739552} !272 = !{i64 7386739672} !273 = !{i64 7386740072} !274 = !{i64 7379486792} !275 = !{i64 7385763768} !276 = !{i64 7385763888} !277 = !{i64 4478570104} !278 = !{i64 7385831720} !279 = !{i64 7385831840} !280 = !{i64 7385832008} !281 = !{i64 7385832216} !282 = !{i64 4478566256} !283 = distinct !{!283, !140} !284 = !{i64 4478543256} !285 = !{i64 4478543376} !286 = !{i64 4478543592} !287 = !{i64 4478624160} !288 = !{i64 4478625024} !289 = !{i64 4478628936} !290 = distinct !{!290, !140} !291 = !{i64 4478609176} !292 = !{i64 4478609848} !293 = !{i64 4478609384} !294 = !{i64 4478609728} !295 = !{i64 7379414112} !296 = !{i64 7379418728} !297 = !{i64 7379462048} !298 = distinct !{!298, !140} !299 = !{i64 4478615672} !300 = !{i64 4478615792} !301 = !{i64 4478616008} !302 = !{i64 4478667976} !303 = !{i64 4478669984} !304 = !{i64 4478670800} !305 = distinct !{!305, !140} !306 = !{i64 4478676296} !307 = !{i64 4478676416} !308 = !{i64 4478676632} !309 = !{i64 4478676976} !310 = !{i64 4478692448} !311 = !{i64 4478693440} !312 = !{i64 4478719992} !313 = !{i64 4478809192} !314 = !{i64 4478723608} !315 = !{i64 4478723816} !316 = !{i64 4478724160} !317 = !{i64 4478810952} !318 = !{i64 4478812752} !319 = distinct !{!319, !140} !320 = !{i64 4478749064} !321 = !{i64 4478749184} !322 = !{i64 4478749400} !323 = !{i64 4478749744} !324 = !{i64 4478830456} !325 = !{i64 4478837584} !326 = distinct !{!326, !140} !327 = !{i64 7387580512} !328 = !{i64 7385032424} !329 = !{i64 7386895072} !330 = !{i64 7378958640} !331 = !{i64 7378958768} !332 = !{i64 7378019472} !333 = !{i64 7378019600} !334 = !{i64 7387048968} !335 = !{i64 7387049128} !336 = !{i64 7387049336} !337 = !{i64 7387049440} !338 = !{i64 7387171752} !339 = !{i64 7387173496} !340 = !{i64 7387173792} !341 = distinct !{!341, !140} !342 = !{i64 7387053304} !343 = !{i64 7387053464} !344 = !{i64 7387053672} !345 = !{i64 7387053776} !346 = !{i64 7387177384} !347 = !{i64 7387179128} !348 = !{i64 7387179424} !349 = distinct !{!349, !140} !350 = !{i64 7387057400} !351 = !{i64 7387057520} !352 = !{i64 7387057624} !353 = !{i64 7387057728} !354 = !{i64 7387185760} !355 = !{i64 7387191040} !356 = distinct !{!356, !140} !357 = !{i64 7387064488} !358 = !{i64 7387064608} !359 = !{i64 7387064776} !360 = !{i64 7387064984} !361 = !{i64 7387065088} !362 = !{i64 7387065192} !363 = !{i64 7387216400} !364 = !{i64 7387220320} !365 = !{i64 7387220464} !366 = !{i64 7387222288} !367 = !{i64 7387224008} !368 = !{i64 7387224416} !369 = !{i64 7387226264} !370 = !{i64 7387227952} !371 = !{i64 7387228360} !372 = distinct !{!372, !140} !373 = distinct !{!373, !140} !374 = !{i64 7387067512} !375 = !{i64 7387067632} !376 = !{i64 7387067736} !377 = !{i64 7387067840} !378 = !{i64 7387241280} !379 = !{i64 7387242432} !380 = !{i64 7387262976} !381 = !{i64 7387264128} !382 = distinct !{!382, !140} !383 = distinct !{!383, !140} !384 = !{i64 7387130120} !385 = !{i64 7387130280} !386 = !{i64 7387186440} !387 = !{i64 7387183336} !388 = !{i64 7387199736} !389 = !{i64 7387199856} !390 = !{i64 4478896888} !391 = !{i64 7387284848} !392 = !{i64 7387581392} !393 = !{i64 7387310984} !394 = !{i64 7387311192} !395 = !{i64 7387581504} !396 = !{i64 7385477576}