Thanks for using Compiler Explorer
Sponsors
Jakt
C++
Ada
Algol68
Analysis
Android Java
Android Kotlin
Assembly
C
C3
Carbon
C with Coccinelle
C++ with Coccinelle
C++ (Circle)
CIRCT
Clean
Clojure
CMake
CMakeScript
COBOL
C++ for OpenCL
MLIR
Cppx
Cppx-Blue
Cppx-Gold
Cpp2-cppfront
Crystal
C#
CUDA C++
D
Dart
Elixir
Erlang
Fortran
F#
GLSL
Go
Haskell
HLSL
Hook
Hylo
IL
ispc
Java
Julia
Kotlin
LLVM IR
LLVM MIR
Modula-2
Mojo
Nim
Numba
Nix
Objective-C
Objective-C++
OCaml
Odin
OpenCL C
Pascal
Pony
PTX
Python
Racket
Raku
Ruby
Rust
Sail
Snowball
Scala
Slang
Solidity
Spice
SPIR-V
Swift
LLVM TableGen
Toit
Triton
TypeScript Native
V
Vala
Visual Basic
Vyper
WASM
Yul (Solidity IR)
Zig
Javascript
GIMPLE
Ygen
sway
llvm source #1
Output
Compile to binary object
Link to binary
Execute the code
Intel asm syntax
Demangle identifiers
Verbose demangling
Filters
Unused labels
Library functions
Directives
Comments
Horizontal whitespace
Debug intrinsics
Compiler
clang (assertions trunk)
clang (trunk)
clang 10.0.0
clang 10.0.1
clang 11.0.0
clang 11.0.1
clang 12.0.0
clang 12.0.1
clang 13.0.0
clang 14.0.0
clang 15.0.0
clang 16.0.0
clang 17.0.1
clang 18.1.0
clang 19.1.0
clang 20.1.0
clang 21.1.0
clang 4.0.1
clang 5.0.0
clang 6.0.0
clang 7.0.0
clang 8.0.0
clang 9.0.0
hexagon-clang 16.0.5
llc (assertions trunk)
llc (trunk)
llc 10.0.0
llc 10.0.1
llc 11.0.0
llc 11.0.1
llc 12.0.0
llc 12.0.1
llc 13.0.0
llc 14.0.0
llc 15.0.0
llc 16.0.0
llc 17.0.1
llc 18.1.0
llc 19.1.0
llc 20.1.0
llc 21.1.0
llc 3.2
llc 3.3
llc 3.9.1
llc 4.0.0
llc 4.0.1
llc 5.0.0
llc 6.0.0
llc 7.0.0
llc 8.0.0
llc 9.0.0
opt (assertions trunk)
opt (trunk)
opt 10.0.0
opt 10.0.1
opt 11.0.0
opt 11.0.1
opt 12.0.0
opt 12.0.1
opt 13.0.0
opt 14.0.0
opt 15.0.0
opt 16.0.0
opt 17.0.1
opt 18.1.0
opt 19.1.0
opt 20.1.0
opt 21.1.0
opt 3.2
opt 3.3
opt 3.9.1
opt 4.0.0
opt 4.0.1
opt 5.0.0
opt 6.0.0
opt 7.0.0
opt 8.0.0
opt 9.0.0
Options
Source code
target datalayout = "e-i64:64-i128:128-v16:16-v32:32-n16:32:64" target triple = "nvptx64-nvidia-cuda" %"class.__llvm_libc_19_0_0_git::FixedVector" = type { %"struct.__llvm_libc_19_0_0_git::cpp::array", i64 } %"struct.__llvm_libc_19_0_0_git::cpp::array" = type { [64 x %"struct.__llvm_libc_19_0_0_git::AtExitUnit"] } %"struct.__llvm_libc_19_0_0_git::AtExitUnit" = type { ptr, ptr } %"struct.__llvm_libc_19_0_0_git::rpc::Client" = type { %"struct.__llvm_libc_19_0_0_git::rpc::Process" } %"struct.__llvm_libc_19_0_0_git::rpc::Process" = type { i32, ptr, ptr, ptr, ptr, [128 x %"struct.__llvm_libc_19_0_0_git::cpp::Atomic"] } %"struct.__llvm_libc_19_0_0_git::cpp::Atomic" = type { i32 } %"class.__llvm_libc_19_0_0_git::internal::ArgList" = type { ptr } %"struct.__llvm_libc_19_0_0_git::printf_core::WriteBuffer" = type { ptr, i64, i64, ptr, ptr } %"class.__llvm_libc_19_0_0_git::printf_core::Writer" = type <{ ptr, i32, [4 x i8] }> %"struct.__llvm_libc_19_0_0_git::rpc::Header" = type { i64, i16 } %"struct.__llvm_libc_19_0_0_git::rpc::Buffer" = type { [8 x i64] } %"class.__llvm_libc_19_0_0_git::cpp::string_view" = type { ptr, i64 } %"struct.__llvm_libc_19_0_0_git::cpp::array.5" = type { [64 x i8] } %"class.__llvm_libc_19_0_0_git::printf_core::Parser" = type { ptr, i64, %"class.__llvm_libc_19_0_0_git::internal::ArgList" } %"struct.__llvm_libc_19_0_0_git::rpc::Port" = type <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> $_ZN22__llvm_libc_19_0_0_git17stdc_at_exit_funcEPv = comdat any $_ZN22__llvm_libc_19_0_0_git3rpc6Client4openILt1EEENS0_4PortILb0EEEv = comdat any $_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE5closeEv = comdat any @.str = private unnamed_addr constant [5 x i8] c"asdf\00", align 1 @__init_array_start = protected local_unnamed_addr global ptr null, align 8 @__init_array_end = protected local_unnamed_addr global ptr null, align 8 @__fini_array_start = protected local_unnamed_addr global ptr null, align 8 @__fini_array_end = protected local_unnamed_addr global ptr null, align 8 @__llvm_libc_rpc_client = protected local_unnamed_addr global ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, align 8 @_ZN22__llvm_libc_19_0_0_git16atexit_callbacksE = internal unnamed_addr global %"class.__llvm_libc_19_0_0_git::FixedVector" zeroinitializer, align 8 @.str15 = private unnamed_addr constant [2 x i8] c"%\00", align 1 @.str1 = private unnamed_addr constant [7 x i8] c"(null)\00", align 1 @_ZN22__llvm_libc_19_0_0_git3rpc6clientE = internal global %"struct.__llvm_libc_19_0_0_git::rpc::Client" zeroinitializer, align 8 ; Function Attrs: noinline nounwind optnone define dso_local i32 @main() local_unnamed_addr #0 { entry: %c = alloca [64 x i8], align 1 %arraydecay = getelementptr inbounds [64 x i8], ptr %c, i64 0, i64 0 call void (ptr, ptr, ...) @sprintf(ptr noundef %arraydecay, ptr poison) #18 %arraydecay1 = getelementptr inbounds [64 x i8], ptr %c, i64 0, i64 0 call fastcc void @puts(ptr noundef %arraydecay1) ret i32 0 } ; Function Attrs: convergent mustprogress nounwind define internal void @sprintf(ptr noalias noundef %buffer, ptr noalias nocapture readnone %format, ...) unnamed_addr #1 { entry: %vlist.addr.i.i = alloca ptr, align 8 %vlist = alloca ptr, align 8 %args = alloca %"class.__llvm_libc_19_0_0_git::internal::ArgList", align 8 %wb = alloca %"struct.__llvm_libc_19_0_0_git::printf_core::WriteBuffer", align 8 %writer = alloca %"class.__llvm_libc_19_0_0_git::printf_core::Writer", align 8 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %vlist) #18 store ptr inttoptr (i64 -6148914691236517206 to ptr), ptr %vlist, align 8, !annotation !10 call void @llvm.va_start.p0(ptr nonnull %vlist) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %args) #18 store ptr inttoptr (i64 -6148914691236517206 to ptr), ptr %args, align 8, !annotation !10 %0 = load ptr, ptr %vlist, align 8, !tbaa !11 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %vlist.addr.i.i) store ptr %0, ptr %vlist.addr.i.i, align 8, !tbaa !11 call void @llvm.va_copy.p0(ptr nonnull %args, ptr nonnull %vlist.addr.i.i) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %vlist.addr.i.i) call void @llvm.va_end.p0(ptr nonnull %vlist) call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %wb) #18 %1 = getelementptr inbounds i8, ptr %wb, i64 8 %2 = getelementptr inbounds i8, ptr %wb, i64 16 %3 = getelementptr inbounds i8, ptr %wb, i64 24 %4 = getelementptr inbounds i8, ptr %wb, i64 32 store ptr %buffer, ptr %wb, align 8, !tbaa !15 store i64 -1, ptr %1, align 8, !tbaa !18 store i64 0, ptr %2, align 8, !tbaa !19 store ptr null, ptr %3, align 8, !tbaa !20 store ptr null, ptr %4, align 8, !tbaa !21 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %writer) #18 %5 = getelementptr inbounds i8, ptr %writer, i64 8 %6 = getelementptr inbounds i8, ptr %writer, i64 12 store <4 x i8> <i8 -86, i8 -86, i8 -86, i8 -86>, ptr %6, align 4 store ptr %wb, ptr %writer, align 8, !tbaa !22 store i32 0, ptr %5, align 8, !tbaa !25 call fastcc void @_ZN22__llvm_libc_19_0_0_git11printf_core11printf_mainEPNS0_6WriterEPKcRNS_8internal7ArgListE(ptr noundef nonnull %writer, ptr noundef nonnull align 8 dereferenceable(8) %args) #19 %7 = load ptr, ptr %wb, align 8, !tbaa !15 %8 = load i64, ptr %2, align 8, !tbaa !19 %arrayidx = getelementptr inbounds i8, ptr %7, i64 %8 store i8 0, ptr %arrayidx, align 1, !tbaa !26 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %writer) #18 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %wb) #18 call void @llvm.va_end.p0(ptr nonnull %args) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %args) #18 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %vlist) #18 ret void } ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #2 ; Function Attrs: nocallback nofree nosync nounwind willreturn declare void @llvm.va_start.p0(ptr) #3 ; Function Attrs: nocallback nofree nosync nounwind willreturn declare void @llvm.va_copy.p0(ptr, ptr) #3 ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #2 ; Function Attrs: nocallback nofree nosync nounwind willreturn declare void @llvm.va_end.p0(ptr) #3 ; Function Attrs: convergent mustprogress norecurse nounwind define internal fastcc void @puts(ptr noalias noundef %str) unnamed_addr #4 { entry: br label %for.cond.i.i.i for.cond.i.i.i: ; preds = %for.cond.i.i.i, %entry %End.0.i.i.i = phi ptr [ %str, %entry ], [ %incdec.ptr.i.i.i, %for.cond.i.i.i ] %0 = load i8, ptr %End.0.i.i.i, align 1, !tbaa !26 %cmp.i.i.i = icmp eq i8 %0, 0 %incdec.ptr.i.i.i = getelementptr inbounds i8, ptr %End.0.i.i.i, i64 1 br i1 %cmp.i.i.i, label %_ZN22__llvm_libc_19_0_0_git3cpp11string_viewC1EPKc.exit, label %for.cond.i.i.i, !llvm.loop !27 _ZN22__llvm_libc_19_0_0_git3cpp11string_viewC1EPKc.exit: ; preds = %for.cond.i.i.i %End.0.i.i.i.lcssa = phi ptr [ %End.0.i.i.i, %for.cond.i.i.i ] %1 = tail call noundef i32 @llvm.nvvm.read.ptx.sreg.smid() %2 = tail call range(i32 0, 32) i32 @llvm.nvvm.read.ptx.sreg.laneid() %sh_prom.i.i.i = zext nneg i32 %2 to i64 %shl.i.i.i = shl nuw nsw i64 1, %sh_prom.i.i.i br label %for.cond.i.i for.cond.i.i: ; preds = %cleanup27.i.i, %_ZN22__llvm_libc_19_0_0_git3cpp11string_viewC1EPKc.exit %retval.sroa.6.0.i.i = phi i32 [ undef, %_ZN22__llvm_libc_19_0_0_git3cpp11string_viewC1EPKc.exit ], [ %retval.sroa.6.1.i.i, %cleanup27.i.i ] %retval.sroa.2.0.i.i = phi i64 [ undef, %_ZN22__llvm_libc_19_0_0_git3cpp11string_viewC1EPKc.exit ], [ %retval.sroa.2.1.i.i, %cleanup27.i.i ] %retval.sroa.8.0.i.i = phi i32 [ undef, %_ZN22__llvm_libc_19_0_0_git3cpp11string_viewC1EPKc.exit ], [ %retval.sroa.8.1.i.i, %cleanup27.i.i ] %index.0.i.i = phi i32 [ %1, %_ZN22__llvm_libc_19_0_0_git3cpp11string_viewC1EPKc.exit ], [ %inc.i.i, %cleanup27.i.i ] %3 = load i32, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, align 8, !tbaa !29 %cmp.not.i.i = icmp ult i32 %index.0.i.i, %3 %spec.store.select.i.i = select i1 %cmp.not.i.i, i32 %index.0.i.i, i32 0 %4 = tail call i32 @llvm.nvvm.activemask() %conv.i.i.i = zext i32 %4 to i64 %and.i.i.i = and i64 %shl.i.i.i, %conv.i.i.i %tobool.i.i.i = icmp ne i64 %and.i.i.i, 0 %div8.i.i.i.i = lshr i32 %spec.store.select.i.i, 5 %5 = and i32 %spec.store.select.i.i, 31 %idxprom.i.i.i.i = zext nneg i32 %div8.i.i.i.i to i64 %arrayidx.i.i.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, i64 40), i64 %idxprom.i.i.i.i %conv4.i.i.i.i = zext i1 %tobool.i.i.i to i32 %shl.i.i.i.i = shl nuw i32 %conv4.i.i.i.i, %5 %6 = atomicrmw or ptr %arrayidx.i.i.i.i, i32 %shl.i.i.i.i monotonic, align 4 %shl5.i.i.i.i = shl nuw i32 1, %5 %and.i.i.i.i = and i32 %shl5.i.i.i.i, %6 %tobool3.i.i.i = icmp ne i32 %and.i.i.i.i, 0 %7 = tail call i32 @llvm.nvvm.vote.ballot.sync(i32 %4, i1 %tobool3.i.i.i) %cmp.i.not.i.i = icmp eq i32 %7, %4 br i1 %cmp.i.not.i.i, label %cleanup27.i.i, label %if.then.i.i.i if.then.i.i.i: ; preds = %for.cond.i.i tail call void @llvm.nvvm.membar.sys() %8 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, i64 8), align 8, !tbaa !32 %idxprom.i.i.i = zext i32 %spec.store.select.i.i to i64 %arrayidx.i.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr %8, i64 %idxprom.i.i.i %9 = load atomic i32, ptr %arrayidx.i.i.i monotonic, align 4 %10 = tail call range(i32 0, 33) i32 @llvm.cttz.i32(i32 %4, i1 true) %iszero.i.i.i.i = icmp eq i32 %4, 0 %sub.i.i.i.i = select i1 %iszero.i.i.i.i, i32 -1, i32 %10 %11 = tail call noundef i32 @llvm.nvvm.shfl.sync.idx.i32(i32 %4, i32 %9, i32 %sub.i.i.i.i, i32 31) %12 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, i64 16), align 8, !tbaa !33 %arrayidx.i46.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr %12, i64 %idxprom.i.i.i %13 = load atomic i32, ptr %arrayidx.i46.i.i monotonic, align 4 %14 = tail call noundef i32 @llvm.nvvm.shfl.sync.idx.i32(i32 %4, i32 %13, i32 %sub.i.i.i.i, i32 31) %cmp.i49.not.i.i = icmp eq i32 %11, %14 br i1 %cmp.i49.not.i.i, label %if.end15.i.i, label %if.then13.i.i if.then13.i.i: ; preds = %if.then.i.i.i tail call void @llvm.nvvm.membar.sys() %15 = tail call range(i64 0, 65) i64 @llvm.cttz.i64(i64 %conv.i.i.i, i1 true) %iszero.i.i.i.i.i = icmp ne i32 %4, 0 %cmp2.i.i.i.i = icmp eq i64 %15, %sh_prom.i.i.i %cmp.i.i.i.i = select i1 %iszero.i.i.i.i.i, i1 %cmp2.i.i.i.i, i1 false %conv4.i.i54.i.i = zext i1 %cmp.i.i.i.i to i32 %shl.i.i55.i.i = shl nuw i32 %conv4.i.i54.i.i, %5 %xor.i.i.i.i = xor i32 %shl.i.i55.i.i, -1 %16 = atomicrmw and ptr %arrayidx.i.i.i.i, i32 %xor.i.i.i.i monotonic, align 4 tail call void @llvm.nvvm.bar.warp.sync(i32 %4) br label %cleanup27.i.i if.end15.i.i: ; preds = %if.then.i.i.i %17 = tail call range(i64 0, 65) i64 @llvm.cttz.i64(i64 %conv.i.i.i, i1 true) %iszero.i.i57.i.i = icmp ne i32 %4, 0 %cmp2.i.i.i = icmp eq i64 %17, %sh_prom.i.i.i %cmp.i58.i.i = select i1 %iszero.i.i57.i.i, i1 %cmp2.i.i.i, i1 false br i1 %cmp.i58.i.i, label %if.then17.i.i, label %if.end23.i.i if.then17.i.i: ; preds = %if.end15.i.i %18 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, i64 24), align 8, !tbaa !34 %opcode.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::rpc::Header", ptr %18, i64 %idxprom.i.i.i, i32 1 store i16 5, ptr %opcode.i.i, align 8, !tbaa !35 %arrayidx22.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::rpc::Header", ptr %18, i64 %idxprom.i.i.i store i64 %conv.i.i.i, ptr %arrayidx22.i.i, align 8, !tbaa !39 br label %if.end23.i.i if.end23.i.i: ; preds = %if.then17.i.i, %if.end15.i.i tail call void @llvm.nvvm.bar.warp.sync(i32 %4) br label %cleanup27.i.i cleanup27.i.i: ; preds = %if.end23.i.i, %if.then13.i.i, %for.cond.i.i %retval.sroa.6.1.i.i = phi i32 [ %retval.sroa.6.0.i.i, %if.then13.i.i ], [ %spec.store.select.i.i, %if.end23.i.i ], [ %retval.sroa.6.0.i.i, %for.cond.i.i ] %retval.sroa.2.1.i.i = phi i64 [ %retval.sroa.2.0.i.i, %if.then13.i.i ], [ %conv.i.i.i, %if.end23.i.i ], [ %retval.sroa.2.0.i.i, %for.cond.i.i ] %retval.sroa.8.1.i.i = phi i32 [ %retval.sroa.8.0.i.i, %if.then13.i.i ], [ %11, %if.end23.i.i ], [ %retval.sroa.8.0.i.i, %for.cond.i.i ] %cond.i.i = phi i1 [ true, %if.then13.i.i ], [ false, %if.end23.i.i ], [ true, %for.cond.i.i ] %inc.i.i = add i32 %spec.store.select.i.i, 1 br i1 %cond.i.i, label %for.cond.i.i, label %_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS2_6send_nEPKPKvPyEUlPNS0_6BufferEjE_EEvT_.exit.i.i.i, !llvm.loop !40 _ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS2_6send_nEPKPKvPyEUlPNS0_6BufferEjE_EEvT_.exit.i.i.i: ; preds = %cleanup27.i.i %retval.sroa.6.1.i.i.lcssa = phi i32 [ %retval.sroa.6.1.i.i, %cleanup27.i.i ] %retval.sroa.2.1.i.i.lcssa = phi i64 [ %retval.sroa.2.1.i.i, %cleanup27.i.i ] %retval.sroa.8.1.i.i.lcssa = phi i32 [ %retval.sroa.8.1.i.i, %cleanup27.i.i ] %sub.ptr.rhs.cast.i.i.i = ptrtoint ptr %str to i64 %sub.ptr.lhs.cast.i.i.i = ptrtoint ptr %End.0.i.i.i.lcssa to i64 %sub.ptr.sub.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i, %sub.ptr.rhs.cast.i.i.i tail call void @llvm.nvvm.membar.sys() %19 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, i64 32), align 8, !tbaa !41 %mul.i.i.i.i.i = shl i32 %retval.sroa.6.1.i.i.lcssa, 5 %idxprom.i19.i.i.i.i = zext i32 %mul.i.i.i.i.i to i64 %arrayidx.i20.i.i.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::rpc::Buffer", ptr %19, i64 %idxprom.i19.i.i.i.i %arrayidx.i22.i.i.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::rpc::Buffer", ptr %arrayidx.i20.i.i.i.i, i64 %sh_prom.i.i.i store i64 %sub.ptr.sub.i.i.i, ptr %arrayidx.i22.i.i.i.i, align 8, !tbaa !42 %spec.select.i.i.i.i = tail call i64 @llvm.umin.i64(i64 %sub.ptr.sub.i.i.i, i64 56) %arrayidx6.i.i.i.i.i = getelementptr inbounds i8, ptr %arrayidx.i22.i.i.i.i, i64 8 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %arrayidx6.i.i.i.i.i, ptr align 1 %str, i64 %spec.select.i.i.i.i, i1 false), !alias.scope !43 %tobool.not.i.i.i.i.i = icmp eq i32 %retval.sroa.8.1.i.i.lcssa, 0 %conv.i.i.i.i.i = zext i1 %tobool.not.i.i.i.i.i to i32 tail call void @llvm.nvvm.membar.sys() %20 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, i64 16), align 8, !tbaa !33 %idxprom.i23.i.i.i.i = zext i32 %retval.sroa.6.1.i.i.lcssa to i64 %arrayidx.i24.i.i.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr %20, i64 %idxprom.i23.i.i.i.i store atomic i32 %conv.i.i.i.i.i, ptr %arrayidx.i24.i.i.i.i monotonic, align 4 %21 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, i64 24), align 8, !tbaa !47 %arrayidx.i.i2.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::rpc::Header", ptr %21, i64 %idxprom.i23.i.i.i.i %22 = load i64, ptr %arrayidx.i.i2.i, align 8, !tbaa !39 %conv.i.i.i.i = trunc i64 %22 to i32 %conv.i.i.i16.i.i.i = trunc i64 %retval.sroa.2.1.i.i.lcssa to i32 %23 = tail call range(i32 0, 33) i32 @llvm.cttz.i32(i32 %conv.i.i.i16.i.i.i, i1 true) %iszero.i.i.i17.i.i.i = icmp eq i32 %conv.i.i.i16.i.i.i, 0 %sub.i.i.i18.i.i.i = select i1 %iszero.i.i.i17.i.i.i, i32 -1, i32 %23 br label %while.cond.i.i.i while.cond.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS2_6send_nEPKPKvPyEUlPNS0_6BufferEjE0_EEvT_.exit.i.i.i, %_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS2_6send_nEPKPKvPyEUlPNS0_6BufferEjE_EEvT_.exit.i.i.i %port.sroa.46.0.i = phi i32 [ %conv.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS2_6send_nEPKPKvPyEUlPNS0_6BufferEjE_EEvT_.exit.i.i.i ], [ %conv.i.i37.i.i.i, %_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS2_6send_nEPKPKvPyEUlPNS0_6BufferEjE0_EEvT_.exit.i.i.i ] %idx.0.i.i.i = phi i64 [ 56, %_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS2_6send_nEPKPKvPyEUlPNS0_6BufferEjE_EEvT_.exit.i.i.i ], [ %add.i.i.i, %_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS2_6send_nEPKPKvPyEUlPNS0_6BufferEjE0_EEvT_.exit.i.i.i ] %cmp.i.i.i5 = icmp ult i64 %idx.0.i.i.i, %sub.ptr.sub.i.i.i %24 = tail call i32 @llvm.nvvm.vote.ballot.sync(i32 %conv.i.i.i.i, i1 %cmp.i.i.i5) %tobool.not.i.i.i = icmp eq i32 %24, 0 %25 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, i64 8), align 8, !tbaa !32 %arrayidx.i23.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr %25, i64 %idxprom.i23.i.i.i.i %26 = load atomic i32, ptr %arrayidx.i23.i.i monotonic, align 4 br i1 %tobool.not.i.i.i, label %cond.false.i.i, label %cond.false.i10.i.i.i cond.false.i10.i.i.i: ; preds = %while.cond.i.i.i %27 = tail call noundef i32 @llvm.nvvm.shfl.sync.idx.i32(i32 %conv.i.i.i16.i.i.i, i32 %26, i32 %sub.i.i.i18.i.i.i, i32 31) %cmp.i.not3.i.i24.i.i.i = icmp eq i32 %27, %port.sroa.46.0.i br i1 %cmp.i.not3.i.i24.i.i.i, label %_ZN22__llvm_libc_19_0_0_git3rpc7ProcessILb0EE18wait_for_ownershipEyjjj.exit.i.i.i.i, label %while.body.i.i33.i.i.i while.body.i.i33.i.i.i: ; preds = %while.body.i.i33.i.i.i, %cond.false.i10.i.i.i %28 = load atomic i32, ptr %arrayidx.i23.i.i monotonic, align 4 %29 = tail call noundef i32 @llvm.nvvm.shfl.sync.idx.i32(i32 %conv.i.i.i16.i.i.i, i32 %28, i32 %sub.i.i.i18.i.i.i, i32 31) %cmp.i.not.i.i34.i.i.i = icmp eq i32 %29, %port.sroa.46.0.i br i1 %cmp.i.not.i.i34.i.i.i, label %_ZN22__llvm_libc_19_0_0_git3rpc7ProcessILb0EE18wait_for_ownershipEyjjj.exit.i.i.i.i, label %while.body.i.i33.i.i.i, !llvm.loop !48 _ZN22__llvm_libc_19_0_0_git3rpc7ProcessILb0EE18wait_for_ownershipEyjjj.exit.i.i.i.i: ; preds = %while.body.i.i33.i.i.i, %cond.false.i10.i.i.i tail call void @llvm.nvvm.membar.sys() br i1 %cmp.i.i.i5, label %if.then.i.i.i.i.i, label %_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS2_6send_nEPKPKvPyEUlPNS0_6BufferEjE0_EEvT_.exit.i.i.i if.then.i.i.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git3rpc7ProcessILb0EE18wait_for_ownershipEyjjj.exit.i.i.i.i %sub.i.i.i.i.i = sub i64 %sub.ptr.sub.i.i.i, %idx.0.i.i.i %spec.select.i42.i.i.i = tail call i64 @llvm.umin.i64(i64 %sub.i.i.i.i.i, i64 64) %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %str, i64 %idx.0.i.i.i %30 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, i64 32), align 8, !tbaa !41 %arrayidx.i20.i47.i.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::rpc::Buffer", ptr %30, i64 %idxprom.i19.i.i.i.i %arrayidx.i22.i49.i.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::rpc::Buffer", ptr %arrayidx.i20.i47.i.i.i, i64 %sh_prom.i.i.i tail call void @llvm.memcpy.p0.p0.i64(ptr align 1 %arrayidx.i22.i49.i.i.i, ptr align 1 %add.ptr.i.i.i.i.i, i64 %spec.select.i42.i.i.i, i1 false), !alias.scope !49 br label %_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS2_6send_nEPKPKvPyEUlPNS0_6BufferEjE0_EEvT_.exit.i.i.i _ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS2_6send_nEPKPKvPyEUlPNS0_6BufferEjE0_EEvT_.exit.i.i.i: ; preds = %if.then.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git3rpc7ProcessILb0EE18wait_for_ownershipEyjjj.exit.i.i.i.i %conv.i.i37.i.i.i = xor i32 %port.sroa.46.0.i, 1 tail call void @llvm.nvvm.membar.sys() %31 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, i64 16), align 8, !tbaa !33 %arrayidx.i24.i40.i.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr %31, i64 %idxprom.i23.i.i.i.i store atomic i32 %conv.i.i37.i.i.i, ptr %arrayidx.i24.i40.i.i.i monotonic, align 4 %add.i.i.i = add i64 %idx.0.i.i.i, 64 br label %while.cond.i.i.i, !llvm.loop !53 cond.false.i.i: ; preds = %while.cond.i.i.i %port.sroa.46.0.i.lcssa = phi i32 [ %port.sroa.46.0.i, %while.cond.i.i.i ] %arrayidx.i23.i.i.lcssa = phi ptr [ %arrayidx.i23.i.i, %while.cond.i.i.i ] %.lcssa = phi i32 [ %26, %while.cond.i.i.i ] %32 = tail call noundef i32 @llvm.nvvm.shfl.sync.idx.i32(i32 %conv.i.i.i16.i.i.i, i32 %.lcssa, i32 %sub.i.i.i18.i.i.i, i32 31) %cmp.i.not3.i.i.i = icmp eq i32 %32, %port.sroa.46.0.i.lcssa br i1 %cmp.i.not3.i.i.i, label %_ZN22__llvm_libc_19_0_0_git4file10write_implILt5EEEyP4FILEPKvm.exit, label %while.body.i.i.i while.body.i.i.i: ; preds = %while.body.i.i.i, %cond.false.i.i %33 = load atomic i32, ptr %arrayidx.i23.i.i.lcssa monotonic, align 4 %34 = tail call noundef i32 @llvm.nvvm.shfl.sync.idx.i32(i32 %conv.i.i.i16.i.i.i, i32 %33, i32 %sub.i.i.i18.i.i.i, i32 31) %cmp.i.not.i.i.i = icmp eq i32 %34, %port.sroa.46.0.i.lcssa br i1 %cmp.i.not.i.i.i, label %_ZN22__llvm_libc_19_0_0_git4file10write_implILt5EEEyP4FILEPKvm.exit, label %while.body.i.i.i, !llvm.loop !48 _ZN22__llvm_libc_19_0_0_git4file10write_implILt5EEEyP4FILEPKvm.exit: ; preds = %while.body.i.i.i, %cond.false.i.i tail call void @llvm.nvvm.membar.sys() tail call void @llvm.nvvm.bar.warp.sync(i32 %conv.i.i.i16.i.i.i) tail call void @llvm.nvvm.membar.sys() %35 = tail call range(i64 0, 65) i64 @llvm.cttz.i64(i64 %retval.sroa.2.1.i.i.lcssa, i1 true) %iszero.i.i.i.i20.i = icmp ne i64 %retval.sroa.2.1.i.i.lcssa, 0 %cmp2.i.i.i21.i = icmp eq i64 %35, %sh_prom.i.i.i %cmp.i.i.i22.i = select i1 %iszero.i.i.i.i20.i, i1 %cmp2.i.i.i21.i, i1 false %div8.i.i.i23.i = lshr i32 %retval.sroa.6.1.i.i.lcssa, 5 %36 = and i32 %retval.sroa.6.1.i.i.lcssa, 31 %idxprom.i.i.i24.i = zext nneg i32 %div8.i.i.i23.i to i64 %arrayidx.i.i.i25.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, i64 40), i64 %idxprom.i.i.i24.i %conv4.i.i.i26.i = zext i1 %cmp.i.i.i22.i to i32 %shl.i.i.i27.i = shl nuw i32 %conv4.i.i.i26.i, %36 %xor.i.i.i28.i = xor i32 %shl.i.i.i27.i, -1 %37 = atomicrmw and ptr %arrayidx.i.i.i25.i, i32 %xor.i.i.i28.i monotonic, align 4 tail call void @llvm.nvvm.bar.warp.sync(i32 %conv.i.i.i16.i.i.i) ret void } ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare noundef i32 @llvm.nvvm.read.ptx.sreg.smid() #5 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare noundef i32 @llvm.nvvm.read.ptx.sreg.laneid() #5 ; Function Attrs: convergent nocallback nounwind memory(inaccessiblemem: readwrite) declare i32 @llvm.nvvm.activemask() #6 ; Function Attrs: convergent nocallback nounwind memory(inaccessiblemem: readwrite) declare i32 @llvm.nvvm.vote.ballot.sync(i32, i1) #6 ; Function Attrs: nocallback nounwind declare void @llvm.nvvm.membar.sys() #7 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare i32 @llvm.cttz.i32(i32, i1 immarg) #5 ; Function Attrs: convergent nocallback nounwind memory(inaccessiblemem: readwrite) declare i32 @llvm.nvvm.shfl.sync.idx.i32(i32, i32, i32, i32) #6 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare i64 @llvm.cttz.i64(i64, i1 immarg) #5 ; Function Attrs: convergent nocallback nounwind declare void @llvm.nvvm.bar.warp.sync(i32) #8 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare i64 @llvm.umin.i64(i64, i64) #5 ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite) declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #9 ; Function Attrs: convergent mustprogress nounwind define protected void @_begin(i32 noundef %argc, ptr nocapture noundef readnone %argv, ptr nocapture noundef readnone %env) local_unnamed_addr #10 { entry: %0 = load i64, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git16atexit_callbacksE, i64 1024), align 8, !tbaa !54 %cmp.i.not.i.i = icmp eq i64 %0, 64 br i1 %cmp.i.not.i.i, label %atexit.exit, label %if.end.i.i.i if.end.i.i.i: ; preds = %entry %inc.i.i.i = add i64 %0, 1 %arrayidx.i.i.i.i = getelementptr inbounds [64 x %"struct.__llvm_libc_19_0_0_git::AtExitUnit"], ptr @_ZN22__llvm_libc_19_0_0_git16atexit_callbacksE, i64 0, i64 %0 %ref.tmp.sroa.4.0.arrayidx.i.i.i.sroa_idx.i = getelementptr inbounds i8, ptr %arrayidx.i.i.i.i, i64 8 store ptr @_ZN22__llvm_libc_19_0_0_git17stdc_at_exit_funcEPv, ptr %arrayidx.i.i.i.i, align 8, !tbaa !11 store ptr @_ZN22__llvm_libc_19_0_0_gitL25call_fini_array_callbacksEv, ptr %ref.tmp.sroa.4.0.arrayidx.i.i.i.sroa_idx.i, align 8, !tbaa !11 store i64 %inc.i.i.i, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git16atexit_callbacksE, i64 1024), align 8, !tbaa !54 br label %atexit.exit atexit.exit: ; preds = %if.end.i.i.i, %entry %1 = load ptr, ptr @__init_array_end, align 8, !tbaa !11 %2 = load ptr, ptr @__init_array_start, align 8, !tbaa !11 %cmp1.not.i = icmp eq ptr %1, %2 br i1 %cmp1.not.i, label %_ZN22__llvm_libc_19_0_0_gitL25call_init_array_callbacksEiPPcS1_.exit, label %for.body.preheader.i for.body.preheader.i: ; preds = %atexit.exit %sub.ptr.lhs.cast.i = ptrtoint ptr %1 to i64 %sub.ptr.rhs.cast.i = ptrtoint ptr %2 to i64 %sub.ptr.sub.i = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.rhs.cast.i %sub.ptr.div.i = ashr exact i64 %sub.ptr.sub.i, 3 %umax.i = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i, i64 1) br label %for.body.i for.body.i: ; preds = %for.body.i, %for.body.preheader.i %i.02.i = phi i64 [ %inc.i, %for.body.i ], [ 0, %for.body.preheader.i ] %3 = load ptr, ptr @__init_array_start, align 8, !tbaa !11 %arrayidx.i = getelementptr inbounds i64, ptr %3, i64 %i.02.i %4 = load i64, ptr %arrayidx.i, align 8, !tbaa !57 %5 = inttoptr i64 %4 to ptr tail call void %5() #20 %inc.i = add nuw i64 %i.02.i, 1 %exitcond.not.i = icmp eq i64 %inc.i, %umax.i br i1 %exitcond.not.i, label %_ZN22__llvm_libc_19_0_0_gitL25call_init_array_callbacksEiPPcS1_.exit, label %for.body.i, !llvm.loop !58 _ZN22__llvm_libc_19_0_0_gitL25call_init_array_callbacksEiPPcS1_.exit: ; preds = %for.body.i, %atexit.exit ret void } ; Function Attrs: convergent mustprogress nounwind define internal void @_ZN22__llvm_libc_19_0_0_gitL25call_fini_array_callbacksEv() #10 { entry: %0 = load ptr, ptr @__fini_array_end, align 8, !tbaa !11 %1 = load ptr, ptr @__fini_array_start, align 8, !tbaa !11 %cmp.not3 = icmp eq ptr %0, %1 br i1 %cmp.not3, label %for.cond.cleanup, label %for.body.preheader for.body.preheader: ; preds = %entry %sub.ptr.lhs.cast = ptrtoint ptr %0 to i64 %sub.ptr.rhs.cast = ptrtoint ptr %1 to i64 %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast %sub.ptr.div = ashr exact i64 %sub.ptr.sub, 3 br label %for.body for.cond.cleanup: ; preds = %for.body, %entry ret void for.body: ; preds = %for.body, %for.body.preheader %i.04 = phi i64 [ %dec, %for.body ], [ %sub.ptr.div, %for.body.preheader ] %2 = load ptr, ptr @__fini_array_start, align 8, !tbaa !11 %3 = getelementptr i64, ptr %2, i64 %i.04 %arrayidx = getelementptr i8, ptr %3, i64 -8 %4 = load i64, ptr %arrayidx, align 8, !tbaa !57 %5 = inttoptr i64 %4 to ptr tail call void %5() #20 %dec = add i64 %i.04, -1 %cmp.not = icmp eq i64 %dec, 0 br i1 %cmp.not, label %for.cond.cleanup, label %for.body, !llvm.loop !59 } ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare i64 @llvm.umax.i64(i64, i64) #5 ; Function Attrs: mustprogress nounwind define protected void @_start(i32 noundef %argc, ptr nocapture noundef readnone %argv, ptr nocapture noundef readnone %envp, ptr nocapture noundef %ret) local_unnamed_addr #11 { entry: %call = tail call i32 @main() #21 %0 = atomicrmw or ptr %ret, i32 %call monotonic, align 4 ret void } ; Function Attrs: convergent mustprogress noreturn nounwind define protected void @_end(i32 noundef %retval) local_unnamed_addr #12 { entry: tail call fastcc void @exit(i32 noundef %retval) #22 unreachable } ; Function Attrs: convergent mustprogress nounwind define internal fastcc void @__cxa_finalize() unnamed_addr #1 { entry: %0 = load i64, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git16atexit_callbacksE, i64 1024), align 8, !tbaa !54 %cmp.i13.i = icmp eq i64 %0, 0 br i1 %cmp.i13.i, label %_ZN22__llvm_libc_19_0_0_git19call_exit_callbacksERNS_11FixedVectorINS_10AtExitUnitELm64EEE.exit, label %while.body.i while.body.i: ; preds = %while.body.i, %entry %1 = phi i64 [ %4, %while.body.i ], [ %0, %entry ] %sub.i.i = add i64 %1, -1 %arrayidx.i.i.i = getelementptr inbounds [64 x %"struct.__llvm_libc_19_0_0_git::AtExitUnit"], ptr @_ZN22__llvm_libc_19_0_0_git16atexit_callbacksE, i64 0, i64 %sub.i.i store i64 %sub.i.i, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git16atexit_callbacksE, i64 1024), align 8, !tbaa !54 %2 = load ptr, ptr %arrayidx.i.i.i, align 8, !tbaa !60 %payload.i = getelementptr inbounds i8, ptr %arrayidx.i.i.i, i64 8 %3 = load ptr, ptr %payload.i, align 8, !tbaa !62 tail call void %2(ptr noundef %3) #19 %4 = load i64, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git16atexit_callbacksE, i64 1024), align 8, !tbaa !54 %cmp.i.i = icmp eq i64 %4, 0 br i1 %cmp.i.i, label %_ZN22__llvm_libc_19_0_0_git19call_exit_callbacksERNS_11FixedVectorINS_10AtExitUnitELm64EEE.exit, label %while.body.i, !llvm.loop !63 _ZN22__llvm_libc_19_0_0_git19call_exit_callbacksERNS_11FixedVectorINS_10AtExitUnitELm64EEE.exit: ; preds = %while.body.i, %entry store i64 0, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git16atexit_callbacksE, i64 1024), align 8, !tbaa !54 ret void } ; Function Attrs: convergent inlinehint mustprogress nounwind define internal void @_ZN22__llvm_libc_19_0_0_git17stdc_at_exit_funcEPv(ptr nocapture noundef readonly %payload) #13 comdat { entry: tail call void %payload() #19 ret void } ; Function Attrs: convergent mustprogress noreturn nounwind define internal fastcc void @exit(i32 noundef %status) unnamed_addr #14 { entry: tail call fastcc void @__cxa_finalize() #19 tail call fastcc void @_ZN22__llvm_libc_19_0_0_git8internal4exitEi(i32 noundef %status) #23 unreachable } ; Function Attrs: convergent mustprogress nounwind define internal fastcc void @_ZN22__llvm_libc_19_0_0_git11printf_core11printf_mainEPNS0_6WriterEPKcRNS_8internal7ArgListE(ptr noundef %writer, ptr noundef nonnull align 8 dereferenceable(8) %args) unnamed_addr #1 { entry: %agg.tmp.i40.i1127.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp1939.i1128.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i1129.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp35.i1130.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %mini_buff.i1131.i = alloca [64 x i8], align 1 %agg.tmp.i40.i1042.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp1939.i1043.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i1044.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp35.i1045.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %mini_buff.i1046.i = alloca [64 x i8], align 1 %agg.tmp.i40.i957.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp1939.i958.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i959.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp35.i960.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %mini_buff.i961.i = alloca [64 x i8], align 1 %agg.tmp.i40.i872.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp1939.i873.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i874.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp35.i875.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %mini_buff.i876.i = alloca [64 x i8], align 1 %agg.tmp.i40.i787.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp1939.i788.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i789.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp35.i790.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %mini_buff.i791.i = alloca [64 x i8], align 1 %agg.tmp.i40.i702.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp1939.i703.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i704.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp35.i705.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %mini_buff.i706.i = alloca [64 x i8], align 1 %agg.tmp.i40.i617.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp1939.i618.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i619.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp35.i620.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %mini_buff.i621.i = alloca [64 x i8], align 1 %agg.tmp.i40.i532.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp1939.i533.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i534.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp35.i535.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %mini_buff.i536.i = alloca [64 x i8], align 1 %agg.tmp.i40.i447.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp1939.i448.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i449.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp35.i450.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %mini_buff.i451.i = alloca [64 x i8], align 1 %agg.tmp.i40.i362.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp1939.i363.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i364.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp35.i365.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %mini_buff.i366.i = alloca [64 x i8], align 1 %agg.tmp.i40.i277.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp1939.i278.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i279.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp35.i280.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %mini_buff.i281.i = alloca [64 x i8], align 1 %agg.tmp.i40.i192.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp1939.i193.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i194.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp35.i195.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %mini_buff.i196.i = alloca [64 x i8], align 1 %agg.tmp.i40.i106.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp1939.i107.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i108.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp35.i109.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %mini_buff.i110.i = alloca [64 x i8], align 1 %agg.tmp.i40.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp1939.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i68.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp35.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %mini_buff.i.i = alloca [64 x i8], align 1 %agg.tmp.i.i196.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp20.i197.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i492.i.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp20.i493.i.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i431.i.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp20.i432.i.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i354.i.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp20.i355.i.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i.i11.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp20.i.i12.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %buf.i.i.i = alloca %"struct.__llvm_libc_19_0_0_git::cpp::array.5", align 1 %prefix.i.i.i = alloca [2 x i8], align 2 %agg.tmp.i.i.i.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp20.i.i.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %NULLPTR_STR.i.i = alloca [10 x i8], align 4 %agg.tmp.i.i492.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp20.i493.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i431.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp20.i432.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i354.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp20.i355.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i.i125.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp20.i.i126.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %buf.i.i = alloca %"struct.__llvm_libc_19_0_0_git::cpp::array.5", align 1 %prefix.i.i = alloca [2 x i8], align 1 %agg.tmp.i.i.i81.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp20.i.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp12.i.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %new_char.addr.i.i.i = alloca i8, align 1 %agg.tmp.i.i30.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp20.i31.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp20.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %parser = alloca %"class.__llvm_libc_19_0_0_git::printf_core::Parser", align 8 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %parser) #18 %0 = getelementptr inbounds i8, ptr %parser, i64 8 %1 = getelementptr inbounds i8, ptr %parser, i64 16 store ptr inttoptr (i64 -6148914691236517206 to ptr), ptr %1, align 8, !annotation !10 store ptr @.str, ptr %parser, align 8, !tbaa !64, !noalias !67 store i64 0, ptr %0, align 8, !tbaa !72, !noalias !67 call void @llvm.va_copy.p0(ptr nonnull %1, ptr nonnull %args) %2 = load i64, ptr %0, align 8, !tbaa !72 %3 = load ptr, ptr %parser, align 8, !tbaa !64 %arrayidx.i = getelementptr inbounds i8, ptr %3, i64 %2 %4 = load i8, ptr %arrayidx.i, align 1, !tbaa !26 %cmp.i = icmp eq i8 %4, 37 br i1 %cmp.i, label %if.then.i, label %while.cond.i if.then.i: ; preds = %entry %inc.i = add i64 %2, 1 store i64 %inc.i, ptr %0, align 8, !tbaa !72 br label %while.body.i.i while.body.i.i: ; preds = %if.end.i.i, %if.then.i %5 = phi i64 [ %inc.i, %if.then.i ], [ %12, %if.end.i.i ] %flags.033.i.i = phi i8 [ 0, %if.then.i ], [ %flags.1.i.i, %if.end.i.i ] %arrayidx.i.i = getelementptr inbounds i8, ptr %3, i64 %5 %6 = load i8, ptr %arrayidx.i.i, align 1, !tbaa !26 switch i8 %6, label %sw.epilog.i.i [ i8 45, label %sw.bb.i.i i8 43, label %sw.bb4.i.i i8 32, label %sw.bb8.i.i i8 35, label %sw.bb12.i.i i8 48, label %sw.bb16.i.i ] sw.bb.i.i: ; preds = %while.body.i.i %7 = or i8 %flags.033.i.i, 1 br label %sw.epilog.i.i sw.bb4.i.i: ; preds = %while.body.i.i %8 = or i8 %flags.033.i.i, 2 br label %sw.epilog.i.i sw.bb8.i.i: ; preds = %while.body.i.i %9 = or i8 %flags.033.i.i, 4 br label %sw.epilog.i.i sw.bb12.i.i: ; preds = %while.body.i.i %10 = or i8 %flags.033.i.i, 8 br label %sw.epilog.i.i sw.bb16.i.i: ; preds = %while.body.i.i %11 = or i8 %flags.033.i.i, 16 br label %sw.epilog.i.i sw.epilog.i.i: ; preds = %sw.bb16.i.i, %sw.bb12.i.i, %sw.bb8.i.i, %sw.bb4.i.i, %sw.bb.i.i, %while.body.i.i %found_flag.1.off0.i.i = phi i1 [ true, %sw.bb16.i.i ], [ true, %sw.bb12.i.i ], [ true, %sw.bb8.i.i ], [ true, %sw.bb4.i.i ], [ true, %sw.bb.i.i ], [ false, %while.body.i.i ] %flags.1.i.i = phi i8 [ %11, %sw.bb16.i.i ], [ %10, %sw.bb12.i.i ], [ %9, %sw.bb8.i.i ], [ %8, %sw.bb4.i.i ], [ %7, %sw.bb.i.i ], [ %flags.033.i.i, %while.body.i.i ] br i1 %found_flag.1.off0.i.i, label %if.then.i.i, label %if.end.i.i if.then.i.i: ; preds = %sw.epilog.i.i %inc.i.i = add i64 %5, 1 store i64 %inc.i.i, ptr %0, align 8, !tbaa !57 br label %if.end.i.i if.end.i.i: ; preds = %if.then.i.i, %sw.epilog.i.i %12 = phi i64 [ %inc.i.i, %if.then.i.i ], [ %5, %sw.epilog.i.i ] br i1 %found_flag.1.off0.i.i, label %while.body.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE11parse_flagsEPm.exit.i, !llvm.loop !73 _ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE11parse_flagsEPm.exit.i: ; preds = %if.end.i.i %.lcssa168 = phi i64 [ %12, %if.end.i.i ] %flags.1.i.i.lcssa = phi i8 [ %flags.1.i.i, %if.end.i.i ] %arrayidx7.i = getelementptr inbounds i8, ptr %3, i64 %.lcssa168 %13 = load i8, ptr %arrayidx7.i, align 1, !tbaa !26 %cmp9.i = icmp eq i8 %13, 42 br i1 %cmp9.i, label %if.then10.i, label %if.else.i if.then10.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE11parse_flagsEPm.exit.i %inc12.i = add i64 %.lcssa168, 1 store i64 %inc12.i, ptr %0, align 8, !tbaa !72 %argp.cur.i.i.i = load ptr, ptr %1, align 8 %14 = getelementptr inbounds i8, ptr %argp.cur.i.i.i, i64 3 %argp.cur.aligned.i.i.i = call align 4 ptr @llvm.ptrmask.p0.i64(ptr nonnull %14, i64 -4) %argp.next.i.i.i = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i.i, i64 4 store ptr %argp.next.i.i.i, ptr %1, align 8 %15 = load i32, ptr %argp.cur.aligned.i.i.i, align 4, !tbaa !74 br label %if.end29.i if.else.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE11parse_flagsEPm.exit.i %conv8.i = sext i8 %13 to i32 %sub.i.i = add nsw i32 %conv8.i, -48 %cmp.i.i = icmp ult i32 %sub.i.i, 10 br i1 %cmp.i.i, label %land.rhs.i.i.i, label %if.end29.i land.rhs.i.i.i: ; preds = %while.body.i.i.i, %if.else.i %src_cur.06.i.i.i = phi i64 [ %inc.i.i.i, %while.body.i.i.i ], [ 0, %if.else.i ] %arrayidx.i.i.i = getelementptr inbounds i8, ptr %arrayidx7.i, i64 %src_cur.06.i.i.i %16 = load i8, ptr %arrayidx.i.i.i, align 1, !tbaa !26, !alias.scope !75 switch i8 %16, label %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i [ i8 32, label %while.body.i.i.i i8 13, label %while.body.i.i.i i8 12, label %while.body.i.i.i i8 11, label %while.body.i.i.i i8 10, label %while.body.i.i.i i8 9, label %while.body.i.i.i ] while.body.i.i.i: ; preds = %land.rhs.i.i.i, %land.rhs.i.i.i, %land.rhs.i.i.i, %land.rhs.i.i.i, %land.rhs.i.i.i, %land.rhs.i.i.i %inc.i.i.i = add nuw i64 %src_cur.06.i.i.i, 1 %exitcond.not.i.i.i = icmp eq i64 %inc.i.i.i, -1 br i1 %exitcond.not.i.i.i, label %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i, label %land.rhs.i.i.i, !llvm.loop !78 while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i: ; preds = %while.body.i.i.i %add.ptr.i.phi.trans.insert.i.i = getelementptr inbounds i8, ptr %arrayidx7.i, i64 -1 %.pre.i.i = load i8, ptr %add.ptr.i.phi.trans.insert.i.i, align 1, !tbaa !26, !alias.scope !75 br label %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i _ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i: ; preds = %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i, %land.rhs.i.i.i %17 = phi i8 [ %.pre.i.i, %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i ], [ %16, %land.rhs.i.i.i ] %src_cur.0.lcssa.i.i.i = phi i64 [ -1, %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i ], [ %src_cur.06.i.i.i, %land.rhs.i.i.i ] switch i8 %17, label %if.end14.i.i [ i8 43, label %if.then12.i.i i8 45, label %if.then12.i.i ] if.then12.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i %inc.i219.i = add i64 %src_cur.0.lcssa.i.i.i, 1 %18 = icmp eq i8 %17, 43 br label %if.end14.i.i if.end14.i.i: ; preds = %if.then12.i.i, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i %result_sign.0.i.i = phi i1 [ %18, %if.then12.i.i ], [ true, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i ] %src_cur.0.i.i = phi i64 [ %inc.i219.i, %if.then12.i.i ], [ %src_cur.0.lcssa.i.i.i, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i ] %cond.i.i = select i1 %result_sign.0.i.i, i64 2147483647, i64 2147483648 br label %while.cond.i.i while.cond.i.i: ; preds = %cleanup.i.i, %if.end14.i.i %error_val.0.i.i = phi i32 [ 0, %if.end14.i.i ], [ %error_val.3.i.i, %cleanup.i.i ] %src_cur.2.i.i = phi i64 [ %src_cur.0.i.i, %if.end14.i.i ], [ %src_cur.3.i.i, %cleanup.i.i ] %is_number.0.off0.i.i = phi i1 [ false, %if.end14.i.i ], [ %is_number.1.off0.i.i, %cleanup.i.i ] %result.0.i.i = phi i64 [ 0, %if.end14.i.i ], [ %result.3.i.i, %cleanup.i.i ] %cmp30.i.not.i = icmp eq i64 %src_cur.2.i.i, -1 br i1 %cmp30.i.not.i, label %while.end.i.i, label %land.rhs.i.i land.rhs.i.i: ; preds = %while.cond.i.i %arrayidx31.i.i = getelementptr inbounds i8, ptr %arrayidx7.i, i64 %src_cur.2.i.i %19 = load i8, ptr %arrayidx31.i.i, align 1, !tbaa !26, !alias.scope !75 %conv32.i.i = sext i8 %19 to i32 %or.i.i.i.i = or i32 %conv32.i.i, 32 %sub.i.i.i.i = add nsw i32 %or.i.i.i.i, -97 %cmp.i.i148.i.i = icmp ult i32 %sub.i.i.i.i, 26 %sub.i3.i.i.i = add nsw i32 %conv32.i.i, -48 %cmp.i4.i.i.i = icmp ult i32 %sub.i3.i.i.i, 10 %spec.select.i149.i.i = select i1 %cmp.i.i148.i.i, i1 true, i1 %cmp.i4.i.i.i br i1 %spec.select.i149.i.i, label %while.body.i220.i, label %while.end.i.i while.body.i220.i: ; preds = %land.rhs.i.i %sub6.i.i.i = add nsw i32 %or.i.i.i.i, -87 %spec.select.i154.i.i = select i1 %cmp.i.i148.i.i, i32 %sub6.i.i.i, i32 0 %spec.select163.i.i = select i1 %cmp.i4.i.i.i, i32 %sub.i3.i.i.i, i32 %spec.select.i154.i.i %cmp36.not.not.i.i = icmp slt i32 %spec.select163.i.i, 10 br i1 %cmp36.not.not.i.i, label %if.end38.i.i, label %cleanup.i.i if.end38.i.i: ; preds = %while.body.i220.i %inc39.i.i = add nuw i64 %src_cur.2.i.i, 1 %cmp40.i.i = icmp eq i64 %result.0.i.i, %cond.i.i br i1 %cmp40.i.i, label %cleanup.i.i, label %if.end42.i.i, !llvm.loop !79 if.end42.i.i: ; preds = %if.end38.i.i %cmp43.i.i = icmp ugt i64 %result.0.i.i, 214748364 %mul.i.i = mul i64 %result.0.i.i, 10 %result.1.i.i = select i1 %cmp43.i.i, i64 %cond.i.i, i64 %mul.i.i %conv47.i.i = sext i32 %spec.select163.i.i to i64 %sub48.i.i = sub nsw i64 %cond.i.i, %conv47.i.i %cmp49.i.i = icmp ugt i64 %result.1.i.i, %sub48.i.i %add53.i.i = add i64 %result.1.i.i, %conv47.i.i %20 = or i1 %cmp43.i.i, %cmp49.i.i %error_val.2.i.i = select i1 %20, i32 34, i32 %error_val.0.i.i %result.2.i.i = select i1 %cmp49.i.i, i64 %cond.i.i, i64 %add53.i.i br label %cleanup.i.i cleanup.i.i: ; preds = %if.end42.i.i, %if.end38.i.i, %while.body.i220.i %error_val.3.i.i = phi i32 [ %error_val.2.i.i, %if.end42.i.i ], [ %error_val.0.i.i, %while.body.i220.i ], [ 34, %if.end38.i.i ] %src_cur.3.i.i = phi i64 [ %inc39.i.i, %if.end42.i.i ], [ %src_cur.2.i.i, %while.body.i220.i ], [ %inc39.i.i, %if.end38.i.i ] %is_number.1.off0.i.i = phi i1 [ true, %if.end42.i.i ], [ %is_number.0.off0.i.i, %while.body.i220.i ], [ true, %if.end38.i.i ] %result.3.i.i = phi i64 [ %result.2.i.i, %if.end42.i.i ], [ %result.0.i.i, %while.body.i220.i ], [ %cond.i.i, %if.end38.i.i ] br i1 %cmp36.not.not.i.i, label %while.cond.i.i, label %while.end.i.i while.end.i.i: ; preds = %cleanup.i.i, %land.rhs.i.i, %while.cond.i.i %error_val.4.i.i = phi i32 [ %error_val.3.i.i, %cleanup.i.i ], [ %error_val.0.i.i, %land.rhs.i.i ], [ %error_val.0.i.i, %while.cond.i.i ] %src_cur.4.i.i = phi i64 [ %src_cur.3.i.i, %cleanup.i.i ], [ %src_cur.2.i.i, %land.rhs.i.i ], [ -1, %while.cond.i.i ] %is_number.2.off0.i.i = phi i1 [ %is_number.1.off0.i.i, %cleanup.i.i ], [ %is_number.0.off0.i.i, %land.rhs.i.i ], [ %is_number.0.off0.i.i, %while.cond.i.i ] %result.4.i.i = phi i64 [ %result.3.i.i, %cleanup.i.i ], [ %result.0.i.i, %land.rhs.i.i ], [ %result.0.i.i, %while.cond.i.i ] %cond56.i.i = select i1 %is_number.2.off0.i.i, i64 %src_cur.4.i.i, i64 0 %cmp57.i.i = icmp eq i32 %error_val.4.i.i, 34 %conv67.i.i = trunc i64 %result.4.i.i to i32 %sub70.i.i = sub i32 0, %conv67.i.i %cond72.i.i = select i1 %result_sign.0.i.i, i32 %conv67.i.i, i32 %sub70.i.i %..i.i = select i1 %result_sign.0.i.i, i32 2147483647, i32 -2147483648 %retval.sroa.0.0.i.i = select i1 %cmp57.i.i, i32 %..i.i, i32 %cond72.i.i %add.i = add i64 %cond56.i.i, %.lcssa168 store i64 %add.i, ptr %0, align 8, !tbaa !72 br label %if.end29.i if.end29.i: ; preds = %while.end.i.i, %if.else.i, %if.then10.i %21 = phi i64 [ %inc12.i, %if.then10.i ], [ %add.i, %while.end.i.i ], [ %.lcssa168, %if.else.i ] %retval.sroa.34.0.i = phi i32 [ %15, %if.then10.i ], [ %retval.sroa.0.0.i.i, %while.end.i.i ], [ 0, %if.else.i ] %spec.select.i = call i32 @llvm.abs.i32(i32 %retval.sroa.34.0.i, i1 true) %retval.sroa.34.0.lobit.i = lshr i32 %retval.sroa.34.0.i, 31 %22 = trunc nuw nsw i32 %retval.sroa.34.0.lobit.i to i8 %spec.select365.i = or i8 %flags.1.i.i.lcssa, %22 %arrayidx42.i = getelementptr inbounds i8, ptr %3, i64 %21 %23 = load i8, ptr %arrayidx42.i, align 1, !tbaa !26 %cmp44.i = icmp eq i8 %23, 46 br i1 %cmp44.i, label %if.then45.i, label %if.end82.i if.then45.i: ; preds = %if.end29.i %inc47.i = add i64 %21, 1 store i64 %inc47.i, ptr %0, align 8, !tbaa !72 %arrayidx51.i = getelementptr inbounds i8, ptr %3, i64 %inc47.i %24 = load i8, ptr %arrayidx51.i, align 1, !tbaa !26 %cmp53.i = icmp eq i8 %24, 42 br i1 %cmp53.i, label %if.then54.i, label %if.else61.i if.then54.i: ; preds = %if.then45.i %inc56.i = add i64 %21, 2 store i64 %inc56.i, ptr %0, align 8, !tbaa !72 %argp.cur.i.i222.i = load ptr, ptr %1, align 8 %25 = getelementptr inbounds i8, ptr %argp.cur.i.i222.i, i64 3 %argp.cur.aligned.i.i223.i = call align 4 ptr @llvm.ptrmask.p0.i64(ptr nonnull %25, i64 -4) %argp.next.i.i224.i = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i223.i, i64 4 store ptr %argp.next.i.i224.i, ptr %1, align 8 %26 = load i32, ptr %argp.cur.aligned.i.i223.i, align 4, !tbaa !74 br label %if.end82.i if.else61.i: ; preds = %if.then45.i %conv52.i = sext i8 %24 to i32 %sub.i225.i = add nsw i32 %conv52.i, -48 %cmp.i226.i = icmp ult i32 %sub.i225.i, 10 br i1 %cmp.i226.i, label %land.rhs.i.i228.i, label %if.end82.i land.rhs.i.i228.i: ; preds = %while.body.i.i231.i, %if.else61.i %src_cur.06.i.i229.i = phi i64 [ %inc.i.i232.i, %while.body.i.i231.i ], [ 0, %if.else61.i ] %arrayidx.i.i230.i = getelementptr inbounds i8, ptr %arrayidx51.i, i64 %src_cur.06.i.i229.i %27 = load i8, ptr %arrayidx.i.i230.i, align 1, !tbaa !26, !alias.scope !80 switch i8 %27, label %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i237.i [ i8 32, label %while.body.i.i231.i i8 13, label %while.body.i.i231.i i8 12, label %while.body.i.i231.i i8 11, label %while.body.i.i231.i i8 10, label %while.body.i.i231.i i8 9, label %while.body.i.i231.i ] while.body.i.i231.i: ; preds = %land.rhs.i.i228.i, %land.rhs.i.i228.i, %land.rhs.i.i228.i, %land.rhs.i.i228.i, %land.rhs.i.i228.i, %land.rhs.i.i228.i %inc.i.i232.i = add nuw i64 %src_cur.06.i.i229.i, 1 %exitcond.not.i.i233.i = icmp eq i64 %inc.i.i232.i, -1 br i1 %exitcond.not.i.i233.i, label %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i234.i, label %land.rhs.i.i228.i, !llvm.loop !78 while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i234.i: ; preds = %while.body.i.i231.i %.pre.i236.i = load i8, ptr %arrayidx42.i, align 1, !tbaa !26, !alias.scope !80 br label %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i237.i _ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i237.i: ; preds = %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i234.i, %land.rhs.i.i228.i %28 = phi i8 [ %.pre.i236.i, %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i234.i ], [ %27, %land.rhs.i.i228.i ] %src_cur.0.lcssa.i.i238.i = phi i64 [ -1, %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i234.i ], [ %src_cur.06.i.i229.i, %land.rhs.i.i228.i ] switch i8 %28, label %if.end14.i241.i [ i8 43, label %if.then12.i239.i i8 45, label %if.then12.i239.i ] if.then12.i239.i: ; preds = %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i237.i, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i237.i %inc.i240.i = add i64 %src_cur.0.lcssa.i.i238.i, 1 %29 = icmp eq i8 %28, 43 br label %if.end14.i241.i if.end14.i241.i: ; preds = %if.then12.i239.i, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i237.i %result_sign.0.i242.i = phi i1 [ %29, %if.then12.i239.i ], [ true, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i237.i ] %src_cur.0.i243.i = phi i64 [ %inc.i240.i, %if.then12.i239.i ], [ %src_cur.0.lcssa.i.i238.i, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i237.i ] %cond.i244.i = select i1 %result_sign.0.i242.i, i64 2147483647, i64 2147483648 br label %while.cond.i248.i while.cond.i248.i: ; preds = %cleanup.i286.i, %if.end14.i241.i %error_val.0.i249.i = phi i32 [ 0, %if.end14.i241.i ], [ %error_val.3.i287.i, %cleanup.i286.i ] %src_cur.2.i250.i = phi i64 [ %src_cur.0.i243.i, %if.end14.i241.i ], [ %src_cur.3.i288.i, %cleanup.i286.i ] %is_number.0.off0.i251.i = phi i1 [ false, %if.end14.i241.i ], [ %is_number.1.off0.i289.i, %cleanup.i286.i ] %result.0.i252.i = phi i64 [ 0, %if.end14.i241.i ], [ %result.3.i290.i, %cleanup.i286.i ] %cmp30.i253.not.i = icmp eq i64 %src_cur.2.i250.i, -1 br i1 %cmp30.i253.not.i, label %while.end.i254.i, label %land.rhs.i272.i land.rhs.i272.i: ; preds = %while.cond.i248.i %arrayidx31.i273.i = getelementptr inbounds i8, ptr %arrayidx51.i, i64 %src_cur.2.i250.i %30 = load i8, ptr %arrayidx31.i273.i, align 1, !tbaa !26, !alias.scope !80 %conv32.i274.i = sext i8 %30 to i32 %or.i.i.i275.i = or i32 %conv32.i274.i, 32 %sub.i.i.i276.i = add nsw i32 %or.i.i.i275.i, -97 %cmp.i.i148.i277.i = icmp ult i32 %sub.i.i.i276.i, 26 %sub.i3.i.i278.i = add nsw i32 %conv32.i274.i, -48 %cmp.i4.i.i279.i = icmp ult i32 %sub.i3.i.i278.i, 10 %spec.select.i149.i280.i = select i1 %cmp.i.i148.i277.i, i1 true, i1 %cmp.i4.i.i279.i br i1 %spec.select.i149.i280.i, label %while.body.i281.i, label %while.end.i254.i while.body.i281.i: ; preds = %land.rhs.i272.i %sub6.i.i282.i = add nsw i32 %or.i.i.i275.i, -87 %spec.select.i154.i283.i = select i1 %cmp.i.i148.i277.i, i32 %sub6.i.i282.i, i32 0 %spec.select163.i284.i = select i1 %cmp.i4.i.i279.i, i32 %sub.i3.i.i278.i, i32 %spec.select.i154.i283.i %cmp36.not.not.i285.i = icmp slt i32 %spec.select163.i284.i, 10 br i1 %cmp36.not.not.i285.i, label %if.end38.i291.i, label %cleanup.i286.i if.end38.i291.i: ; preds = %while.body.i281.i %inc39.i292.i = add nuw i64 %src_cur.2.i250.i, 1 %cmp40.i293.i = icmp eq i64 %result.0.i252.i, %cond.i244.i br i1 %cmp40.i293.i, label %cleanup.i286.i, label %if.end42.i294.i, !llvm.loop !79 if.end42.i294.i: ; preds = %if.end38.i291.i %cmp43.i295.i = icmp ugt i64 %result.0.i252.i, 214748364 %mul.i296.i = mul i64 %result.0.i252.i, 10 %result.1.i297.i = select i1 %cmp43.i295.i, i64 %cond.i244.i, i64 %mul.i296.i %conv47.i298.i = sext i32 %spec.select163.i284.i to i64 %sub48.i299.i = sub nsw i64 %cond.i244.i, %conv47.i298.i %cmp49.i300.i = icmp ugt i64 %result.1.i297.i, %sub48.i299.i %add53.i301.i = add i64 %result.1.i297.i, %conv47.i298.i %31 = or i1 %cmp43.i295.i, %cmp49.i300.i %error_val.2.i302.i = select i1 %31, i32 34, i32 %error_val.0.i249.i %result.2.i303.i = select i1 %cmp49.i300.i, i64 %cond.i244.i, i64 %add53.i301.i br label %cleanup.i286.i cleanup.i286.i: ; preds = %if.end42.i294.i, %if.end38.i291.i, %while.body.i281.i %error_val.3.i287.i = phi i32 [ %error_val.2.i302.i, %if.end42.i294.i ], [ %error_val.0.i249.i, %while.body.i281.i ], [ 34, %if.end38.i291.i ] %src_cur.3.i288.i = phi i64 [ %inc39.i292.i, %if.end42.i294.i ], [ %src_cur.2.i250.i, %while.body.i281.i ], [ %inc39.i292.i, %if.end38.i291.i ] %is_number.1.off0.i289.i = phi i1 [ true, %if.end42.i294.i ], [ %is_number.0.off0.i251.i, %while.body.i281.i ], [ true, %if.end38.i291.i ] %result.3.i290.i = phi i64 [ %result.2.i303.i, %if.end42.i294.i ], [ %result.0.i252.i, %while.body.i281.i ], [ %cond.i244.i, %if.end38.i291.i ] br i1 %cmp36.not.not.i285.i, label %while.cond.i248.i, label %while.end.i254.i while.end.i254.i: ; preds = %cleanup.i286.i, %land.rhs.i272.i, %while.cond.i248.i %error_val.4.i255.i = phi i32 [ %error_val.3.i287.i, %cleanup.i286.i ], [ %error_val.0.i249.i, %land.rhs.i272.i ], [ %error_val.0.i249.i, %while.cond.i248.i ] %src_cur.4.i256.i = phi i64 [ %src_cur.3.i288.i, %cleanup.i286.i ], [ %src_cur.2.i250.i, %land.rhs.i272.i ], [ -1, %while.cond.i248.i ] %is_number.2.off0.i257.i = phi i1 [ %is_number.1.off0.i289.i, %cleanup.i286.i ], [ %is_number.0.off0.i251.i, %land.rhs.i272.i ], [ %is_number.0.off0.i251.i, %while.cond.i248.i ] %result.4.i258.i = phi i64 [ %result.3.i290.i, %cleanup.i286.i ], [ %result.0.i252.i, %land.rhs.i272.i ], [ %result.0.i252.i, %while.cond.i248.i ] %cond56.i259.i = select i1 %is_number.2.off0.i257.i, i64 %src_cur.4.i256.i, i64 0 %cmp57.i260.i = icmp eq i32 %error_val.4.i255.i, 34 %conv67.i262.i = trunc i64 %result.4.i258.i to i32 %sub70.i263.i = sub i32 0, %conv67.i262.i %cond72.i264.i = select i1 %result_sign.0.i242.i, i32 %conv67.i262.i, i32 %sub70.i263.i %..i271.i = select i1 %result_sign.0.i242.i, i32 2147483647, i32 -2147483648 %retval.sroa.0.0.i266.i = select i1 %cmp57.i260.i, i32 %..i271.i, i32 %cond72.i264.i %add78.i = add i64 %cond56.i259.i, %inc47.i store i64 %add78.i, ptr %0, align 8, !tbaa !72 br label %if.end82.i if.end82.i: ; preds = %while.end.i254.i, %if.else61.i, %if.then54.i, %if.end29.i %32 = phi i64 [ %inc56.i, %if.then54.i ], [ %add78.i, %while.end.i254.i ], [ %inc47.i, %if.else61.i ], [ %21, %if.end29.i ] %retval.sroa.41.0.i = phi i32 [ %26, %if.then54.i ], [ %retval.sroa.0.0.i266.i, %while.end.i254.i ], [ 0, %if.else61.i ], [ -1, %if.end29.i ] %arrayidx.i305.i = getelementptr inbounds i8, ptr %3, i64 %32 %33 = load i8, ptr %arrayidx.i305.i, align 1, !tbaa !26 switch i8 %33, label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i [ i8 108, label %sw.bb.i312.i i8 119, label %sw.bb8.i308.i i8 104, label %sw.bb34.i.i i8 76, label %sw.bb48.i.i i8 106, label %sw.bb52.i.i i8 122, label %sw.bb56.i.i i8 116, label %sw.bb60.i.i ] sw.bb.i312.i: ; preds = %if.end82.i %add.i.i = add i64 %32, 1 %arrayidx3.i.i = getelementptr inbounds i8, ptr %3, i64 %add.i.i %34 = load i8, ptr %arrayidx3.i.i, align 1, !tbaa !26 %cmp.i313.i = icmp eq i8 %34, 108 br i1 %cmp.i313.i, label %if.then.i314.i, label %if.else.i.i if.then.i314.i: ; preds = %sw.bb.i312.i %add5.i.i = add i64 %32, 2 store i64 %add5.i.i, ptr %0, align 8, !tbaa !57 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i if.else.i.i: ; preds = %sw.bb.i312.i store i64 %add.i.i, ptr %0, align 8, !tbaa !57 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i sw.bb8.i308.i: ; preds = %if.end82.i %add11.i.i = add i64 %32, 1 %arrayidx12.i.i = getelementptr inbounds i8, ptr %3, i64 %add11.i.i %35 = load i8, ptr %arrayidx12.i.i, align 1, !tbaa !26 %cmp14.i.i = icmp eq i8 %35, 102 %add16.i.i = add i64 %32, 2 %storemerge.i.i = select i1 %cmp14.i.i, i64 %add16.i.i, i64 %add11.i.i %lm9.0.i.i = select i1 %cmp14.i.i, i32 9, i32 8 store i64 %storemerge.i.i, ptr %0, align 8, !tbaa !57 %arrayidx20.i.i = getelementptr inbounds i8, ptr %3, i64 %storemerge.i.i %36 = load i8, ptr %arrayidx20.i.i, align 1, !tbaa !26 %conv21.i.i = sext i8 %36 to i32 %sub.i.i.i = add nsw i32 %conv21.i.i, -48 %cmp.i.i.i = icmp ult i32 %sub.i.i.i, 10 br i1 %cmp.i.i.i, label %land.rhs.i.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i land.rhs.i.i.i.i: ; preds = %while.body.i.i.i.i, %sw.bb8.i308.i %src_cur.06.i.i.i.i = phi i64 [ %inc.i.i.i.i, %while.body.i.i.i.i ], [ 0, %sw.bb8.i308.i ] %arrayidx.i.i.i.i = getelementptr inbounds i8, ptr %arrayidx20.i.i, i64 %src_cur.06.i.i.i.i %37 = load i8, ptr %arrayidx.i.i.i.i, align 1, !tbaa !26, !alias.scope !83 switch i8 %37, label %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i.i [ i8 32, label %while.body.i.i.i.i i8 13, label %while.body.i.i.i.i i8 12, label %while.body.i.i.i.i i8 11, label %while.body.i.i.i.i i8 10, label %while.body.i.i.i.i i8 9, label %while.body.i.i.i.i ] while.body.i.i.i.i: ; preds = %land.rhs.i.i.i.i, %land.rhs.i.i.i.i, %land.rhs.i.i.i.i, %land.rhs.i.i.i.i, %land.rhs.i.i.i.i, %land.rhs.i.i.i.i %inc.i.i.i.i = add nuw i64 %src_cur.06.i.i.i.i, 1 %exitcond.not.i.i.i.i = icmp eq i64 %inc.i.i.i.i, -1 br i1 %exitcond.not.i.i.i.i, label %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i.i, label %land.rhs.i.i.i.i, !llvm.loop !78 while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i.i: ; preds = %while.body.i.i.i.i %add.ptr.i.phi.trans.insert.i.i.i = getelementptr inbounds i8, ptr %arrayidx20.i.i, i64 -1 %.pre.i.i.i = load i8, ptr %add.ptr.i.phi.trans.insert.i.i.i, align 1, !tbaa !26, !alias.scope !83 br label %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i.i _ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i.i: ; preds = %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i.i, %land.rhs.i.i.i.i %38 = phi i8 [ %.pre.i.i.i, %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i.i ], [ %37, %land.rhs.i.i.i.i ] %src_cur.0.lcssa.i.i.i.i = phi i64 [ -1, %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i.i ], [ %src_cur.06.i.i.i.i, %land.rhs.i.i.i.i ] switch i8 %38, label %if.end14.i.i.i [ i8 43, label %if.then12.i.i.i i8 45, label %if.then12.i.i.i ] if.then12.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i.i, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i.i %inc.i.i309.i = add i64 %src_cur.0.lcssa.i.i.i.i, 1 %39 = icmp eq i8 %38, 43 br label %if.end14.i.i.i if.end14.i.i.i: ; preds = %if.then12.i.i.i, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i.i %result_sign.0.i.i.i = phi i1 [ %39, %if.then12.i.i.i ], [ true, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i.i ] %src_cur.0.i.i.i = phi i64 [ %inc.i.i309.i, %if.then12.i.i.i ], [ %src_cur.0.lcssa.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i.i ] %cond.i.i.i = select i1 %result_sign.0.i.i.i, i64 2147483647, i64 2147483648 br label %while.cond.i.i.i while.cond.i.i.i: ; preds = %cleanup.i.i.i, %if.end14.i.i.i %error_val.0.i.i.i = phi i32 [ 0, %if.end14.i.i.i ], [ %error_val.3.i.i.i, %cleanup.i.i.i ] %src_cur.2.i.i.i = phi i64 [ %src_cur.0.i.i.i, %if.end14.i.i.i ], [ %src_cur.3.i.i.i, %cleanup.i.i.i ] %is_number.0.off0.i.i.i = phi i1 [ false, %if.end14.i.i.i ], [ %is_number.1.off0.i.i.i, %cleanup.i.i.i ] %result.0.i.i.i = phi i64 [ 0, %if.end14.i.i.i ], [ %result.3.i.i.i, %cleanup.i.i.i ] %cmp30.i.not.i.i = icmp eq i64 %src_cur.2.i.i.i, -1 br i1 %cmp30.i.not.i.i, label %while.end.i.i.i, label %land.rhs.i.i310.i land.rhs.i.i310.i: ; preds = %while.cond.i.i.i %arrayidx31.i.i.i = getelementptr inbounds i8, ptr %arrayidx20.i.i, i64 %src_cur.2.i.i.i %40 = load i8, ptr %arrayidx31.i.i.i, align 1, !tbaa !26, !alias.scope !83 %conv32.i.i.i = sext i8 %40 to i32 %or.i.i.i.i.i = or i32 %conv32.i.i.i, 32 %sub.i.i.i.i.i = add nsw i32 %or.i.i.i.i.i, -97 %cmp.i.i148.i.i.i = icmp ult i32 %sub.i.i.i.i.i, 26 %sub.i3.i.i.i.i = add nsw i32 %conv32.i.i.i, -48 %cmp.i4.i.i.i.i = icmp ult i32 %sub.i3.i.i.i.i, 10 %spec.select.i149.i.i.i = select i1 %cmp.i.i148.i.i.i, i1 true, i1 %cmp.i4.i.i.i.i br i1 %spec.select.i149.i.i.i, label %while.body.i.i311.i, label %while.end.i.i.i while.body.i.i311.i: ; preds = %land.rhs.i.i310.i %sub6.i.i.i.i = add nsw i32 %or.i.i.i.i.i, -87 %spec.select.i154.i.i.i = select i1 %cmp.i.i148.i.i.i, i32 %sub6.i.i.i.i, i32 0 %spec.select163.i.i.i = select i1 %cmp.i4.i.i.i.i, i32 %sub.i3.i.i.i.i, i32 %spec.select.i154.i.i.i %cmp36.not.not.i.i.i = icmp slt i32 %spec.select163.i.i.i, 10 br i1 %cmp36.not.not.i.i.i, label %if.end38.i.i.i, label %cleanup.i.i.i if.end38.i.i.i: ; preds = %while.body.i.i311.i %inc39.i.i.i = add nuw i64 %src_cur.2.i.i.i, 1 %cmp40.i.i.i = icmp eq i64 %result.0.i.i.i, %cond.i.i.i br i1 %cmp40.i.i.i, label %cleanup.i.i.i, label %if.end42.i.i.i, !llvm.loop !79 if.end42.i.i.i: ; preds = %if.end38.i.i.i %cmp43.i.i.i = icmp ugt i64 %result.0.i.i.i, 214748364 %mul.i.i.i = mul i64 %result.0.i.i.i, 10 %result.1.i.i.i = select i1 %cmp43.i.i.i, i64 %cond.i.i.i, i64 %mul.i.i.i %conv47.i.i.i = sext i32 %spec.select163.i.i.i to i64 %sub48.i.i.i = sub nsw i64 %cond.i.i.i, %conv47.i.i.i %cmp49.i.i.i = icmp ugt i64 %result.1.i.i.i, %sub48.i.i.i %add53.i.i.i = add i64 %result.1.i.i.i, %conv47.i.i.i %41 = or i1 %cmp43.i.i.i, %cmp49.i.i.i %error_val.2.i.i.i = select i1 %41, i32 34, i32 %error_val.0.i.i.i %result.2.i.i.i = select i1 %cmp49.i.i.i, i64 %cond.i.i.i, i64 %add53.i.i.i br label %cleanup.i.i.i cleanup.i.i.i: ; preds = %if.end42.i.i.i, %if.end38.i.i.i, %while.body.i.i311.i %error_val.3.i.i.i = phi i32 [ %error_val.2.i.i.i, %if.end42.i.i.i ], [ %error_val.0.i.i.i, %while.body.i.i311.i ], [ 34, %if.end38.i.i.i ] %src_cur.3.i.i.i = phi i64 [ %inc39.i.i.i, %if.end42.i.i.i ], [ %src_cur.2.i.i.i, %while.body.i.i311.i ], [ %inc39.i.i.i, %if.end38.i.i.i ] %is_number.1.off0.i.i.i = phi i1 [ true, %if.end42.i.i.i ], [ %is_number.0.off0.i.i.i, %while.body.i.i311.i ], [ true, %if.end38.i.i.i ] %result.3.i.i.i = phi i64 [ %result.2.i.i.i, %if.end42.i.i.i ], [ %result.0.i.i.i, %while.body.i.i311.i ], [ %cond.i.i.i, %if.end38.i.i.i ] br i1 %cmp36.not.not.i.i.i, label %while.cond.i.i.i, label %while.end.i.i.i while.end.i.i.i: ; preds = %cleanup.i.i.i, %land.rhs.i.i310.i, %while.cond.i.i.i %error_val.4.i.i.i = phi i32 [ %error_val.3.i.i.i, %cleanup.i.i.i ], [ %error_val.0.i.i.i, %land.rhs.i.i310.i ], [ %error_val.0.i.i.i, %while.cond.i.i.i ] %src_cur.4.i.i.i = phi i64 [ %src_cur.3.i.i.i, %cleanup.i.i.i ], [ %src_cur.2.i.i.i, %land.rhs.i.i310.i ], [ -1, %while.cond.i.i.i ] %is_number.2.off0.i.i.i = phi i1 [ %is_number.1.off0.i.i.i, %cleanup.i.i.i ], [ %is_number.0.off0.i.i.i, %land.rhs.i.i310.i ], [ %is_number.0.off0.i.i.i, %while.cond.i.i.i ] %result.4.i.i.i = phi i64 [ %result.3.i.i.i, %cleanup.i.i.i ], [ %result.0.i.i.i, %land.rhs.i.i310.i ], [ %result.0.i.i.i, %while.cond.i.i.i ] %cond56.i.i.i = select i1 %is_number.2.off0.i.i.i, i64 %src_cur.4.i.i.i, i64 0 %cmp57.i.i.i = icmp eq i32 %error_val.4.i.i.i, 34 %conv67.i.i.i = trunc i64 %result.4.i.i.i to i32 %sub70.i.i.i = sub i32 0, %conv67.i.i.i %cond72.i.i.i = select i1 %result_sign.0.i.i.i, i32 %conv67.i.i.i, i32 %sub70.i.i.i %..i.i.i = select i1 %result_sign.0.i.i.i, i32 2147483647, i32 -2147483648 %retval.sroa.0.0.i.i.i = select i1 %cmp57.i.i.i, i32 %..i.i.i, i32 %cond72.i.i.i %add26.i.i = add i64 %cond56.i.i.i, %storemerge.i.i store i64 %add26.i.i, ptr %0, align 8, !tbaa !57 %.sroa.speculated.i.i = call i32 @llvm.smax.i32(i32 %retval.sroa.0.0.i.i.i, i32 0) %conv30.i.i = zext nneg i32 %.sroa.speculated.i.i to i64 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i sw.bb34.i.i: ; preds = %if.end82.i %add36.i.i = add i64 %32, 1 %arrayidx37.i.i = getelementptr inbounds i8, ptr %3, i64 %add36.i.i %42 = load i8, ptr %arrayidx37.i.i, align 1, !tbaa !26 %cmp39.i.i = icmp eq i8 %42, 104 br i1 %cmp39.i.i, label %if.then40.i.i, label %if.else44.i.i if.then40.i.i: ; preds = %sw.bb34.i.i %add41.i.i = add i64 %32, 2 store i64 %add41.i.i, ptr %0, align 8, !tbaa !57 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i if.else44.i.i: ; preds = %sw.bb34.i.i store i64 %add36.i.i, ptr %0, align 8, !tbaa !57 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i sw.bb48.i.i: ; preds = %if.end82.i %inc49.i.i = add i64 %32, 1 store i64 %inc49.i.i, ptr %0, align 8, !tbaa !57 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i sw.bb52.i.i: ; preds = %if.end82.i %inc53.i.i = add i64 %32, 1 store i64 %inc53.i.i, ptr %0, align 8, !tbaa !57 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i sw.bb56.i.i: ; preds = %if.end82.i %inc57.i.i = add i64 %32, 1 store i64 %inc57.i.i, ptr %0, align 8, !tbaa !57 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i sw.bb60.i.i: ; preds = %if.end82.i %inc61.i.i = add i64 %32, 1 store i64 %inc61.i.i, ptr %0, align 8, !tbaa !57 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i _ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i: ; preds = %sw.bb60.i.i, %sw.bb56.i.i, %sw.bb52.i.i, %sw.bb48.i.i, %if.else44.i.i, %if.then40.i.i, %while.end.i.i.i, %sw.bb8.i308.i, %if.else.i.i, %if.then.i314.i, %if.end82.i %43 = phi i64 [ %inc61.i.i, %sw.bb60.i.i ], [ %inc57.i.i, %sw.bb56.i.i ], [ %inc53.i.i, %sw.bb52.i.i ], [ %inc49.i.i, %sw.bb48.i.i ], [ %add41.i.i, %if.then40.i.i ], [ %add36.i.i, %if.else44.i.i ], [ %add5.i.i, %if.then.i314.i ], [ %add.i.i, %if.else.i.i ], [ %storemerge.i.i, %sw.bb8.i308.i ], [ %add26.i.i, %while.end.i.i.i ], [ %32, %if.end82.i ] %retval.sroa.0.1.i.i = phi i32 [ 6, %sw.bb60.i.i ], [ 5, %sw.bb56.i.i ], [ 4, %sw.bb52.i.i ], [ 7, %sw.bb48.i.i ], [ 0, %if.then40.i.i ], [ 1, %if.else44.i.i ], [ 3, %if.then.i314.i ], [ 2, %if.else.i.i ], [ %lm9.0.i.i, %sw.bb8.i308.i ], [ %lm9.0.i.i, %while.end.i.i.i ], [ 10, %if.end82.i ] %retval.sroa.12.1.i.i = phi i64 [ 0, %sw.bb60.i.i ], [ 0, %sw.bb56.i.i ], [ 0, %sw.bb52.i.i ], [ 0, %sw.bb48.i.i ], [ 0, %if.then40.i.i ], [ 0, %if.else44.i.i ], [ 0, %if.then.i314.i ], [ 0, %if.else.i.i ], [ 0, %sw.bb8.i308.i ], [ %conv30.i.i, %while.end.i.i.i ], [ 0, %if.end82.i ] %arrayidx87.i = getelementptr inbounds i8, ptr %3, i64 %43 %44 = load i8, ptr %arrayidx87.i, align 1, !tbaa !26 switch i8 %44, label %sw.default.i [ i8 37, label %sw.epilog181.i i8 99, label %sw.bb94.i i8 100, label %sw.bb99.i i8 105, label %sw.bb99.i i8 111, label %sw.bb99.i i8 120, label %sw.bb99.i i8 88, label %sw.bb99.i i8 117, label %sw.bb99.i i8 98, label %sw.bb99.i i8 66, label %sw.bb99.i i8 112, label %sw.bb171.i i8 115, label %sw.bb175.i ] sw.bb94.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i %argp.cur.i.i316.i = load ptr, ptr %1, align 8 %45 = getelementptr inbounds i8, ptr %argp.cur.i.i316.i, i64 3 %argp.cur.aligned.i.i317.i = call align 4 ptr @llvm.ptrmask.p0.i64(ptr nonnull %45, i64 -4) %argp.next.i.i318.i = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i317.i, i64 4 store ptr %argp.next.i.i318.i, ptr %1, align 8 %46 = load i32, ptr %argp.cur.aligned.i.i317.i, align 4, !tbaa !74 %conv98.i = sext i32 %46 to i64 br label %sw.epilog181.i sw.bb99.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i switch i32 %retval.sroa.0.1.i.i, label %default.unreachable [ i32 0, label %sw.bb101.i i32 1, label %sw.bb101.i i32 10, label %sw.bb101.i i32 2, label %sw.bb107.i i32 3, label %sw.bb112.i i32 7, label %sw.bb112.i i32 4, label %sw.bb117.i i32 5, label %sw.bb122.i i32 6, label %sw.bb127.i i32 8, label %sw.bb132.i i32 9, label %sw.bb132.i ] sw.bb101.i: ; preds = %sw.bb99.i, %sw.bb99.i, %sw.bb99.i %argp.cur.i.i320.i = load ptr, ptr %1, align 8 %47 = getelementptr inbounds i8, ptr %argp.cur.i.i320.i, i64 3 %argp.cur.aligned.i.i321.i = call align 4 ptr @llvm.ptrmask.p0.i64(ptr nonnull %47, i64 -4) %argp.next.i.i322.i = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i321.i, i64 4 store ptr %argp.next.i.i322.i, ptr %1, align 8 %48 = load i32, ptr %argp.cur.aligned.i.i321.i, align 4, !tbaa !74 %conv105.i = sext i32 %48 to i64 br label %sw.epilog181.i sw.bb107.i: ; preds = %sw.bb99.i %argp.cur.i.i324.i = load ptr, ptr %1, align 8 %49 = getelementptr inbounds i8, ptr %argp.cur.i.i324.i, i64 7 %argp.cur.aligned.i.i325.i = call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %49, i64 -8) %argp.next.i.i326.i = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i325.i, i64 8 store ptr %argp.next.i.i326.i, ptr %1, align 8 %50 = load i64, ptr %argp.cur.aligned.i.i325.i, align 8, !tbaa !57 br label %sw.epilog181.i sw.bb112.i: ; preds = %sw.bb99.i, %sw.bb99.i %argp.cur.i.i328.i = load ptr, ptr %1, align 8 %51 = getelementptr inbounds i8, ptr %argp.cur.i.i328.i, i64 7 %argp.cur.aligned.i.i329.i = call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %51, i64 -8) %argp.next.i.i330.i = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i329.i, i64 8 store ptr %argp.next.i.i330.i, ptr %1, align 8 %52 = load i64, ptr %argp.cur.aligned.i.i329.i, align 8, !tbaa !42 br label %sw.epilog181.i sw.bb117.i: ; preds = %sw.bb99.i %argp.cur.i.i332.i = load ptr, ptr %1, align 8 %53 = getelementptr inbounds i8, ptr %argp.cur.i.i332.i, i64 7 %argp.cur.aligned.i.i333.i = call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %53, i64 -8) %argp.next.i.i334.i = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i333.i, i64 8 store ptr %argp.next.i.i334.i, ptr %1, align 8 %54 = load i64, ptr %argp.cur.aligned.i.i333.i, align 8, !tbaa !42 br label %sw.epilog181.i sw.bb122.i: ; preds = %sw.bb99.i %argp.cur.i.i336.i = load ptr, ptr %1, align 8 %55 = getelementptr inbounds i8, ptr %argp.cur.i.i336.i, i64 7 %argp.cur.aligned.i.i337.i = call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %55, i64 -8) %argp.next.i.i338.i = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i337.i, i64 8 store ptr %argp.next.i.i338.i, ptr %1, align 8 %56 = load i64, ptr %argp.cur.aligned.i.i337.i, align 8, !tbaa !57 br label %sw.epilog181.i sw.bb127.i: ; preds = %sw.bb99.i %argp.cur.i.i340.i = load ptr, ptr %1, align 8 %57 = getelementptr inbounds i8, ptr %argp.cur.i.i340.i, i64 7 %argp.cur.aligned.i.i341.i = call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %57, i64 -8) %argp.next.i.i342.i = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i341.i, i64 8 store ptr %argp.next.i.i342.i, ptr %1, align 8 %58 = load i64, ptr %argp.cur.aligned.i.i341.i, align 8, !tbaa !57 br label %sw.epilog181.i sw.bb132.i: ; preds = %sw.bb99.i, %sw.bb99.i %cmp134.i = icmp eq i64 %retval.sroa.12.1.i.i, 0 br i1 %cmp134.i, label %sw.epilog181.i, label %if.else137.i if.else137.i: ; preds = %sw.bb132.i %cmp139.i = icmp ult i64 %retval.sroa.12.1.i.i, 33 %argp.cur.i.i344.i = load ptr, ptr %1, align 8 br i1 %cmp139.i, label %if.then140.i, label %if.else146.i if.then140.i: ; preds = %if.else137.i %59 = getelementptr inbounds i8, ptr %argp.cur.i.i344.i, i64 3 %argp.cur.aligned.i.i345.i = call align 4 ptr @llvm.ptrmask.p0.i64(ptr nonnull %59, i64 -4) %argp.next.i.i346.i = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i345.i, i64 4 store ptr %argp.next.i.i346.i, ptr %1, align 8 %60 = load i32, ptr %argp.cur.aligned.i.i345.i, align 4, !tbaa !74 %conv144.i = sext i32 %60 to i64 br label %sw.epilog181.i if.else146.i: ; preds = %if.else137.i %61 = getelementptr inbounds i8, ptr %argp.cur.i.i344.i, i64 7 %argp.cur.aligned.i.i349.i = call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %61, i64 -8) %argp.next.i.i350.i = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i349.i, i64 8 store ptr %argp.next.i.i350.i, ptr %1, align 8 %62 = load i64, ptr %argp.cur.aligned.i.i349.i, align 8, !tbaa !26 br label %sw.epilog181.i sw.bb171.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i %argp.cur.i.i356.i = load ptr, ptr %1, align 8 %63 = getelementptr inbounds i8, ptr %argp.cur.i.i356.i, i64 7 %argp.cur.aligned.i.i357.i = call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %63, i64 -8) %argp.next.i.i358.i = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i357.i, i64 8 store ptr %argp.next.i.i358.i, ptr %1, align 8 %64 = load ptr, ptr %argp.cur.aligned.i.i357.i, align 8, !tbaa !11 br label %sw.epilog181.i sw.bb175.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i %argp.cur.i.i360.i = load ptr, ptr %1, align 8 %65 = getelementptr inbounds i8, ptr %argp.cur.i.i360.i, i64 7 %argp.cur.aligned.i.i361.i = call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %65, i64 -8) %argp.next.i.i362.i = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i361.i, i64 8 store ptr %argp.next.i.i362.i, ptr %1, align 8 %66 = load ptr, ptr %argp.cur.aligned.i.i361.i, align 8, !tbaa !11 br label %sw.epilog181.i sw.default.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i br label %sw.epilog181.i default.unreachable: ; preds = %sw.bb99.i176, %if.end11.i.i, %sw.bb99.i unreachable sw.epilog181.i: ; preds = %sw.default.i, %sw.bb175.i, %sw.bb171.i, %if.else146.i, %if.then140.i, %sw.bb132.i, %sw.bb127.i, %sw.bb122.i, %sw.bb117.i, %sw.bb112.i, %sw.bb107.i, %sw.bb101.i, %sw.bb94.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i %retval.sroa.58.0.i = phi ptr [ inttoptr (i64 -6148914691236517206 to ptr), %sw.default.i ], [ %66, %sw.bb175.i ], [ %64, %sw.bb171.i ], [ inttoptr (i64 -6148914691236517206 to ptr), %if.then140.i ], [ inttoptr (i64 -6148914691236517206 to ptr), %sw.bb127.i ], [ inttoptr (i64 -6148914691236517206 to ptr), %sw.bb122.i ], [ inttoptr (i64 -6148914691236517206 to ptr), %sw.bb117.i ], [ inttoptr (i64 -6148914691236517206 to ptr), %sw.bb112.i ], [ inttoptr (i64 -6148914691236517206 to ptr), %sw.bb107.i ], [ inttoptr (i64 -6148914691236517206 to ptr), %sw.bb101.i ], [ inttoptr (i64 -6148914691236517206 to ptr), %sw.bb94.i ], [ inttoptr (i64 -6148914691236517206 to ptr), %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i ], [ inttoptr (i64 -6148914691236517206 to ptr), %sw.bb132.i ], [ inttoptr (i64 -6148914691236517206 to ptr), %if.else146.i ] %retval.sroa.47.0.i = phi i64 [ -6148914691236517206, %sw.default.i ], [ -6148914691236517206, %sw.bb175.i ], [ -6148914691236517206, %sw.bb171.i ], [ %conv144.i, %if.then140.i ], [ %58, %sw.bb127.i ], [ %56, %sw.bb122.i ], [ %54, %sw.bb117.i ], [ %52, %sw.bb112.i ], [ %50, %sw.bb107.i ], [ %conv105.i, %sw.bb101.i ], [ %conv98.i, %sw.bb94.i ], [ -6148914691236517206, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i ], [ -6148914691236517206, %sw.bb132.i ], [ %62, %if.else146.i ] %retval.sroa.0.0.i.off0 = phi i1 [ false, %sw.default.i ], [ true, %sw.bb175.i ], [ true, %sw.bb171.i ], [ true, %if.then140.i ], [ true, %sw.bb127.i ], [ true, %sw.bb122.i ], [ true, %sw.bb117.i ], [ true, %sw.bb112.i ], [ true, %sw.bb107.i ], [ true, %sw.bb101.i ], [ true, %sw.bb94.i ], [ true, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i ], [ false, %sw.bb132.i ], [ true, %if.else146.i ] %67 = load i8, ptr %arrayidx87.i, align 1, !tbaa !26 %cmp186.not.i = icmp eq i8 %67, 0 br i1 %cmp186.not.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit, label %if.then187.i if.then187.i: ; preds = %sw.epilog181.i %inc189.i = add i64 %43, 1 store i64 %inc189.i, ptr %0, align 8, !tbaa !72 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit while.cond.i: ; preds = %while.body.i, %entry %68 = phi i8 [ %.pre.i, %while.body.i ], [ %4, %entry ] %69 = phi i64 [ %inc204.i, %while.body.i ], [ %2, %entry ] switch i8 %68, label %while.body.i [ i8 37, label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit i8 0, label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit ] while.body.i: ; preds = %while.cond.i %inc204.i = add i64 %69, 1 store i64 %inc204.i, ptr %0, align 8, !tbaa !72 %arrayidx195.phi.trans.insert.i = getelementptr inbounds i8, ptr %3, i64 %inc204.i %.pre.i = load i8, ptr %arrayidx195.phi.trans.insert.i, align 1, !tbaa !26 br label %while.cond.i, !llvm.loop !86 _ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit: ; preds = %while.cond.i, %while.cond.i, %if.then187.i, %sw.epilog181.i %70 = phi i64 [ %43, %sw.epilog181.i ], [ %inc189.i, %if.then187.i ], [ %69, %while.cond.i ], [ %69, %while.cond.i ] %retval.sroa.61.0.i = phi i8 [ %44, %sw.epilog181.i ], [ %44, %if.then187.i ], [ -86, %while.cond.i ], [ -86, %while.cond.i ] %retval.sroa.58.1.i = phi ptr [ %retval.sroa.58.0.i, %sw.epilog181.i ], [ %retval.sroa.58.0.i, %if.then187.i ], [ inttoptr (i64 -6148914691236517206 to ptr), %while.cond.i ], [ inttoptr (i64 -6148914691236517206 to ptr), %while.cond.i ] %retval.sroa.47.1.i = phi i64 [ %retval.sroa.47.0.i, %sw.epilog181.i ], [ %retval.sroa.47.0.i, %if.then187.i ], [ -6148914691236517206, %while.cond.i ], [ -6148914691236517206, %while.cond.i ] %retval.sroa.41.1.i = phi i32 [ %retval.sroa.41.0.i, %sw.epilog181.i ], [ %retval.sroa.41.0.i, %if.then187.i ], [ -1, %while.cond.i ], [ -1, %while.cond.i ] %retval.sroa.34.2.i = phi i32 [ %spec.select.i, %sw.epilog181.i ], [ %spec.select.i, %if.then187.i ], [ 0, %while.cond.i ], [ 0, %while.cond.i ] %retval.sroa.31.0.i = phi i64 [ %retval.sroa.12.1.i.i, %sw.epilog181.i ], [ %retval.sroa.12.1.i.i, %if.then187.i ], [ 0, %while.cond.i ], [ 0, %while.cond.i ] %retval.sroa.28.0.i = phi i32 [ %retval.sroa.0.1.i.i, %sw.epilog181.i ], [ %retval.sroa.0.1.i.i, %if.then187.i ], [ 10, %while.cond.i ], [ 10, %while.cond.i ] %retval.sroa.20.1.i = phi i8 [ %spec.select365.i, %sw.epilog181.i ], [ %spec.select365.i, %if.then187.i ], [ 0, %while.cond.i ], [ 0, %while.cond.i ] %retval.sroa.0.1.i.off0 = phi i1 [ %retval.sroa.0.0.i.off0, %sw.epilog181.i ], [ %retval.sroa.0.0.i.off0, %if.then187.i ], [ false, %while.cond.i ], [ false, %while.cond.i ] %sub210.i = sub i64 %70, %2 %cmp.i71518 = icmp eq i64 %sub210.i, 0 br i1 %cmp.i71518, label %cleanup9, label %for.body.lr.ph for.body.lr.ph: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit %chars_written.i = getelementptr inbounds i8, ptr %writer, i64 8 %agg.tmp72.sroa.5.0.agg.tmp20.i.sroa_idx = getelementptr inbounds i8, ptr %agg.tmp20.i, i64 8 %Len.i.i.i.i = getelementptr inbounds i8, ptr %agg.tmp.i.i, i64 8 %71 = getelementptr inbounds i8, ptr %buf.i.i.i, i64 64 %arrayidx.i.i.i.i292.i.i.i.i = getelementptr inbounds i8, ptr %buf.i.i.i, i64 63 %72 = getelementptr inbounds i8, ptr %prefix.i.i.i, i64 1 %agg.tmp133338.sroa.5.0.agg.tmp20.i.sroa_idx.i.i.i = getelementptr inbounds i8, ptr %agg.tmp20.i.i12.i.i, i64 8 %Len.i.i.i.i.i38.i.i = getelementptr inbounds i8, ptr %agg.tmp.i.i.i11.i.i, i64 8 %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i886.i = getelementptr inbounds i8, ptr %agg.tmp35.i875.i, i64 8 %Len.i.i.i.i887.i = getelementptr inbounds i8, ptr %agg.tmp.i.i874.i, i64 8 %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i895.i = getelementptr inbounds i8, ptr %agg.tmp1939.i873.i, i64 8 %Len.i.i.i47.i902.i = getelementptr inbounds i8, ptr %agg.tmp.i40.i872.i, i64 8 %agg.tmp154353.sroa.5.0.agg.tmp20.i355.sroa_idx.i.i.i = getelementptr inbounds i8, ptr %agg.tmp20.i355.i.i.i, i64 8 %Len.i.i.i.i375.i.i.i = getelementptr inbounds i8, ptr %agg.tmp.i.i354.i.i.i, i64 8 %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i971.i = getelementptr inbounds i8, ptr %agg.tmp35.i960.i, i64 8 %Len.i.i.i.i972.i = getelementptr inbounds i8, ptr %agg.tmp.i.i959.i, i64 8 %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i980.i = getelementptr inbounds i8, ptr %agg.tmp1939.i958.i, i64 8 %Len.i.i.i47.i987.i = getelementptr inbounds i8, ptr %agg.tmp.i40.i957.i, i64 8 %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i1056.i = getelementptr inbounds i8, ptr %agg.tmp35.i1045.i, i64 8 %Len.i.i.i.i1057.i = getelementptr inbounds i8, ptr %agg.tmp.i.i1044.i, i64 8 %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i1065.i = getelementptr inbounds i8, ptr %agg.tmp1939.i1043.i, i64 8 %Len.i.i.i47.i1072.i = getelementptr inbounds i8, ptr %agg.tmp.i40.i1042.i, i64 8 %agg.tmp192430.sroa.5.0.agg.tmp20.i432.sroa_idx.i.i.i = getelementptr inbounds i8, ptr %agg.tmp20.i432.i.i.i, i64 8 %Len.i.i.i.i452.i.i.i = getelementptr inbounds i8, ptr %agg.tmp.i.i431.i.i.i, i64 8 %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i1141.i = getelementptr inbounds i8, ptr %agg.tmp35.i1130.i, i64 8 %Len.i.i.i.i1142.i = getelementptr inbounds i8, ptr %agg.tmp.i.i1129.i, i64 8 %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i1150.i = getelementptr inbounds i8, ptr %agg.tmp1939.i1128.i, i64 8 %Len.i.i.i47.i1157.i = getelementptr inbounds i8, ptr %agg.tmp.i40.i1127.i, i64 8 %agg.tmp217491.sroa.5.0.agg.tmp20.i493.sroa_idx.i.i.i = getelementptr inbounds i8, ptr %agg.tmp20.i493.i.i.i, i64 8 %Len.i.i.i.i513.i.i.i = getelementptr inbounds i8, ptr %agg.tmp.i.i492.i.i.i, i64 8 %73 = getelementptr inbounds i8, ptr %NULLPTR_STR.i.i, i64 4 %74 = getelementptr inbounds i8, ptr %NULLPTR_STR.i.i, i64 8 %75 = getelementptr inbounds i8, ptr %NULLPTR_STR.i.i, i64 9 %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i716.i = getelementptr inbounds i8, ptr %agg.tmp35.i705.i, i64 8 %Len.i.i.i.i717.i = getelementptr inbounds i8, ptr %agg.tmp.i.i704.i, i64 8 %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i725.i = getelementptr inbounds i8, ptr %agg.tmp1939.i703.i, i64 8 %Len.i.i.i47.i732.i = getelementptr inbounds i8, ptr %agg.tmp.i40.i702.i, i64 8 %agg.tmp76.sroa.5.0.agg.tmp20.i.sroa_idx.i.i.i = getelementptr inbounds i8, ptr %agg.tmp20.i.i.i.i, i64 8 %Len.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %agg.tmp.i.i.i.i.i, i64 8 %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i801.i = getelementptr inbounds i8, ptr %agg.tmp35.i790.i, i64 8 %Len.i.i.i.i802.i = getelementptr inbounds i8, ptr %agg.tmp.i.i789.i, i64 8 %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i810.i = getelementptr inbounds i8, ptr %agg.tmp1939.i788.i, i64 8 %Len.i.i.i47.i817.i = getelementptr inbounds i8, ptr %agg.tmp.i40.i787.i, i64 8 %76 = getelementptr inbounds i8, ptr %buf.i.i, i64 64 %arrayidx.i.i.i.i292.i.i.i = getelementptr inbounds i8, ptr %buf.i.i, i64 63 %77 = getelementptr inbounds i8, ptr %prefix.i.i, i64 1 %agg.tmp133338.sroa.5.0.agg.tmp20.i.sroa_idx.i.i = getelementptr inbounds i8, ptr %agg.tmp20.i.i126.i, i64 8 %Len.i.i.i.i.i156.i = getelementptr inbounds i8, ptr %agg.tmp.i.i.i125.i, i64 8 %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i376.i = getelementptr inbounds i8, ptr %agg.tmp35.i365.i, i64 8 %Len.i.i.i.i377.i = getelementptr inbounds i8, ptr %agg.tmp.i.i364.i, i64 8 %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i385.i = getelementptr inbounds i8, ptr %agg.tmp1939.i363.i, i64 8 %Len.i.i.i47.i392.i = getelementptr inbounds i8, ptr %agg.tmp.i40.i362.i, i64 8 %agg.tmp154353.sroa.5.0.agg.tmp20.i355.sroa_idx.i.i = getelementptr inbounds i8, ptr %agg.tmp20.i355.i.i, i64 8 %Len.i.i.i.i375.i.i = getelementptr inbounds i8, ptr %agg.tmp.i.i354.i.i, i64 8 %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i461.i = getelementptr inbounds i8, ptr %agg.tmp35.i450.i, i64 8 %Len.i.i.i.i462.i = getelementptr inbounds i8, ptr %agg.tmp.i.i449.i, i64 8 %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i470.i = getelementptr inbounds i8, ptr %agg.tmp1939.i448.i, i64 8 %Len.i.i.i47.i477.i = getelementptr inbounds i8, ptr %agg.tmp.i40.i447.i, i64 8 %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i546.i = getelementptr inbounds i8, ptr %agg.tmp35.i535.i, i64 8 %Len.i.i.i.i547.i = getelementptr inbounds i8, ptr %agg.tmp.i.i534.i, i64 8 %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i555.i = getelementptr inbounds i8, ptr %agg.tmp1939.i533.i, i64 8 %Len.i.i.i47.i562.i = getelementptr inbounds i8, ptr %agg.tmp.i40.i532.i, i64 8 %agg.tmp192430.sroa.5.0.agg.tmp20.i432.sroa_idx.i.i = getelementptr inbounds i8, ptr %agg.tmp20.i432.i.i, i64 8 %Len.i.i.i.i452.i.i = getelementptr inbounds i8, ptr %agg.tmp.i.i431.i.i, i64 8 %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i631.i = getelementptr inbounds i8, ptr %agg.tmp35.i620.i, i64 8 %Len.i.i.i.i632.i = getelementptr inbounds i8, ptr %agg.tmp.i.i619.i, i64 8 %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i640.i = getelementptr inbounds i8, ptr %agg.tmp1939.i618.i, i64 8 %Len.i.i.i47.i647.i = getelementptr inbounds i8, ptr %agg.tmp.i40.i617.i, i64 8 %agg.tmp217491.sroa.5.0.agg.tmp20.i493.sroa_idx.i.i = getelementptr inbounds i8, ptr %agg.tmp20.i493.i.i, i64 8 %Len.i.i.i.i513.i.i = getelementptr inbounds i8, ptr %agg.tmp.i.i492.i.i, i64 8 %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i206.i = getelementptr inbounds i8, ptr %agg.tmp35.i195.i, i64 8 %Len.i.i.i.i207.i = getelementptr inbounds i8, ptr %agg.tmp.i.i194.i, i64 8 %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i215.i = getelementptr inbounds i8, ptr %agg.tmp1939.i193.i, i64 8 %Len.i.i.i47.i222.i = getelementptr inbounds i8, ptr %agg.tmp.i40.i192.i, i64 8 %agg.tmp76.sroa.5.0.agg.tmp20.i.sroa_idx.i.i = getelementptr inbounds i8, ptr %agg.tmp20.i.i.i, i64 8 %Len.i.i.i.i.i94.i = getelementptr inbounds i8, ptr %agg.tmp.i.i.i81.i, i64 8 %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i291.i = getelementptr inbounds i8, ptr %agg.tmp35.i280.i, i64 8 %Len.i.i.i.i292.i = getelementptr inbounds i8, ptr %agg.tmp.i.i279.i, i64 8 %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i300.i = getelementptr inbounds i8, ptr %agg.tmp1939.i278.i, i64 8 %Len.i.i.i47.i307.i = getelementptr inbounds i8, ptr %agg.tmp.i40.i277.i, i64 8 %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i.i = getelementptr inbounds i8, ptr %agg.tmp35.i.i, i64 8 %Len.i.i.i.i77.i = getelementptr inbounds i8, ptr %agg.tmp.i.i68.i, i64 8 %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i.i = getelementptr inbounds i8, ptr %agg.tmp1939.i.i, i64 8 %Len.i.i.i47.i.i = getelementptr inbounds i8, ptr %agg.tmp.i40.i.i, i64 8 %agg.tmp.sroa.2.0.agg.tmp12.sroa_idx.i.i.i = getelementptr inbounds i8, ptr %agg.tmp12.i.i.i, i64 8 %Len.i.i.i.i.i.i = getelementptr inbounds i8, ptr %agg.tmp.i.i.i.i, i64 8 %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i120.i = getelementptr inbounds i8, ptr %agg.tmp35.i109.i, i64 8 %Len.i.i.i.i121.i = getelementptr inbounds i8, ptr %agg.tmp.i.i108.i, i64 8 %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i129.i = getelementptr inbounds i8, ptr %agg.tmp1939.i107.i, i64 8 %Len.i.i.i47.i136.i = getelementptr inbounds i8, ptr %agg.tmp.i40.i106.i, i64 8 %agg.tmp129.sroa.5.0.agg.tmp20.i31.sroa_idx.i = getelementptr inbounds i8, ptr %agg.tmp20.i31.i, i64 8 %Len.i.i.i.i51.i = getelementptr inbounds i8, ptr %agg.tmp.i.i30.i, i64 8 %agg.tmp11195.sroa.5.0.agg.tmp20.i197.sroa_idx.i = getelementptr inbounds i8, ptr %agg.tmp20.i197.i, i64 8 %Len.i.i.i.i217.i = getelementptr inbounds i8, ptr %agg.tmp.i.i196.i, i64 8 br label %for.body for.body: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491, %for.body.lr.ph %cur_section.sroa.0.0.off0 = phi i1 [ %retval.sroa.0.1.i.off0, %for.body.lr.ph ], [ %retval.sroa.0.1.i92.off0, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491 ] %cur_section.sroa.14.0 = phi ptr [ %arrayidx.i, %for.body.lr.ph ], [ %arrayidx.i81, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491 ] %cur_section.sroa.18.0 = phi i64 [ %sub210.i, %for.body.lr.ph ], [ %sub210.i93, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491 ] %cur_section.sroa.22.0 = phi i8 [ %retval.sroa.20.1.i, %for.body.lr.ph ], [ %retval.sroa.20.1.i91, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491 ] %cur_section.sroa.36.0 = phi i32 [ %retval.sroa.28.0.i, %for.body.lr.ph ], [ %retval.sroa.28.0.i90, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491 ] %cur_section.sroa.39.0 = phi i64 [ %retval.sroa.31.0.i, %for.body.lr.ph ], [ %retval.sroa.31.0.i89, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491 ] %cur_section.sroa.42.0 = phi i32 [ %retval.sroa.34.2.i, %for.body.lr.ph ], [ %retval.sroa.34.2.i88, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491 ] %cur_section.sroa.49.0 = phi i32 [ %retval.sroa.41.1.i, %for.body.lr.ph ], [ %retval.sroa.41.1.i87, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491 ] %cur_section.sroa.54.0 = phi i64 [ %retval.sroa.47.1.i, %for.body.lr.ph ], [ %retval.sroa.47.1.i86, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491 ] %cur_section.sroa.58.0 = phi ptr [ %retval.sroa.58.1.i, %for.body.lr.ph ], [ %retval.sroa.58.1.i85, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491 ] %cur_section.sroa.62.0 = phi i8 [ %retval.sroa.61.0.i, %for.body.lr.ph ], [ %retval.sroa.61.0.i84, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491 ] br i1 %cur_section.sroa.0.0.off0, label %if.end.i9, label %if.else if.end.i9: ; preds = %for.body switch i8 %cur_section.sroa.62.0, label %sw.default.i28 [ i8 37, label %for.cond.i.i.i.preheader.i i8 99, label %sw.bb3.i i8 115, label %sw.bb5.i i8 100, label %sw.bb7.i i8 105, label %sw.bb7.i i8 117, label %sw.bb7.i i8 111, label %sw.bb7.i i8 120, label %sw.bb7.i i8 88, label %sw.bb7.i i8 98, label %sw.bb7.i i8 66, label %sw.bb7.i i8 112, label %sw.bb9.i ] for.cond.i.i.i.preheader.i: ; preds = %if.end.i9 %78 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i35.i = add nsw i32 %78, 1 store i32 %add.i35.i, ptr %chars_written.i, align 8, !tbaa !25 %79 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i36.i = getelementptr inbounds i8, ptr %79, i64 16 %80 = load i64, ptr %buff_cur.i36.i, align 8, !tbaa !19 %add3.i37.i = add i64 %80, 1 %buff_len.i38.i = getelementptr inbounds i8, ptr %79, i64 8 %81 = load i64, ptr %buff_len.i38.i, align 8, !tbaa !18 %cmp.not.i39.i = icmp ugt i64 %add3.i37.i, %81 br i1 %cmp.not.i39.i, label %if.end.i45.i, label %if.then.i40.i if.then.i40.i: ; preds = %for.cond.i.i.i.preheader.i %82 = load ptr, ptr %79, align 8, !tbaa !15 %add.ptr.i41.i = getelementptr inbounds i8, ptr %82, i64 %80 store i8 37, ptr %add.ptr.i41.i, align 1, !alias.scope !87 %83 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur13.i42.i = getelementptr inbounds i8, ptr %83, i64 16 %84 = load i64, ptr %buff_cur13.i42.i, align 8, !tbaa !19 %add14.i43.i = add i64 %84, 1 store i64 %add14.i43.i, ptr %buff_cur13.i42.i, align 8, !tbaa !19 br label %if.end if.end.i45.i: ; preds = %for.cond.i.i.i.preheader.i call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp20.i31.i) store ptr @.str15, ptr %agg.tmp20.i31.i, align 8 store i64 1, ptr %agg.tmp129.sroa.5.0.agg.tmp20.i31.sroa_idx.i, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i30.i) %stream_writer.i.i46.i = getelementptr inbounds i8, ptr %79, i64 24 %85 = load ptr, ptr %stream_writer.i.i46.i, align 8, !tbaa !20 %cmp.not.i.i47.i = icmp eq ptr %85, null br i1 %cmp.not.i.i47.i, label %if.else.i.i66.i, label %if.then.i.i48.i if.then.i.i48.i: ; preds = %if.end.i45.i %cmp2.not.i.i49.i = icmp eq i64 %80, 0 br i1 %cmp2.not.i.i49.i, label %if.then12.i.i60.i, label %if.then3.i.i50.i if.then3.i.i50.i: ; preds = %if.then.i.i48.i %86 = load ptr, ptr %79, align 8, !tbaa !15 store ptr %86, ptr %agg.tmp.i.i30.i, align 8, !tbaa !91 store i64 %80, ptr %Len.i.i.i.i51.i, align 8, !tbaa !93 %output_target.i.i52.i = getelementptr inbounds i8, ptr %79, i64 32 %87 = load ptr, ptr %output_target.i.i52.i, align 8, !tbaa !21 %call.i.i53.i = call noundef i32 %85(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i30.i, ptr noundef %87) #19 %cmp7.i.i54.i = icmp sgt i32 %call.i.i53.i, -1 br i1 %cmp7.i.i54.i, label %if.then3.i.i50.i.if.then12.i.i60.i_crit_edge, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i55.i if.then3.i.i50.i.if.then12.i.i60.i_crit_edge: ; preds = %if.then3.i.i50.i %.pre91 = load ptr, ptr %stream_writer.i.i46.i, align 8, !tbaa !20 br label %if.then12.i.i60.i if.then12.i.i60.i: ; preds = %if.then3.i.i50.i.if.then12.i.i60.i_crit_edge, %if.then.i.i48.i %88 = phi ptr [ %.pre91, %if.then3.i.i50.i.if.then12.i.i60.i_crit_edge ], [ %85, %if.then.i.i48.i ] %output_target16.i.i61.i = getelementptr inbounds i8, ptr %79, i64 32 %89 = load ptr, ptr %output_target16.i.i61.i, align 8, !tbaa !21 %call17.i.i62.i = call noundef i32 %88(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp20.i31.i, ptr noundef %89) #19 %cmp18.i.i63.i = icmp sgt i32 %call17.i.i62.i, -1 br i1 %cmp18.i.i63.i, label %return.sink.split.i.i64.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i55.i if.else.i.i66.i: ; preds = %if.end.i45.i %cmp27.i.i67.i = icmp ult i64 %80, %81 br i1 %cmp27.i.i67.i, label %if.then28.i.i68.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i55.i if.then28.i.i68.i: ; preds = %if.else.i.i66.i %90 = load ptr, ptr %79, align 8, !tbaa !15 %add.ptr.i.i72.i = getelementptr inbounds i8, ptr %90, i64 %80 store i8 37, ptr %add.ptr.i.i72.i, align 1, !alias.scope !94 %91 = load i64, ptr %buff_cur.i36.i, align 8, !tbaa !19 %add.i.i73.i = add i64 %91, 1 br label %return.sink.split.i.i64.i return.sink.split.i.i64.i: ; preds = %if.then28.i.i68.i, %if.then12.i.i60.i %add.sink.i.i65.i = phi i64 [ %add.i.i73.i, %if.then28.i.i68.i ], [ 0, %if.then12.i.i60.i ] store i64 %add.sink.i.i65.i, ptr %buff_cur.i36.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i55.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i55.i: ; preds = %return.sink.split.i.i64.i, %if.else.i.i66.i, %if.then12.i.i60.i, %if.then3.i.i50.i %retval.3.i.i56.i = phi i32 [ %call.i.i53.i, %if.then3.i.i50.i ], [ %call17.i.i62.i, %if.then12.i.i60.i ], [ 0, %if.else.i.i66.i ], [ 0, %return.sink.split.i.i64.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp20.i31.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i30.i) br label %if.end sw.bb3.i: ; preds = %if.end.i9 %conv.i75.i = trunc i64 %cur_section.sroa.54.0 to i8 %narrow.i.i = call i32 @llvm.usub.sat.i32(i32 %cur_section.sroa.42.0, i32 1) %cond.i.i22 = zext nneg i32 %narrow.i.i to i64 %cmp3.not.i.i = icmp ult i32 %cur_section.sroa.42.0, 2 %92 = and i8 %cur_section.sroa.22.0, 1 %cmp5.i.i = icmp ne i8 %92, 0 %or.cond.not = select i1 %cmp3.not.i.i, i1 true, i1 %cmp5.i.i br i1 %or.cond.not, label %if.end8.i.i, label %if.then.i76.i if.then.i76.i: ; preds = %sw.bb3.i %93 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i.i77.i = add nsw i32 %93, %narrow.i.i store i32 %add.i.i77.i, ptr %chars_written.i, align 8, !tbaa !25 %94 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i.i.i = getelementptr inbounds i8, ptr %94, i64 16 %95 = load i64, ptr %buff_cur.i.i.i, align 8, !tbaa !19 %add2.i.i.i = add i64 %95, %cond.i.i22 %buff_len.i.i.i = getelementptr inbounds i8, ptr %94, i64 8 %96 = load i64, ptr %buff_len.i.i.i, align 8, !tbaa !18 %cmp.not.i.i78.i = icmp ugt i64 %add2.i.i.i, %96 br i1 %cmp.not.i.i78.i, label %if.end.i.i.i, label %if.then.i.i79.i if.then.i.i79.i: ; preds = %if.then.i76.i %97 = load ptr, ptr %94, align 8, !tbaa !15 %add.ptr.i.i80.i = getelementptr inbounds i8, ptr %97, i64 %95 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i.i80.i, i8 32, i64 %cond.i.i22, i1 false) %98 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur8.i.i.i = getelementptr inbounds i8, ptr %98, i64 16 %99 = load i64, ptr %buff_cur8.i.i.i, align 8, !tbaa !19 %add9.i.i.i = add i64 %99, %cond.i.i22 store i64 %add9.i.i.i, ptr %buff_cur8.i.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.i if.end.i.i.i: ; preds = %if.then.i76.i %sub.i71.i = sub i64 %96, %95 %cmp.not.i72.i = icmp eq i64 %sub.i71.i, 0 br i1 %cmp.not.i72.i, label %if.end.i76.i, label %if.then.i73.i if.then.i73.i: ; preds = %if.end.i.i.i %100 = load ptr, ptr %94, align 8, !tbaa !15 %add.ptr.i74.i = getelementptr inbounds i8, ptr %100, i64 %95 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i74.i, i8 32, i64 %sub.i71.i, i1 false) %101 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur7.i.i = getelementptr inbounds i8, ptr %101, i64 16 %102 = load i64, ptr %buff_cur7.i.i, align 8, !tbaa !19 %add.i75.i = add i64 %102, %sub.i71.i store i64 %add.i75.i, ptr %buff_cur7.i.i, align 8, !tbaa !19 br label %if.end.i76.i if.end.i76.i: ; preds = %if.then.i73.i, %if.end.i.i.i call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %mini_buff.i.i) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %mini_buff.i.i, i8 32, i64 64, i1 false) br label %while.cond.i.i25 while.cond.i.i25: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i86.i, %if.end.i76.i %written.1.i.i = phi i64 [ %sub.i71.i, %if.end.i76.i ], [ %add9.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i86.i ] %add9.i.i = add i64 %written.1.i.i, 64 %cmp10.i.i = icmp ult i64 %add9.i.i, %cond.i.i22 br i1 %cmp10.i.i, label %while.body.i.i27, label %while.end.i.i26 while.body.i.i27: ; preds = %while.cond.i.i25 %103 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp35.i.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i68.i) store ptr %mini_buff.i.i, ptr %agg.tmp35.i.i, align 8 store i64 64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i.i, align 8 %stream_writer.i.i78.i = getelementptr inbounds i8, ptr %103, i64 24 %104 = load ptr, ptr %stream_writer.i.i78.i, align 8, !tbaa !20 %cmp.not.i.i79.i = icmp eq ptr %104, null %buff_cur26.i.i.i = getelementptr inbounds i8, ptr %103, i64 16 %105 = load i64, ptr %buff_cur26.i.i.i, align 8, !tbaa !19 br i1 %cmp.not.i.i79.i, label %if.else.i.i98.i, label %if.then.i.i80.i if.then.i.i80.i: ; preds = %while.body.i.i27 %cmp2.not.i.i81.i = icmp eq i64 %105, 0 br i1 %cmp2.not.i.i81.i, label %if.end9.i.i90.i, label %if.then3.i.i82.i if.then3.i.i82.i: ; preds = %if.then.i.i80.i %106 = load ptr, ptr %103, align 8, !tbaa !15 store ptr %106, ptr %agg.tmp.i.i68.i, align 8, !tbaa !91 store i64 %105, ptr %Len.i.i.i.i77.i, align 8, !tbaa !93 %output_target.i.i83.i = getelementptr inbounds i8, ptr %103, i64 32 %107 = load ptr, ptr %output_target.i.i83.i, align 8, !tbaa !21 %call.i.i84.i = call noundef i32 %104(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i68.i, ptr noundef %107) #19 %cmp7.i.i85.i = icmp sgt i32 %call.i.i84.i, -1 br i1 %cmp7.i.i85.i, label %if.then3.i.if.end9.i_crit_edge.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i86.i if.then3.i.if.end9.i_crit_edge.i.i: ; preds = %if.then3.i.i82.i %.pre.i89.i = load i64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i.i, align 8, !tbaa !93 br label %if.end9.i.i90.i if.end9.i.i90.i: ; preds = %if.then3.i.if.end9.i_crit_edge.i.i, %if.then.i.i80.i %108 = phi i64 [ %.pre.i89.i, %if.then3.i.if.end9.i_crit_edge.i.i ], [ 64, %if.then.i.i80.i ] %cmp11.not.i.i91.i = icmp eq i64 %108, 0 br i1 %cmp11.not.i.i91.i, label %return.sink.split.i.i96.i, label %if.then12.i.i92.i if.then12.i.i92.i: ; preds = %if.end9.i.i90.i %109 = load ptr, ptr %stream_writer.i.i78.i, align 8, !tbaa !20 %output_target16.i.i93.i = getelementptr inbounds i8, ptr %103, i64 32 %110 = load ptr, ptr %output_target16.i.i93.i, align 8, !tbaa !21 %call17.i.i94.i = call noundef i32 %109(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp35.i.i, ptr noundef %110) #19 %cmp18.i.i95.i = icmp sgt i32 %call17.i.i94.i, -1 br i1 %cmp18.i.i95.i, label %return.sink.split.i.i96.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i86.i if.else.i.i98.i: ; preds = %while.body.i.i27 %buff_len.i.i99.i = getelementptr inbounds i8, ptr %103, i64 8 %111 = load i64, ptr %buff_len.i.i99.i, align 8, !tbaa !18 %cmp27.i.i100.i = icmp ult i64 %105, %111 br i1 %cmp27.i.i100.i, label %if.then28.i.i101.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i86.i if.then28.i.i101.i: ; preds = %if.else.i.i98.i %sub.i.i102.i = sub i64 %111, %105 %spec.select.i.i103.i = call i64 @llvm.umin.i64(i64 %sub.i.i102.i, i64 64) %112 = load ptr, ptr %103, align 8, !tbaa !15 %add.ptr.i.i104.i = getelementptr inbounds i8, ptr %112, i64 %105 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i104.i, ptr nonnull align 1 %mini_buff.i.i, i64 %spec.select.i.i103.i, i1 false), !alias.scope !98 %113 = load i64, ptr %buff_cur26.i.i.i, align 8, !tbaa !19 %add.i.i105.i = add i64 %113, %spec.select.i.i103.i br label %return.sink.split.i.i96.i return.sink.split.i.i96.i: ; preds = %if.then28.i.i101.i, %if.then12.i.i92.i, %if.end9.i.i90.i %add.sink.i.i97.i = phi i64 [ %add.i.i105.i, %if.then28.i.i101.i ], [ 0, %if.then12.i.i92.i ], [ 0, %if.end9.i.i90.i ] store i64 %add.sink.i.i97.i, ptr %buff_cur26.i.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i86.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i86.i: ; preds = %return.sink.split.i.i96.i, %if.else.i.i98.i, %if.then12.i.i92.i, %if.then3.i.i82.i %retval.3.i.i87.i = phi i32 [ %call.i.i84.i, %if.then3.i.i82.i ], [ %call17.i.i94.i, %if.then12.i.i92.i ], [ 0, %if.else.i.i98.i ], [ 0, %return.sink.split.i.i96.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp35.i.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i68.i) %cmp12.not.i88.i = icmp eq i32 %retval.3.i.i87.i, 0 br i1 %cmp12.not.i88.i, label %while.cond.i.i25, label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit.i, !llvm.loop !102 while.end.i.i26: ; preds = %while.cond.i.i25 %written.1.i.i.lcssa = phi i64 [ %written.1.i.i, %while.cond.i.i25 ] %sub16.i.i = sub i64 %cond.i.i22, %written.1.i.i.lcssa %cond.i6.i.i.i = call noundef i64 @llvm.umin.i64(i64 %sub16.i.i, i64 64) %114 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1939.i.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i40.i.i) store ptr %mini_buff.i.i, ptr %agg.tmp1939.i.i, align 8 store i64 %cond.i6.i.i.i, ptr %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i.i, align 8 %stream_writer.i41.i.i = getelementptr inbounds i8, ptr %114, i64 24 %115 = load ptr, ptr %stream_writer.i41.i.i, align 8, !tbaa !20 %cmp.not.i42.i.i = icmp eq ptr %115, null %buff_cur26.i43.i.i = getelementptr inbounds i8, ptr %114, i64 16 %116 = load i64, ptr %buff_cur26.i43.i.i, align 8, !tbaa !19 br i1 %cmp.not.i42.i.i, label %if.else.i61.i.i, label %if.then.i44.i.i if.then.i44.i.i: ; preds = %while.end.i.i26 %cmp2.not.i45.i.i = icmp eq i64 %116, 0 br i1 %cmp2.not.i45.i.i, label %if.end9.i52.i.i, label %if.then3.i46.i.i if.then3.i46.i.i: ; preds = %if.then.i44.i.i %117 = load ptr, ptr %114, align 8, !tbaa !15 store ptr %117, ptr %agg.tmp.i40.i.i, align 8, !tbaa !91 store i64 %116, ptr %Len.i.i.i47.i.i, align 8, !tbaa !93 %output_target.i48.i.i = getelementptr inbounds i8, ptr %114, i64 32 %118 = load ptr, ptr %output_target.i48.i.i, align 8, !tbaa !21 %call.i49.i.i = call noundef i32 %115(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i40.i.i, ptr noundef %118) #19 %cmp7.i50.i.i = icmp sgt i32 %call.i49.i.i, -1 br i1 %cmp7.i50.i.i, label %if.end9.i52.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i.i if.end9.i52.i.i: ; preds = %if.then3.i46.i.i, %if.then.i44.i.i %cmp11.not.i54.i.i = icmp eq i64 %written.1.i.i.lcssa, %cond.i.i22 br i1 %cmp11.not.i54.i.i, label %return.sink.split.i59.i.i, label %if.then12.i55.i.i if.then12.i55.i.i: ; preds = %if.end9.i52.i.i %119 = load ptr, ptr %stream_writer.i41.i.i, align 8, !tbaa !20 %output_target16.i56.i.i = getelementptr inbounds i8, ptr %114, i64 32 %120 = load ptr, ptr %output_target16.i56.i.i, align 8, !tbaa !21 %call17.i57.i.i = call noundef i32 %119(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp1939.i.i, ptr noundef %120) #19 %cmp18.i58.i.i = icmp sgt i32 %call17.i57.i.i, -1 br i1 %cmp18.i58.i.i, label %return.sink.split.i59.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i.i if.else.i61.i.i: ; preds = %while.end.i.i26 %buff_len.i62.i.i = getelementptr inbounds i8, ptr %114, i64 8 %121 = load i64, ptr %buff_len.i62.i.i, align 8, !tbaa !18 %cmp27.i63.i.i = icmp ult i64 %116, %121 br i1 %cmp27.i63.i.i, label %if.then28.i64.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i.i if.then28.i64.i.i: ; preds = %if.else.i61.i.i %sub.i65.i.i = sub i64 %121, %116 %spec.select.i67.i.i = call i64 @llvm.umin.i64(i64 %sub.i65.i.i, i64 %cond.i6.i.i.i) %122 = load ptr, ptr %114, align 8, !tbaa !15 %add.ptr.i68.i.i = getelementptr inbounds i8, ptr %122, i64 %116 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i68.i.i, ptr nonnull align 1 %mini_buff.i.i, i64 %spec.select.i67.i.i, i1 false), !alias.scope !103 %123 = load i64, ptr %buff_cur26.i43.i.i, align 8, !tbaa !19 %add.i69.i.i = add i64 %123, %spec.select.i67.i.i br label %return.sink.split.i59.i.i return.sink.split.i59.i.i: ; preds = %if.then28.i64.i.i, %if.then12.i55.i.i, %if.end9.i52.i.i %add.sink.i60.i.i = phi i64 [ %add.i69.i.i, %if.then28.i64.i.i ], [ 0, %if.then12.i55.i.i ], [ 0, %if.end9.i52.i.i ] store i64 %add.sink.i60.i.i, ptr %buff_cur26.i43.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i.i: ; preds = %return.sink.split.i59.i.i, %if.else.i61.i.i, %if.then12.i55.i.i, %if.then3.i46.i.i %retval.3.i51.i.i = phi i32 [ %call.i49.i.i, %if.then3.i46.i.i ], [ %call17.i57.i.i, %if.then12.i55.i.i ], [ 0, %if.else.i61.i.i ], [ 0, %return.sink.split.i59.i.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1939.i.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i40.i.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i86.i %retval.2.i.i = phi i32 [ %retval.3.i51.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i.i ], [ %retval.3.i.i87.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i86.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %mini_buff.i.i) #18 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit.i, %if.then.i.i79.i %retval.0.i.i.i = phi i32 [ 0, %if.then.i.i79.i ], [ %retval.2.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit.i ] %cmp6.i.i = icmp sgt i32 %retval.0.i.i.i, -1 br i1 %cmp6.i.i, label %if.end8.i.i, label %if.end if.end8.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.i, %sw.bb3.i call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %new_char.addr.i.i.i) store i8 %conv.i75.i, ptr %new_char.addr.i.i.i, align 1, !tbaa !26 %124 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i54.i.i = add nsw i32 %124, 1 store i32 %add.i54.i.i, ptr %chars_written.i, align 8, !tbaa !25 %125 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i55.i.i = getelementptr inbounds i8, ptr %125, i64 16 %126 = load i64, ptr %buff_cur.i55.i.i, align 8, !tbaa !19 %add2.i56.i.i = add i64 %126, 1 %buff_len.i57.i.i = getelementptr inbounds i8, ptr %125, i64 8 %127 = load i64, ptr %buff_len.i57.i.i, align 8, !tbaa !18 %cmp.not.i58.i.i = icmp ugt i64 %add2.i56.i.i, %127 br i1 %cmp.not.i58.i.i, label %if.end.i63.i.i, label %if.then.i59.i.i if.then.i59.i.i: ; preds = %if.end8.i.i %128 = load ptr, ptr %125, align 8, !tbaa !15 %arrayidx.i.i.i23 = getelementptr inbounds i8, ptr %128, i64 %126 store i8 %conv.i75.i, ptr %arrayidx.i.i.i23, align 1, !tbaa !26 %129 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur8.i60.i.i = getelementptr inbounds i8, ptr %129, i64 16 %130 = load i64, ptr %buff_cur8.i60.i.i, align 8, !tbaa !19 %add9.i61.i.i = add i64 %130, 1 store i64 %add9.i61.i.i, ptr %buff_cur8.i60.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEc.exit.i.i if.end.i63.i.i: ; preds = %if.end8.i.i call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp12.i.i.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i.i.i) store ptr %new_char.addr.i.i.i, ptr %agg.tmp12.i.i.i, align 8 store i64 1, ptr %agg.tmp.sroa.2.0.agg.tmp12.sroa_idx.i.i.i, align 8 %stream_writer.i.i.i.i = getelementptr inbounds i8, ptr %125, i64 24 %131 = load ptr, ptr %stream_writer.i.i.i.i, align 8, !tbaa !20 %cmp.not.i.i.i.i = icmp eq ptr %131, null br i1 %cmp.not.i.i.i.i, label %if.else.i.i.i.i, label %if.then.i.i.i.i if.then.i.i.i.i: ; preds = %if.end.i63.i.i %cmp2.not.i.i.i.i = icmp eq i64 %126, 0 br i1 %cmp2.not.i.i.i.i, label %if.then12.i.i.i.i, label %if.then3.i.i.i.i if.then3.i.i.i.i: ; preds = %if.then.i.i.i.i %132 = load ptr, ptr %125, align 8, !tbaa !15 store ptr %132, ptr %agg.tmp.i.i.i.i, align 8, !tbaa !91 store i64 %126, ptr %Len.i.i.i.i.i.i, align 8, !tbaa !93 %output_target.i.i.i.i = getelementptr inbounds i8, ptr %125, i64 32 %133 = load ptr, ptr %output_target.i.i.i.i, align 8, !tbaa !21 %call.i.i.i.i = call noundef i32 %131(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i.i.i, ptr noundef %133) #19 %cmp7.i.i.i.i = icmp sgt i32 %call.i.i.i.i, -1 br i1 %cmp7.i.i.i.i, label %if.then3.i.i.if.then12.i.i_crit_edge.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i.i if.then3.i.i.if.then12.i.i_crit_edge.i.i: ; preds = %if.then3.i.i.i.i %.pre.i.i24 = load ptr, ptr %stream_writer.i.i.i.i, align 8, !tbaa !20 br label %if.then12.i.i.i.i if.then12.i.i.i.i: ; preds = %if.then3.i.i.if.then12.i.i_crit_edge.i.i, %if.then.i.i.i.i %134 = phi ptr [ %.pre.i.i24, %if.then3.i.i.if.then12.i.i_crit_edge.i.i ], [ %131, %if.then.i.i.i.i ] %output_target16.i.i.i.i = getelementptr inbounds i8, ptr %125, i64 32 %135 = load ptr, ptr %output_target16.i.i.i.i, align 8, !tbaa !21 %call17.i.i.i.i = call noundef i32 %134(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp12.i.i.i, ptr noundef %135) #19 %cmp18.i.i.i.i = icmp sgt i32 %call17.i.i.i.i, -1 br i1 %cmp18.i.i.i.i, label %return.sink.split.i.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i.i if.else.i.i.i.i: ; preds = %if.end.i63.i.i %cmp27.i.i.i.i = icmp ult i64 %126, %127 br i1 %cmp27.i.i.i.i, label %if.then28.i.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i.i if.then28.i.i.i.i: ; preds = %if.else.i.i.i.i %136 = load ptr, ptr %125, align 8, !tbaa !15 %add.ptr.i.i.i.i = getelementptr inbounds i8, ptr %136, i64 %126 store i8 %conv.i75.i, ptr %add.ptr.i.i.i.i, align 1, !alias.scope !107 %137 = load i64, ptr %buff_cur.i55.i.i, align 8, !tbaa !19 %add.i.i.i.i = add i64 %137, 1 br label %return.sink.split.i.i.i.i return.sink.split.i.i.i.i: ; preds = %if.then28.i.i.i.i, %if.then12.i.i.i.i %add.sink.i.i.i.i = phi i64 [ %add.i.i.i.i, %if.then28.i.i.i.i ], [ 0, %if.then12.i.i.i.i ] store i64 %add.sink.i.i.i.i, ptr %buff_cur.i55.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i.i: ; preds = %return.sink.split.i.i.i.i, %if.else.i.i.i.i, %if.then12.i.i.i.i, %if.then3.i.i.i.i %retval.3.i.i.i.i = phi i32 [ %call.i.i.i.i, %if.then3.i.i.i.i ], [ %call17.i.i.i.i, %if.then12.i.i.i.i ], [ 0, %if.else.i.i.i.i ], [ 0, %return.sink.split.i.i.i.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp12.i.i.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i.i.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEc.exit.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEc.exit.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i.i, %if.then.i59.i.i %retval.0.i62.i.i = phi i32 [ 0, %if.then.i59.i.i ], [ %retval.3.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i.i ] call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %new_char.addr.i.i.i) %cmp11.i.i = icmp sgt i32 %retval.0.i62.i.i, -1 br i1 %cmp11.i.i, label %cleanup.cont16.i.i, label %if.end cleanup.cont16.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEc.exit.i.i %138 = and i8 %cur_section.sroa.22.0, 1 %cmp22.not.i.i = icmp eq i8 %138, 0 %or.cond132 = select i1 %cmp3.not.i.i, i1 true, i1 %cmp22.not.i.i br i1 %or.cond132, label %if.end32.i.i, label %if.then23.i.i if.then23.i.i: ; preds = %cleanup.cont16.i.i %139 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i66.i.i = add nsw i32 %139, %narrow.i.i store i32 %add.i66.i.i, ptr %chars_written.i, align 8, !tbaa !25 %140 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i67.i.i = getelementptr inbounds i8, ptr %140, i64 16 %141 = load i64, ptr %buff_cur.i67.i.i, align 8, !tbaa !19 %add2.i68.i.i = add i64 %141, %cond.i.i22 %buff_len.i69.i.i = getelementptr inbounds i8, ptr %140, i64 8 %142 = load i64, ptr %buff_len.i69.i.i, align 8, !tbaa !18 %cmp.not.i70.i.i = icmp ugt i64 %add2.i68.i.i, %142 br i1 %cmp.not.i70.i.i, label %if.end.i76.i.i, label %if.then.i71.i.i if.then.i71.i.i: ; preds = %if.then23.i.i %143 = load ptr, ptr %140, align 8, !tbaa !15 %add.ptr.i72.i.i = getelementptr inbounds i8, ptr %143, i64 %141 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i72.i.i, i8 32, i64 %cond.i.i22, i1 false) %144 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur8.i73.i.i = getelementptr inbounds i8, ptr %144, i64 16 %145 = load i64, ptr %buff_cur8.i73.i.i, align 8, !tbaa !19 %add9.i74.i.i = add i64 %145, %cond.i.i22 store i64 %add9.i74.i.i, ptr %buff_cur8.i73.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit78.i.i if.end.i76.i.i: ; preds = %if.then23.i.i %sub.i113.i = sub i64 %142, %141 %cmp.not.i114.i = icmp eq i64 %sub.i113.i, 0 br i1 %cmp.not.i114.i, label %if.end.i119.i, label %if.then.i115.i if.then.i115.i: ; preds = %if.end.i76.i.i %146 = load ptr, ptr %140, align 8, !tbaa !15 %add.ptr.i116.i = getelementptr inbounds i8, ptr %146, i64 %141 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i116.i, i8 32, i64 %sub.i113.i, i1 false) %147 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur7.i117.i = getelementptr inbounds i8, ptr %147, i64 16 %148 = load i64, ptr %buff_cur7.i117.i, align 8, !tbaa !19 %add.i118.i = add i64 %148, %sub.i113.i store i64 %add.i118.i, ptr %buff_cur7.i117.i, align 8, !tbaa !19 br label %if.end.i119.i if.end.i119.i: ; preds = %if.then.i115.i, %if.end.i76.i.i call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %mini_buff.i110.i) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %mini_buff.i110.i, i8 32, i64 64, i1 false) br label %while.cond.i122.i while.cond.i122.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i169.i, %if.end.i119.i %written.1.i123.i = phi i64 [ %sub.i113.i, %if.end.i119.i ], [ %add9.i124.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i169.i ] %add9.i124.i = add i64 %written.1.i123.i, 64 %cmp10.i125.i = icmp ult i64 %add9.i124.i, %cond.i.i22 br i1 %cmp10.i125.i, label %while.body.i159.i, label %while.end.i126.i while.body.i159.i: ; preds = %while.cond.i122.i %149 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp35.i109.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i108.i) store ptr %mini_buff.i110.i, ptr %agg.tmp35.i109.i, align 8 store i64 64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i120.i, align 8 %stream_writer.i.i160.i = getelementptr inbounds i8, ptr %149, i64 24 %150 = load ptr, ptr %stream_writer.i.i160.i, align 8, !tbaa !20 %cmp.not.i.i161.i = icmp eq ptr %150, null %buff_cur26.i.i162.i = getelementptr inbounds i8, ptr %149, i64 16 %151 = load i64, ptr %buff_cur26.i.i162.i, align 8, !tbaa !19 br i1 %cmp.not.i.i161.i, label %if.else.i.i182.i, label %if.then.i.i163.i if.then.i.i163.i: ; preds = %while.body.i159.i %cmp2.not.i.i164.i = icmp eq i64 %151, 0 br i1 %cmp2.not.i.i164.i, label %if.end9.i.i174.i, label %if.then3.i.i165.i if.then3.i.i165.i: ; preds = %if.then.i.i163.i %152 = load ptr, ptr %149, align 8, !tbaa !15 store ptr %152, ptr %agg.tmp.i.i108.i, align 8, !tbaa !91 store i64 %151, ptr %Len.i.i.i.i121.i, align 8, !tbaa !93 %output_target.i.i166.i = getelementptr inbounds i8, ptr %149, i64 32 %153 = load ptr, ptr %output_target.i.i166.i, align 8, !tbaa !21 %call.i.i167.i = call noundef i32 %150(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i108.i, ptr noundef %153) #19 %cmp7.i.i168.i = icmp sgt i32 %call.i.i167.i, -1 br i1 %cmp7.i.i168.i, label %if.then3.i.if.end9.i_crit_edge.i172.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i169.i if.then3.i.if.end9.i_crit_edge.i172.i: ; preds = %if.then3.i.i165.i %.pre.i173.i = load i64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i120.i, align 8, !tbaa !93 br label %if.end9.i.i174.i if.end9.i.i174.i: ; preds = %if.then3.i.if.end9.i_crit_edge.i172.i, %if.then.i.i163.i %154 = phi i64 [ %.pre.i173.i, %if.then3.i.if.end9.i_crit_edge.i172.i ], [ 64, %if.then.i.i163.i ] %cmp11.not.i.i175.i = icmp eq i64 %154, 0 br i1 %cmp11.not.i.i175.i, label %return.sink.split.i.i180.i, label %if.then12.i.i176.i if.then12.i.i176.i: ; preds = %if.end9.i.i174.i %155 = load ptr, ptr %stream_writer.i.i160.i, align 8, !tbaa !20 %output_target16.i.i177.i = getelementptr inbounds i8, ptr %149, i64 32 %156 = load ptr, ptr %output_target16.i.i177.i, align 8, !tbaa !21 %call17.i.i178.i = call noundef i32 %155(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp35.i109.i, ptr noundef %156) #19 %cmp18.i.i179.i = icmp sgt i32 %call17.i.i178.i, -1 br i1 %cmp18.i.i179.i, label %return.sink.split.i.i180.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i169.i if.else.i.i182.i: ; preds = %while.body.i159.i %buff_len.i.i183.i = getelementptr inbounds i8, ptr %149, i64 8 %157 = load i64, ptr %buff_len.i.i183.i, align 8, !tbaa !18 %cmp27.i.i184.i = icmp ult i64 %151, %157 br i1 %cmp27.i.i184.i, label %if.then28.i.i185.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i169.i if.then28.i.i185.i: ; preds = %if.else.i.i182.i %sub.i.i186.i = sub i64 %157, %151 %spec.select.i.i188.i = call i64 @llvm.umin.i64(i64 %sub.i.i186.i, i64 64) %158 = load ptr, ptr %149, align 8, !tbaa !15 %add.ptr.i.i189.i = getelementptr inbounds i8, ptr %158, i64 %151 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i189.i, ptr nonnull align 1 %mini_buff.i110.i, i64 %spec.select.i.i188.i, i1 false), !alias.scope !111 %159 = load i64, ptr %buff_cur26.i.i162.i, align 8, !tbaa !19 %add.i.i190.i = add i64 %159, %spec.select.i.i188.i br label %return.sink.split.i.i180.i return.sink.split.i.i180.i: ; preds = %if.then28.i.i185.i, %if.then12.i.i176.i, %if.end9.i.i174.i %add.sink.i.i181.i = phi i64 [ %add.i.i190.i, %if.then28.i.i185.i ], [ 0, %if.then12.i.i176.i ], [ 0, %if.end9.i.i174.i ] store i64 %add.sink.i.i181.i, ptr %buff_cur26.i.i162.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i169.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i169.i: ; preds = %return.sink.split.i.i180.i, %if.else.i.i182.i, %if.then12.i.i176.i, %if.then3.i.i165.i %retval.3.i.i170.i = phi i32 [ %call.i.i167.i, %if.then3.i.i165.i ], [ %call17.i.i178.i, %if.then12.i.i176.i ], [ 0, %if.else.i.i182.i ], [ 0, %return.sink.split.i.i180.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp35.i109.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i108.i) %cmp12.not.i171.i = icmp eq i32 %retval.3.i.i170.i, 0 br i1 %cmp12.not.i171.i, label %while.cond.i122.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit191.i, !llvm.loop !102 while.end.i126.i: ; preds = %while.cond.i122.i %written.1.i123.i.lcssa = phi i64 [ %written.1.i123.i, %while.cond.i122.i ] %sub16.i127.i = sub i64 %cond.i.i22, %written.1.i123.i.lcssa %cond.i6.i.i128.i = call noundef i64 @llvm.umin.i64(i64 %sub16.i127.i, i64 64) %160 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1939.i107.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i40.i106.i) store ptr %mini_buff.i110.i, ptr %agg.tmp1939.i107.i, align 8 store i64 %cond.i6.i.i128.i, ptr %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i129.i, align 8 %stream_writer.i41.i130.i = getelementptr inbounds i8, ptr %160, i64 24 %161 = load ptr, ptr %stream_writer.i41.i130.i, align 8, !tbaa !20 %cmp.not.i42.i131.i = icmp eq ptr %161, null %buff_cur26.i43.i132.i = getelementptr inbounds i8, ptr %160, i64 16 %162 = load i64, ptr %buff_cur26.i43.i132.i, align 8, !tbaa !19 br i1 %cmp.not.i42.i131.i, label %if.else.i61.i151.i, label %if.then.i44.i133.i if.then.i44.i133.i: ; preds = %while.end.i126.i %cmp2.not.i45.i134.i = icmp eq i64 %162, 0 br i1 %cmp2.not.i45.i134.i, label %if.end9.i52.i143.i, label %if.then3.i46.i135.i if.then3.i46.i135.i: ; preds = %if.then.i44.i133.i %163 = load ptr, ptr %160, align 8, !tbaa !15 store ptr %163, ptr %agg.tmp.i40.i106.i, align 8, !tbaa !91 store i64 %162, ptr %Len.i.i.i47.i136.i, align 8, !tbaa !93 %output_target.i48.i137.i = getelementptr inbounds i8, ptr %160, i64 32 %164 = load ptr, ptr %output_target.i48.i137.i, align 8, !tbaa !21 %call.i49.i138.i = call noundef i32 %161(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i40.i106.i, ptr noundef %164) #19 %cmp7.i50.i139.i = icmp sgt i32 %call.i49.i138.i, -1 br i1 %cmp7.i50.i139.i, label %if.end9.i52.i143.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i140.i if.end9.i52.i143.i: ; preds = %if.then3.i46.i135.i, %if.then.i44.i133.i %cmp11.not.i54.i144.i = icmp eq i64 %written.1.i123.i.lcssa, %cond.i.i22 br i1 %cmp11.not.i54.i144.i, label %return.sink.split.i59.i149.i, label %if.then12.i55.i145.i if.then12.i55.i145.i: ; preds = %if.end9.i52.i143.i %165 = load ptr, ptr %stream_writer.i41.i130.i, align 8, !tbaa !20 %output_target16.i56.i146.i = getelementptr inbounds i8, ptr %160, i64 32 %166 = load ptr, ptr %output_target16.i56.i146.i, align 8, !tbaa !21 %call17.i57.i147.i = call noundef i32 %165(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp1939.i107.i, ptr noundef %166) #19 %cmp18.i58.i148.i = icmp sgt i32 %call17.i57.i147.i, -1 br i1 %cmp18.i58.i148.i, label %return.sink.split.i59.i149.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i140.i if.else.i61.i151.i: ; preds = %while.end.i126.i %buff_len.i62.i152.i = getelementptr inbounds i8, ptr %160, i64 8 %167 = load i64, ptr %buff_len.i62.i152.i, align 8, !tbaa !18 %cmp27.i63.i153.i = icmp ult i64 %162, %167 br i1 %cmp27.i63.i153.i, label %if.then28.i64.i154.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i140.i if.then28.i64.i154.i: ; preds = %if.else.i61.i151.i %sub.i65.i155.i = sub i64 %167, %162 %spec.select.i67.i156.i = call i64 @llvm.umin.i64(i64 %sub.i65.i155.i, i64 %cond.i6.i.i128.i) %168 = load ptr, ptr %160, align 8, !tbaa !15 %add.ptr.i68.i157.i = getelementptr inbounds i8, ptr %168, i64 %162 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i68.i157.i, ptr nonnull align 1 %mini_buff.i110.i, i64 %spec.select.i67.i156.i, i1 false), !alias.scope !115 %169 = load i64, ptr %buff_cur26.i43.i132.i, align 8, !tbaa !19 %add.i69.i158.i = add i64 %169, %spec.select.i67.i156.i br label %return.sink.split.i59.i149.i return.sink.split.i59.i149.i: ; preds = %if.then28.i64.i154.i, %if.then12.i55.i145.i, %if.end9.i52.i143.i %add.sink.i60.i150.i = phi i64 [ %add.i69.i158.i, %if.then28.i64.i154.i ], [ 0, %if.then12.i55.i145.i ], [ 0, %if.end9.i52.i143.i ] store i64 %add.sink.i60.i150.i, ptr %buff_cur26.i43.i132.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i140.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i140.i: ; preds = %return.sink.split.i59.i149.i, %if.else.i61.i151.i, %if.then12.i55.i145.i, %if.then3.i46.i135.i %retval.3.i51.i141.i = phi i32 [ %call.i49.i138.i, %if.then3.i46.i135.i ], [ %call17.i57.i147.i, %if.then12.i55.i145.i ], [ 0, %if.else.i61.i151.i ], [ 0, %return.sink.split.i59.i149.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1939.i107.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i40.i106.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit191.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit191.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i140.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i169.i %retval.2.i142.i = phi i32 [ %retval.3.i51.i141.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i140.i ], [ %retval.3.i.i170.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i169.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %mini_buff.i110.i) #18 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit78.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit78.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit191.i, %if.then.i71.i.i %retval.0.i75.i.i = phi i32 [ 0, %if.then.i71.i.i ], [ %retval.2.i142.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit191.i ] %cmp26.i.i = icmp sgt i32 %retval.0.i75.i.i, -1 br i1 %cmp26.i.i, label %if.end32.i.i, label %if.end if.end32.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit78.i.i, %cleanup.cont16.i.i br label %if.end sw.bb5.i: ; preds = %if.end.i9 %cmp.i82.i = icmp eq ptr %cur_section.sroa.58.0, null %spec.store.select.i.i = select i1 %cmp.i82.i, ptr @.str1, ptr %cur_section.sroa.58.0 br label %for.cond.i.i for.cond.i.i: ; preds = %for.cond.i.i, %sw.bb5.i %string_len.0.i.i = phi i64 [ 0, %sw.bb5.i ], [ %inc.i.i17, %for.cond.i.i ] %arrayidx.i.i16 = getelementptr inbounds i8, ptr %spec.store.select.i.i, i64 %string_len.0.i.i %170 = load i8, ptr %arrayidx.i.i16, align 1, !tbaa !26 %tobool.not.i.i = icmp eq i8 %170, 0 %inc.i.i17 = add i64 %string_len.0.i.i, 1 br i1 %tobool.not.i.i, label %for.cond.cleanup.i.i, label %for.cond.i.i, !llvm.loop !119 for.cond.cleanup.i.i: ; preds = %for.cond.i.i %string_len.0.i.i.lcssa = phi i64 [ %string_len.0.i.i, %for.cond.i.i ] %conv.i83.i = zext nneg i32 %cur_section.sroa.49.0 to i64 %spec.select.i.i18 = call i64 @llvm.umin.i64(i64 %string_len.0.i.i.lcssa, i64 %conv.i83.i) %cmp1103.i.i = icmp slt i32 %cur_section.sroa.49.0, 0 %string_len.1.i.i = select i1 %cmp1103.i.i, i64 %string_len.0.i.i.lcssa, i64 %spec.select.i.i18 %conv8.i.i = trunc i64 %string_len.1.i.i to i32 %cmp9.i.i = icmp sgt i32 %cur_section.sroa.42.0, %conv8.i.i %conv11.i.i = zext nneg i32 %cur_section.sroa.42.0 to i64 %sub.i85.i = sub i64 %conv11.i.i, %string_len.1.i.i %cond.i86.i = select i1 %cmp9.i.i, i64 %sub.i85.i, i64 0 %cmp12.not.i.i = icmp eq i64 %cond.i86.i, 0 %171 = and i8 %cur_section.sroa.22.0, 1 %cmp15.i.i = icmp ne i8 %171, 0 %or.cond133.not = select i1 %cmp12.not.i.i, i1 true, i1 %cmp15.i.i br i1 %or.cond133.not, label %if.end20.i.i, label %if.then16.i.i if.then16.i.i: ; preds = %for.cond.cleanup.i.i %conv.i.i.i = trunc i64 %cond.i86.i to i32 %172 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i.i112.i = add nsw i32 %172, %conv.i.i.i store i32 %add.i.i112.i, ptr %chars_written.i, align 8, !tbaa !25 %173 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i.i113.i = getelementptr inbounds i8, ptr %173, i64 16 %174 = load i64, ptr %buff_cur.i.i113.i, align 8, !tbaa !19 %add2.i.i114.i = add i64 %174, %cond.i86.i %buff_len.i.i115.i = getelementptr inbounds i8, ptr %173, i64 8 %175 = load i64, ptr %buff_len.i.i115.i, align 8, !tbaa !18 %cmp.not.i.i116.i = icmp ugt i64 %add2.i.i114.i, %175 br i1 %cmp.not.i.i116.i, label %if.end.i.i123.i, label %if.then.i.i117.i if.then.i.i117.i: ; preds = %if.then16.i.i %176 = load ptr, ptr %173, align 8, !tbaa !15 %add.ptr.i.i118.i = getelementptr inbounds i8, ptr %176, i64 %174 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i.i118.i, i8 32, i64 %cond.i86.i, i1 false) %177 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur8.i.i119.i = getelementptr inbounds i8, ptr %177, i64 16 %178 = load i64, ptr %buff_cur8.i.i119.i, align 8, !tbaa !19 %add9.i.i120.i = add i64 %178, %cond.i86.i store i64 %add9.i.i120.i, ptr %buff_cur8.i.i119.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i121.i if.end.i.i123.i: ; preds = %if.then16.i.i %sub.i199.i = sub i64 %175, %174 %cmp.not.i200.i = icmp eq i64 %sub.i199.i, 0 br i1 %cmp.not.i200.i, label %if.end.i205.i, label %if.then.i201.i if.then.i201.i: ; preds = %if.end.i.i123.i %179 = load ptr, ptr %173, align 8, !tbaa !15 %add.ptr.i202.i = getelementptr inbounds i8, ptr %179, i64 %174 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i202.i, i8 32, i64 %sub.i199.i, i1 false) %180 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur7.i203.i = getelementptr inbounds i8, ptr %180, i64 16 %181 = load i64, ptr %buff_cur7.i203.i, align 8, !tbaa !19 %add.i204.i = add i64 %181, %sub.i199.i store i64 %add.i204.i, ptr %buff_cur7.i203.i, align 8, !tbaa !19 br label %if.end.i205.i if.end.i205.i: ; preds = %if.then.i201.i, %if.end.i.i123.i call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %mini_buff.i196.i) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %mini_buff.i196.i, i8 32, i64 64, i1 false) br label %while.cond.i208.i while.cond.i208.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i255.i, %if.end.i205.i %written.1.i209.i = phi i64 [ %sub.i199.i, %if.end.i205.i ], [ %add9.i210.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i255.i ] %add9.i210.i = add i64 %written.1.i209.i, 64 %cmp10.i211.i = icmp ult i64 %add9.i210.i, %cond.i86.i br i1 %cmp10.i211.i, label %while.body.i245.i, label %while.end.i212.i while.body.i245.i: ; preds = %while.cond.i208.i %182 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp35.i195.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i194.i) store ptr %mini_buff.i196.i, ptr %agg.tmp35.i195.i, align 8 store i64 64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i206.i, align 8 %stream_writer.i.i246.i = getelementptr inbounds i8, ptr %182, i64 24 %183 = load ptr, ptr %stream_writer.i.i246.i, align 8, !tbaa !20 %cmp.not.i.i247.i = icmp eq ptr %183, null %buff_cur26.i.i248.i = getelementptr inbounds i8, ptr %182, i64 16 %184 = load i64, ptr %buff_cur26.i.i248.i, align 8, !tbaa !19 br i1 %cmp.not.i.i247.i, label %if.else.i.i268.i, label %if.then.i.i249.i if.then.i.i249.i: ; preds = %while.body.i245.i %cmp2.not.i.i250.i = icmp eq i64 %184, 0 br i1 %cmp2.not.i.i250.i, label %if.end9.i.i260.i, label %if.then3.i.i251.i if.then3.i.i251.i: ; preds = %if.then.i.i249.i %185 = load ptr, ptr %182, align 8, !tbaa !15 store ptr %185, ptr %agg.tmp.i.i194.i, align 8, !tbaa !91 store i64 %184, ptr %Len.i.i.i.i207.i, align 8, !tbaa !93 %output_target.i.i252.i = getelementptr inbounds i8, ptr %182, i64 32 %186 = load ptr, ptr %output_target.i.i252.i, align 8, !tbaa !21 %call.i.i253.i = call noundef i32 %183(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i194.i, ptr noundef %186) #19 %cmp7.i.i254.i = icmp sgt i32 %call.i.i253.i, -1 br i1 %cmp7.i.i254.i, label %if.then3.i.if.end9.i_crit_edge.i258.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i255.i if.then3.i.if.end9.i_crit_edge.i258.i: ; preds = %if.then3.i.i251.i %.pre.i259.i = load i64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i206.i, align 8, !tbaa !93 br label %if.end9.i.i260.i if.end9.i.i260.i: ; preds = %if.then3.i.if.end9.i_crit_edge.i258.i, %if.then.i.i249.i %187 = phi i64 [ %.pre.i259.i, %if.then3.i.if.end9.i_crit_edge.i258.i ], [ 64, %if.then.i.i249.i ] %cmp11.not.i.i261.i = icmp eq i64 %187, 0 br i1 %cmp11.not.i.i261.i, label %return.sink.split.i.i266.i, label %if.then12.i.i262.i if.then12.i.i262.i: ; preds = %if.end9.i.i260.i %188 = load ptr, ptr %stream_writer.i.i246.i, align 8, !tbaa !20 %output_target16.i.i263.i = getelementptr inbounds i8, ptr %182, i64 32 %189 = load ptr, ptr %output_target16.i.i263.i, align 8, !tbaa !21 %call17.i.i264.i = call noundef i32 %188(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp35.i195.i, ptr noundef %189) #19 %cmp18.i.i265.i = icmp sgt i32 %call17.i.i264.i, -1 br i1 %cmp18.i.i265.i, label %return.sink.split.i.i266.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i255.i if.else.i.i268.i: ; preds = %while.body.i245.i %buff_len.i.i269.i = getelementptr inbounds i8, ptr %182, i64 8 %190 = load i64, ptr %buff_len.i.i269.i, align 8, !tbaa !18 %cmp27.i.i270.i = icmp ult i64 %184, %190 br i1 %cmp27.i.i270.i, label %if.then28.i.i271.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i255.i if.then28.i.i271.i: ; preds = %if.else.i.i268.i %sub.i.i272.i = sub i64 %190, %184 %spec.select.i.i273.i = call i64 @llvm.umin.i64(i64 %sub.i.i272.i, i64 64) %191 = load ptr, ptr %182, align 8, !tbaa !15 %add.ptr.i.i274.i = getelementptr inbounds i8, ptr %191, i64 %184 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i274.i, ptr nonnull align 1 %mini_buff.i196.i, i64 %spec.select.i.i273.i, i1 false), !alias.scope !120 %192 = load i64, ptr %buff_cur26.i.i248.i, align 8, !tbaa !19 %add.i.i275.i = add i64 %192, %spec.select.i.i273.i br label %return.sink.split.i.i266.i return.sink.split.i.i266.i: ; preds = %if.then28.i.i271.i, %if.then12.i.i262.i, %if.end9.i.i260.i %add.sink.i.i267.i = phi i64 [ %add.i.i275.i, %if.then28.i.i271.i ], [ 0, %if.then12.i.i262.i ], [ 0, %if.end9.i.i260.i ] store i64 %add.sink.i.i267.i, ptr %buff_cur26.i.i248.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i255.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i255.i: ; preds = %return.sink.split.i.i266.i, %if.else.i.i268.i, %if.then12.i.i262.i, %if.then3.i.i251.i %retval.3.i.i256.i = phi i32 [ %call.i.i253.i, %if.then3.i.i251.i ], [ %call17.i.i264.i, %if.then12.i.i262.i ], [ 0, %if.else.i.i268.i ], [ 0, %return.sink.split.i.i266.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp35.i195.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i194.i) %cmp12.not.i257.i = icmp eq i32 %retval.3.i.i256.i, 0 br i1 %cmp12.not.i257.i, label %while.cond.i208.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit276.i, !llvm.loop !102 while.end.i212.i: ; preds = %while.cond.i208.i %written.1.i209.i.lcssa = phi i64 [ %written.1.i209.i, %while.cond.i208.i ] %sub16.i213.i = sub i64 %cond.i86.i, %written.1.i209.i.lcssa %cond.i6.i.i214.i = call noundef i64 @llvm.umin.i64(i64 %sub16.i213.i, i64 64) %193 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1939.i193.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i40.i192.i) store ptr %mini_buff.i196.i, ptr %agg.tmp1939.i193.i, align 8 store i64 %cond.i6.i.i214.i, ptr %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i215.i, align 8 %stream_writer.i41.i216.i = getelementptr inbounds i8, ptr %193, i64 24 %194 = load ptr, ptr %stream_writer.i41.i216.i, align 8, !tbaa !20 %cmp.not.i42.i217.i = icmp eq ptr %194, null %buff_cur26.i43.i218.i = getelementptr inbounds i8, ptr %193, i64 16 %195 = load i64, ptr %buff_cur26.i43.i218.i, align 8, !tbaa !19 br i1 %cmp.not.i42.i217.i, label %if.else.i61.i237.i, label %if.then.i44.i219.i if.then.i44.i219.i: ; preds = %while.end.i212.i %cmp2.not.i45.i220.i = icmp eq i64 %195, 0 br i1 %cmp2.not.i45.i220.i, label %if.end9.i52.i229.i, label %if.then3.i46.i221.i if.then3.i46.i221.i: ; preds = %if.then.i44.i219.i %196 = load ptr, ptr %193, align 8, !tbaa !15 store ptr %196, ptr %agg.tmp.i40.i192.i, align 8, !tbaa !91 store i64 %195, ptr %Len.i.i.i47.i222.i, align 8, !tbaa !93 %output_target.i48.i223.i = getelementptr inbounds i8, ptr %193, i64 32 %197 = load ptr, ptr %output_target.i48.i223.i, align 8, !tbaa !21 %call.i49.i224.i = call noundef i32 %194(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i40.i192.i, ptr noundef %197) #19 %cmp7.i50.i225.i = icmp sgt i32 %call.i49.i224.i, -1 br i1 %cmp7.i50.i225.i, label %if.end9.i52.i229.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i226.i if.end9.i52.i229.i: ; preds = %if.then3.i46.i221.i, %if.then.i44.i219.i %cmp11.not.i54.i230.i = icmp eq i64 %written.1.i209.i.lcssa, %cond.i86.i br i1 %cmp11.not.i54.i230.i, label %return.sink.split.i59.i235.i, label %if.then12.i55.i231.i if.then12.i55.i231.i: ; preds = %if.end9.i52.i229.i %198 = load ptr, ptr %stream_writer.i41.i216.i, align 8, !tbaa !20 %output_target16.i56.i232.i = getelementptr inbounds i8, ptr %193, i64 32 %199 = load ptr, ptr %output_target16.i56.i232.i, align 8, !tbaa !21 %call17.i57.i233.i = call noundef i32 %198(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp1939.i193.i, ptr noundef %199) #19 %cmp18.i58.i234.i = icmp sgt i32 %call17.i57.i233.i, -1 br i1 %cmp18.i58.i234.i, label %return.sink.split.i59.i235.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i226.i if.else.i61.i237.i: ; preds = %while.end.i212.i %buff_len.i62.i238.i = getelementptr inbounds i8, ptr %193, i64 8 %200 = load i64, ptr %buff_len.i62.i238.i, align 8, !tbaa !18 %cmp27.i63.i239.i = icmp ult i64 %195, %200 br i1 %cmp27.i63.i239.i, label %if.then28.i64.i240.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i226.i if.then28.i64.i240.i: ; preds = %if.else.i61.i237.i %sub.i65.i241.i = sub i64 %200, %195 %spec.select.i67.i242.i = call i64 @llvm.umin.i64(i64 %sub.i65.i241.i, i64 %cond.i6.i.i214.i) %201 = load ptr, ptr %193, align 8, !tbaa !15 %add.ptr.i68.i243.i = getelementptr inbounds i8, ptr %201, i64 %195 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i68.i243.i, ptr nonnull align 1 %mini_buff.i196.i, i64 %spec.select.i67.i242.i, i1 false), !alias.scope !124 %202 = load i64, ptr %buff_cur26.i43.i218.i, align 8, !tbaa !19 %add.i69.i244.i = add i64 %202, %spec.select.i67.i242.i br label %return.sink.split.i59.i235.i return.sink.split.i59.i235.i: ; preds = %if.then28.i64.i240.i, %if.then12.i55.i231.i, %if.end9.i52.i229.i %add.sink.i60.i236.i = phi i64 [ %add.i69.i244.i, %if.then28.i64.i240.i ], [ 0, %if.then12.i55.i231.i ], [ 0, %if.end9.i52.i229.i ] store i64 %add.sink.i60.i236.i, ptr %buff_cur26.i43.i218.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i226.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i226.i: ; preds = %return.sink.split.i59.i235.i, %if.else.i61.i237.i, %if.then12.i55.i231.i, %if.then3.i46.i221.i %retval.3.i51.i227.i = phi i32 [ %call.i49.i224.i, %if.then3.i46.i221.i ], [ %call17.i57.i233.i, %if.then12.i55.i231.i ], [ 0, %if.else.i61.i237.i ], [ 0, %return.sink.split.i59.i235.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1939.i193.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i40.i192.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit276.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit276.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i226.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i255.i %retval.2.i228.i = phi i32 [ %retval.3.i51.i227.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i226.i ], [ %retval.3.i.i256.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i255.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %mini_buff.i196.i) #18 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i121.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i121.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit276.i, %if.then.i.i117.i %retval.0.i.i122.i = phi i32 [ 0, %if.then.i.i117.i ], [ %retval.2.i228.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit276.i ] %cmp17.i.i = icmp sgt i32 %retval.0.i.i122.i, -1 br i1 %cmp17.i.i, label %if.end20.i.i, label %if.end if.end20.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i121.i, %for.cond.cleanup.i.i %203 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i80.i.i = add nsw i32 %203, %conv8.i.i store i32 %add.i80.i.i, ptr %chars_written.i, align 8, !tbaa !25 %204 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i81.i.i = getelementptr inbounds i8, ptr %204, i64 16 %205 = load i64, ptr %buff_cur.i81.i.i, align 8, !tbaa !19 %add3.i.i.i = add i64 %205, %string_len.1.i.i %buff_len.i82.i.i = getelementptr inbounds i8, ptr %204, i64 8 %206 = load i64, ptr %buff_len.i82.i.i, align 8, !tbaa !18 %cmp.not.i83.i.i = icmp ugt i64 %add3.i.i.i, %206 br i1 %cmp.not.i83.i.i, label %if.end.i87.i.i, label %if.then.i84.i.i if.then.i84.i.i: ; preds = %if.end20.i.i %207 = load ptr, ptr %204, align 8, !tbaa !15 %add.ptr.i85.i.i = getelementptr inbounds i8, ptr %207, i64 %205 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i85.i.i, ptr nonnull align 1 %spec.store.select.i.i, i64 %string_len.1.i.i, i1 false), !alias.scope !128 %208 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur13.i.i.i = getelementptr inbounds i8, ptr %208, i64 16 %209 = load i64, ptr %buff_cur13.i.i.i, align 8, !tbaa !19 %add14.i.i.i = add i64 %209, %string_len.1.i.i store i64 %add14.i.i.i, ptr %buff_cur13.i.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i.i if.end.i87.i.i: ; preds = %if.end20.i.i call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp20.i.i.i) store ptr %spec.store.select.i.i, ptr %agg.tmp20.i.i.i, align 8 store i64 %string_len.1.i.i, ptr %agg.tmp76.sroa.5.0.agg.tmp20.i.sroa_idx.i.i, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i.i81.i) %stream_writer.i.i.i89.i = getelementptr inbounds i8, ptr %204, i64 24 %210 = load ptr, ptr %stream_writer.i.i.i89.i, align 8, !tbaa !20 %cmp.not.i.i.i90.i = icmp eq ptr %210, null br i1 %cmp.not.i.i.i90.i, label %if.else.i.i.i106.i, label %if.then.i.i.i91.i if.then.i.i.i91.i: ; preds = %if.end.i87.i.i %cmp2.not.i.i.i92.i = icmp eq i64 %205, 0 br i1 %cmp2.not.i.i.i92.i, label %if.end9.i.i.i.i, label %if.then3.i.i.i93.i if.then3.i.i.i93.i: ; preds = %if.then.i.i.i91.i %211 = load ptr, ptr %204, align 8, !tbaa !15 store ptr %211, ptr %agg.tmp.i.i.i81.i, align 8, !tbaa !91 store i64 %205, ptr %Len.i.i.i.i.i94.i, align 8, !tbaa !93 %output_target.i.i.i95.i = getelementptr inbounds i8, ptr %204, i64 32 %212 = load ptr, ptr %output_target.i.i.i95.i, align 8, !tbaa !21 %call.i.i.i96.i = call noundef i32 %210(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i.i81.i, ptr noundef %212) #19 %cmp7.i.i.i97.i = icmp sgt i32 %call.i.i.i96.i, -1 br i1 %cmp7.i.i.i97.i, label %if.end9.i.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i98.i if.end9.i.i.i.i: ; preds = %if.then3.i.i.i93.i, %if.then.i.i.i91.i %cmp11.not.i.i.i.i = icmp eq i64 %string_len.1.i.i, 0 br i1 %cmp11.not.i.i.i.i, label %return.sink.split.i.i.i104.i, label %if.then12.i.i.i100.i if.then12.i.i.i100.i: ; preds = %if.end9.i.i.i.i %213 = load ptr, ptr %stream_writer.i.i.i89.i, align 8, !tbaa !20 %output_target16.i.i.i101.i = getelementptr inbounds i8, ptr %204, i64 32 %214 = load ptr, ptr %output_target16.i.i.i101.i, align 8, !tbaa !21 %call17.i.i.i102.i = call noundef i32 %213(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp20.i.i.i, ptr noundef %214) #19 %cmp18.i.i.i103.i = icmp sgt i32 %call17.i.i.i102.i, -1 br i1 %cmp18.i.i.i103.i, label %return.sink.split.i.i.i104.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i98.i if.else.i.i.i106.i: ; preds = %if.end.i87.i.i %cmp27.i.i.i107.i = icmp ult i64 %205, %206 br i1 %cmp27.i.i.i107.i, label %if.then28.i.i.i108.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i98.i if.then28.i.i.i108.i: ; preds = %if.else.i.i.i106.i %sub.i.i.i.i19 = sub i64 %206, %205 %spec.select.i.i.i.i = call i64 @llvm.umin.i64(i64 %sub.i.i.i.i19, i64 %string_len.1.i.i) %215 = load ptr, ptr %204, align 8, !tbaa !15 %add.ptr.i.i.i109.i = getelementptr inbounds i8, ptr %215, i64 %205 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i.i109.i, ptr nonnull align 1 %spec.store.select.i.i, i64 %spec.select.i.i.i.i, i1 false), !alias.scope !132 %216 = load i64, ptr %buff_cur.i81.i.i, align 8, !tbaa !19 %add.i.i.i110.i = add i64 %216, %spec.select.i.i.i.i br label %return.sink.split.i.i.i104.i return.sink.split.i.i.i104.i: ; preds = %if.then28.i.i.i108.i, %if.then12.i.i.i100.i, %if.end9.i.i.i.i %add.sink.i.i.i105.i = phi i64 [ %add.i.i.i110.i, %if.then28.i.i.i108.i ], [ 0, %if.then12.i.i.i100.i ], [ 0, %if.end9.i.i.i.i ] store i64 %add.sink.i.i.i105.i, ptr %buff_cur.i81.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i98.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i98.i: ; preds = %return.sink.split.i.i.i104.i, %if.else.i.i.i106.i, %if.then12.i.i.i100.i, %if.then3.i.i.i93.i %retval.3.i.i.i99.i = phi i32 [ %call.i.i.i96.i, %if.then3.i.i.i93.i ], [ %call17.i.i.i102.i, %if.then12.i.i.i100.i ], [ 0, %if.else.i.i.i106.i ], [ 0, %return.sink.split.i.i.i104.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp20.i.i.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i.i81.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i98.i, %if.then.i84.i.i %retval.0.i86.i.i = phi i32 [ 0, %if.then.i84.i.i ], [ %retval.3.i.i.i99.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i98.i ] %cmp23.i.i = icmp sgt i32 %retval.0.i86.i.i, -1 br i1 %cmp23.i.i, label %cleanup.cont28.i.i, label %if.end cleanup.cont28.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i.i %217 = and i8 %cur_section.sroa.22.0, 1 %cmp34.not.i.i = icmp eq i8 %217, 0 %or.cond134 = select i1 %cmp12.not.i.i, i1 true, i1 %cmp34.not.i.i br i1 %or.cond134, label %if.end44.i.i, label %if.then35.i.i if.then35.i.i: ; preds = %cleanup.cont28.i.i %conv.i88.i.i = trunc i64 %cond.i86.i to i32 %218 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i90.i.i = add nsw i32 %218, %conv.i88.i.i store i32 %add.i90.i.i, ptr %chars_written.i, align 8, !tbaa !25 %219 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i91.i.i = getelementptr inbounds i8, ptr %219, i64 16 %220 = load i64, ptr %buff_cur.i91.i.i, align 8, !tbaa !19 %add2.i92.i.i = add i64 %220, %cond.i86.i %buff_len.i93.i.i = getelementptr inbounds i8, ptr %219, i64 8 %221 = load i64, ptr %buff_len.i93.i.i, align 8, !tbaa !18 %cmp.not.i94.i.i = icmp ugt i64 %add2.i92.i.i, %221 br i1 %cmp.not.i94.i.i, label %if.end.i100.i.i, label %if.then.i95.i.i if.then.i95.i.i: ; preds = %if.then35.i.i %222 = load ptr, ptr %219, align 8, !tbaa !15 %add.ptr.i96.i.i = getelementptr inbounds i8, ptr %222, i64 %220 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i96.i.i, i8 32, i64 %cond.i86.i, i1 false) %223 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur8.i97.i.i = getelementptr inbounds i8, ptr %223, i64 16 %224 = load i64, ptr %buff_cur8.i97.i.i, align 8, !tbaa !19 %add9.i98.i.i = add i64 %224, %cond.i86.i store i64 %add9.i98.i.i, ptr %buff_cur8.i97.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit102.i.i if.end.i100.i.i: ; preds = %if.then35.i.i %sub.i284.i = sub i64 %221, %220 %cmp.not.i285.i = icmp eq i64 %sub.i284.i, 0 br i1 %cmp.not.i285.i, label %if.end.i290.i, label %if.then.i286.i if.then.i286.i: ; preds = %if.end.i100.i.i %225 = load ptr, ptr %219, align 8, !tbaa !15 %add.ptr.i287.i = getelementptr inbounds i8, ptr %225, i64 %220 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i287.i, i8 32, i64 %sub.i284.i, i1 false) %226 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur7.i288.i = getelementptr inbounds i8, ptr %226, i64 16 %227 = load i64, ptr %buff_cur7.i288.i, align 8, !tbaa !19 %add.i289.i = add i64 %227, %sub.i284.i store i64 %add.i289.i, ptr %buff_cur7.i288.i, align 8, !tbaa !19 br label %if.end.i290.i if.end.i290.i: ; preds = %if.then.i286.i, %if.end.i100.i.i call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %mini_buff.i281.i) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %mini_buff.i281.i, i8 32, i64 64, i1 false) br label %while.cond.i293.i while.cond.i293.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i340.i, %if.end.i290.i %written.1.i294.i = phi i64 [ %sub.i284.i, %if.end.i290.i ], [ %add9.i295.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i340.i ] %add9.i295.i = add i64 %written.1.i294.i, 64 %cmp10.i296.i = icmp ult i64 %add9.i295.i, %cond.i86.i br i1 %cmp10.i296.i, label %while.body.i330.i, label %while.end.i297.i while.body.i330.i: ; preds = %while.cond.i293.i %228 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp35.i280.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i279.i) store ptr %mini_buff.i281.i, ptr %agg.tmp35.i280.i, align 8 store i64 64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i291.i, align 8 %stream_writer.i.i331.i = getelementptr inbounds i8, ptr %228, i64 24 %229 = load ptr, ptr %stream_writer.i.i331.i, align 8, !tbaa !20 %cmp.not.i.i332.i = icmp eq ptr %229, null %buff_cur26.i.i333.i = getelementptr inbounds i8, ptr %228, i64 16 %230 = load i64, ptr %buff_cur26.i.i333.i, align 8, !tbaa !19 br i1 %cmp.not.i.i332.i, label %if.else.i.i353.i, label %if.then.i.i334.i if.then.i.i334.i: ; preds = %while.body.i330.i %cmp2.not.i.i335.i = icmp eq i64 %230, 0 br i1 %cmp2.not.i.i335.i, label %if.end9.i.i345.i, label %if.then3.i.i336.i if.then3.i.i336.i: ; preds = %if.then.i.i334.i %231 = load ptr, ptr %228, align 8, !tbaa !15 store ptr %231, ptr %agg.tmp.i.i279.i, align 8, !tbaa !91 store i64 %230, ptr %Len.i.i.i.i292.i, align 8, !tbaa !93 %output_target.i.i337.i = getelementptr inbounds i8, ptr %228, i64 32 %232 = load ptr, ptr %output_target.i.i337.i, align 8, !tbaa !21 %call.i.i338.i = call noundef i32 %229(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i279.i, ptr noundef %232) #19 %cmp7.i.i339.i = icmp sgt i32 %call.i.i338.i, -1 br i1 %cmp7.i.i339.i, label %if.then3.i.if.end9.i_crit_edge.i343.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i340.i if.then3.i.if.end9.i_crit_edge.i343.i: ; preds = %if.then3.i.i336.i %.pre.i344.i = load i64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i291.i, align 8, !tbaa !93 br label %if.end9.i.i345.i if.end9.i.i345.i: ; preds = %if.then3.i.if.end9.i_crit_edge.i343.i, %if.then.i.i334.i %233 = phi i64 [ %.pre.i344.i, %if.then3.i.if.end9.i_crit_edge.i343.i ], [ 64, %if.then.i.i334.i ] %cmp11.not.i.i346.i = icmp eq i64 %233, 0 br i1 %cmp11.not.i.i346.i, label %return.sink.split.i.i351.i, label %if.then12.i.i347.i if.then12.i.i347.i: ; preds = %if.end9.i.i345.i %234 = load ptr, ptr %stream_writer.i.i331.i, align 8, !tbaa !20 %output_target16.i.i348.i = getelementptr inbounds i8, ptr %228, i64 32 %235 = load ptr, ptr %output_target16.i.i348.i, align 8, !tbaa !21 %call17.i.i349.i = call noundef i32 %234(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp35.i280.i, ptr noundef %235) #19 %cmp18.i.i350.i = icmp sgt i32 %call17.i.i349.i, -1 br i1 %cmp18.i.i350.i, label %return.sink.split.i.i351.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i340.i if.else.i.i353.i: ; preds = %while.body.i330.i %buff_len.i.i354.i = getelementptr inbounds i8, ptr %228, i64 8 %236 = load i64, ptr %buff_len.i.i354.i, align 8, !tbaa !18 %cmp27.i.i355.i = icmp ult i64 %230, %236 br i1 %cmp27.i.i355.i, label %if.then28.i.i356.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i340.i if.then28.i.i356.i: ; preds = %if.else.i.i353.i %sub.i.i357.i = sub i64 %236, %230 %spec.select.i.i358.i = call i64 @llvm.umin.i64(i64 %sub.i.i357.i, i64 64) %237 = load ptr, ptr %228, align 8, !tbaa !15 %add.ptr.i.i359.i = getelementptr inbounds i8, ptr %237, i64 %230 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i359.i, ptr nonnull align 1 %mini_buff.i281.i, i64 %spec.select.i.i358.i, i1 false), !alias.scope !136 %238 = load i64, ptr %buff_cur26.i.i333.i, align 8, !tbaa !19 %add.i.i360.i = add i64 %238, %spec.select.i.i358.i br label %return.sink.split.i.i351.i return.sink.split.i.i351.i: ; preds = %if.then28.i.i356.i, %if.then12.i.i347.i, %if.end9.i.i345.i %add.sink.i.i352.i = phi i64 [ %add.i.i360.i, %if.then28.i.i356.i ], [ 0, %if.then12.i.i347.i ], [ 0, %if.end9.i.i345.i ] store i64 %add.sink.i.i352.i, ptr %buff_cur26.i.i333.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i340.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i340.i: ; preds = %return.sink.split.i.i351.i, %if.else.i.i353.i, %if.then12.i.i347.i, %if.then3.i.i336.i %retval.3.i.i341.i = phi i32 [ %call.i.i338.i, %if.then3.i.i336.i ], [ %call17.i.i349.i, %if.then12.i.i347.i ], [ 0, %if.else.i.i353.i ], [ 0, %return.sink.split.i.i351.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp35.i280.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i279.i) %cmp12.not.i342.i = icmp eq i32 %retval.3.i.i341.i, 0 br i1 %cmp12.not.i342.i, label %while.cond.i293.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit361.i, !llvm.loop !102 while.end.i297.i: ; preds = %while.cond.i293.i %written.1.i294.i.lcssa = phi i64 [ %written.1.i294.i, %while.cond.i293.i ] %sub16.i298.i = sub i64 %cond.i86.i, %written.1.i294.i.lcssa %cond.i6.i.i299.i = call noundef i64 @llvm.umin.i64(i64 %sub16.i298.i, i64 64) %239 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1939.i278.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i40.i277.i) store ptr %mini_buff.i281.i, ptr %agg.tmp1939.i278.i, align 8 store i64 %cond.i6.i.i299.i, ptr %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i300.i, align 8 %stream_writer.i41.i301.i = getelementptr inbounds i8, ptr %239, i64 24 %240 = load ptr, ptr %stream_writer.i41.i301.i, align 8, !tbaa !20 %cmp.not.i42.i302.i = icmp eq ptr %240, null %buff_cur26.i43.i303.i = getelementptr inbounds i8, ptr %239, i64 16 %241 = load i64, ptr %buff_cur26.i43.i303.i, align 8, !tbaa !19 br i1 %cmp.not.i42.i302.i, label %if.else.i61.i322.i, label %if.then.i44.i304.i if.then.i44.i304.i: ; preds = %while.end.i297.i %cmp2.not.i45.i305.i = icmp eq i64 %241, 0 br i1 %cmp2.not.i45.i305.i, label %if.end9.i52.i314.i, label %if.then3.i46.i306.i if.then3.i46.i306.i: ; preds = %if.then.i44.i304.i %242 = load ptr, ptr %239, align 8, !tbaa !15 store ptr %242, ptr %agg.tmp.i40.i277.i, align 8, !tbaa !91 store i64 %241, ptr %Len.i.i.i47.i307.i, align 8, !tbaa !93 %output_target.i48.i308.i = getelementptr inbounds i8, ptr %239, i64 32 %243 = load ptr, ptr %output_target.i48.i308.i, align 8, !tbaa !21 %call.i49.i309.i = call noundef i32 %240(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i40.i277.i, ptr noundef %243) #19 %cmp7.i50.i310.i = icmp sgt i32 %call.i49.i309.i, -1 br i1 %cmp7.i50.i310.i, label %if.end9.i52.i314.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i311.i if.end9.i52.i314.i: ; preds = %if.then3.i46.i306.i, %if.then.i44.i304.i %cmp11.not.i54.i315.i = icmp eq i64 %written.1.i294.i.lcssa, %cond.i86.i br i1 %cmp11.not.i54.i315.i, label %return.sink.split.i59.i320.i, label %if.then12.i55.i316.i if.then12.i55.i316.i: ; preds = %if.end9.i52.i314.i %244 = load ptr, ptr %stream_writer.i41.i301.i, align 8, !tbaa !20 %output_target16.i56.i317.i = getelementptr inbounds i8, ptr %239, i64 32 %245 = load ptr, ptr %output_target16.i56.i317.i, align 8, !tbaa !21 %call17.i57.i318.i = call noundef i32 %244(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp1939.i278.i, ptr noundef %245) #19 %cmp18.i58.i319.i = icmp sgt i32 %call17.i57.i318.i, -1 br i1 %cmp18.i58.i319.i, label %return.sink.split.i59.i320.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i311.i if.else.i61.i322.i: ; preds = %while.end.i297.i %buff_len.i62.i323.i = getelementptr inbounds i8, ptr %239, i64 8 %246 = load i64, ptr %buff_len.i62.i323.i, align 8, !tbaa !18 %cmp27.i63.i324.i = icmp ult i64 %241, %246 br i1 %cmp27.i63.i324.i, label %if.then28.i64.i325.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i311.i if.then28.i64.i325.i: ; preds = %if.else.i61.i322.i %sub.i65.i326.i = sub i64 %246, %241 %spec.select.i67.i327.i = call i64 @llvm.umin.i64(i64 %sub.i65.i326.i, i64 %cond.i6.i.i299.i) %247 = load ptr, ptr %239, align 8, !tbaa !15 %add.ptr.i68.i328.i = getelementptr inbounds i8, ptr %247, i64 %241 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i68.i328.i, ptr nonnull align 1 %mini_buff.i281.i, i64 %spec.select.i67.i327.i, i1 false), !alias.scope !140 %248 = load i64, ptr %buff_cur26.i43.i303.i, align 8, !tbaa !19 %add.i69.i329.i = add i64 %248, %spec.select.i67.i327.i br label %return.sink.split.i59.i320.i return.sink.split.i59.i320.i: ; preds = %if.then28.i64.i325.i, %if.then12.i55.i316.i, %if.end9.i52.i314.i %add.sink.i60.i321.i = phi i64 [ %add.i69.i329.i, %if.then28.i64.i325.i ], [ 0, %if.then12.i55.i316.i ], [ 0, %if.end9.i52.i314.i ] store i64 %add.sink.i60.i321.i, ptr %buff_cur26.i43.i303.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i311.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i311.i: ; preds = %return.sink.split.i59.i320.i, %if.else.i61.i322.i, %if.then12.i55.i316.i, %if.then3.i46.i306.i %retval.3.i51.i312.i = phi i32 [ %call.i49.i309.i, %if.then3.i46.i306.i ], [ %call17.i57.i318.i, %if.then12.i55.i316.i ], [ 0, %if.else.i61.i322.i ], [ 0, %return.sink.split.i59.i320.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1939.i278.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i40.i277.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit361.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit361.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i311.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i340.i %retval.2.i313.i = phi i32 [ %retval.3.i51.i312.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i311.i ], [ %retval.3.i.i341.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i340.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %mini_buff.i281.i) #18 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit102.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit102.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit361.i, %if.then.i95.i.i %retval.0.i99.i.i = phi i32 [ 0, %if.then.i95.i.i ], [ %retval.2.i313.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit361.i ] %cmp38.i.i = icmp sgt i32 %retval.0.i99.i.i, -1 br i1 %cmp38.i.i, label %if.end44.i.i, label %if.end if.end44.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit102.i.i, %cleanup.cont28.i.i br label %if.end sw.bb7.i: ; preds = %if.end.i9, %if.end.i9, %if.end.i9, %if.end.i9, %if.end.i9, %if.end.i9, %if.end.i9, %if.end.i9 %249 = and i8 %cur_section.sroa.62.0, 32 switch i8 %cur_section.sroa.62.0, label %if.else.i.i15 [ i8 100, label %if.then.i128.i i8 105, label %if.then.i128.i ] if.then.i128.i: ; preds = %sw.bb7.i, %sw.bb7.i %cmp6.not.i.i = icmp slt i64 %cur_section.sroa.54.0, 0 %spec.select327.i.i = call i64 @llvm.abs.i64(i64 %cur_section.sroa.54.0, i1 false) br label %if.end11.i.i if.else.i.i15: ; preds = %sw.bb7.i %250 = and i8 %cur_section.sroa.22.0, -7 br label %if.end11.i.i if.end11.i.i: ; preds = %if.else.i.i15, %if.then.i128.i %flags.0.i.i = phi i8 [ %250, %if.else.i.i15 ], [ %cur_section.sroa.22.0, %if.then.i128.i ] %is_negative.0.off0.i.i = phi i1 [ false, %if.else.i.i15 ], [ %cmp6.not.i.i, %if.then.i128.i ] %num.0.i.i = phi i64 [ %cur_section.sroa.54.0, %if.else.i.i15 ], [ %spec.select327.i.i, %if.then.i128.i ] switch i32 %cur_section.sroa.36.0, label %default.unreachable [ i32 10, label %sw.bb.i.i.i i32 2, label %_ZN22__llvm_libc_19_0_0_git11printf_core21apply_length_modifierEyNS0_10LengthSpecE.exit.i.i i32 3, label %_ZN22__llvm_libc_19_0_0_git11printf_core21apply_length_modifierEyNS0_10LengthSpecE.exit.i.i i32 7, label %_ZN22__llvm_libc_19_0_0_git11printf_core21apply_length_modifierEyNS0_10LengthSpecE.exit.i.i i32 1, label %sw.bb7.i.i.i i32 0, label %sw.bb11.i.i.i i32 5, label %_ZN22__llvm_libc_19_0_0_git11printf_core21apply_length_modifierEyNS0_10LengthSpecE.exit.i.i i32 6, label %_ZN22__llvm_libc_19_0_0_git11printf_core21apply_length_modifierEyNS0_10LengthSpecE.exit.i.i i32 4, label %_ZN22__llvm_libc_19_0_0_git11printf_core21apply_length_modifierEyNS0_10LengthSpecE.exit.i.i i32 8, label %sw.bb22.i.i.i i32 9, label %sw.bb22.i.i.i ] sw.bb.i.i.i: ; preds = %if.end11.i.i %and.i.i.i = and i64 %num.0.i.i, 4294967295 br label %_ZN22__llvm_libc_19_0_0_git11printf_core21apply_length_modifierEyNS0_10LengthSpecE.exit.i.i sw.bb7.i.i.i: ; preds = %if.end11.i.i %and10.i.i.i = and i64 %num.0.i.i, 65535 br label %_ZN22__llvm_libc_19_0_0_git11printf_core21apply_length_modifierEyNS0_10LengthSpecE.exit.i.i sw.bb11.i.i.i: ; preds = %if.end11.i.i %and14.i.i.i = and i64 %num.0.i.i, 255 br label %_ZN22__llvm_libc_19_0_0_git11printf_core21apply_length_modifierEyNS0_10LengthSpecE.exit.i.i sw.bb22.i.i.i: ; preds = %if.end11.i.i, %if.end11.i.i %cmp24.i.i.i = icmp ult i64 %cur_section.sroa.39.0, 64 %notmask.i.i.i = shl nsw i64 -1, %cur_section.sroa.39.0 %sub.i.i129.i = xor i64 %notmask.i.i.i, -1 %spec.select.i.i130.i = select i1 %cmp24.i.i.i, i64 %sub.i.i129.i, i64 -1 %and29.i.i.i = and i64 %spec.select.i.i130.i, %num.0.i.i br label %_ZN22__llvm_libc_19_0_0_git11printf_core21apply_length_modifierEyNS0_10LengthSpecE.exit.i.i _ZN22__llvm_libc_19_0_0_git11printf_core21apply_length_modifierEyNS0_10LengthSpecE.exit.i.i: ; preds = %sw.bb22.i.i.i, %sw.bb11.i.i.i, %sw.bb7.i.i.i, %sw.bb.i.i.i, %if.end11.i.i, %if.end11.i.i, %if.end11.i.i, %if.end11.i.i, %if.end11.i.i, %if.end11.i.i %retval.0.i.i131.i = phi i64 [ %and29.i.i.i, %sw.bb22.i.i.i ], [ %and14.i.i.i, %sw.bb11.i.i.i ], [ %and10.i.i.i, %sw.bb7.i.i.i ], [ %and.i.i.i, %sw.bb.i.i.i ], [ %num.0.i.i, %if.end11.i.i ], [ %num.0.i.i, %if.end11.i.i ], [ %num.0.i.i, %if.end11.i.i ], [ %num.0.i.i, %if.end11.i.i ], [ %num.0.i.i, %if.end11.i.i ], [ %num.0.i.i, %if.end11.i.i ] %retval.0.i.i131.fr.i = freeze i64 %retval.0.i.i131.i call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %buf.i.i) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %buf.i.i, i8 -86, i64 64, i1 false), !annotation !10 %251 = or i8 %cur_section.sroa.62.0, 32 %cmp.i336.i.i = icmp eq i8 %251, 120 br i1 %cmp.i336.i.i, label %if.then.i.i177.i, label %if.else6.i.i.i if.then.i.i177.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core21apply_length_modifierEyNS0_10LengthSpecE.exit.i.i %cmp.i.not.i.i.i = icmp eq i8 %249, 0 %cmp8.i.i.i123.i.i.i = icmp eq i64 %retval.0.i.i131.fr.i, 0 br i1 %cmp.i.not.i.i.i, label %if.else.i337.i.i, label %if.then2.i.i.i if.then2.i.i.i: ; preds = %if.then.i.i177.i br i1 %cmp8.i.i.i123.i.i.i, label %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, label %for.body.i.i.i.i.i.i for.body.i.i.i.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i, %if.then2.i.i.i %writer.sroa.10.0.i.i.i.i = phi i64 [ %writer.sroa.10.1.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i ], [ 0, %if.then2.i.i.i ] %252 = phi i64 [ %256, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i ], [ 0, %if.then2.i.i.i ] %value.addr.010.i.i.i.i.i.i = phi i64 [ %div6.i.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i ], [ %retval.0.i.i131.fr.i, %if.then2.i.i.i ] %cmp.i.i.i.i.i.i.i.i = icmp eq i64 %252, 64 br i1 %cmp.i.i.i.i.i.i.i.i, label %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i, label %if.then3.i.i.i.i.i.i.i if.then3.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i %253 = trunc i64 %value.addr.010.i.i.i.i.i.i to i8 %conv.i.i.i.i.i.i = and i8 %253, 15 %cmp.i.i.i.i.i.i.i = icmp ult i8 %conv.i.i.i.i.i.i, 10 %254 = or disjoint i8 %conv.i.i.i.i.i.i, 48 %add6.i.i.i.i.i.i.i = add nuw nsw i8 %conv.i.i.i.i.i.i, 87 %retval.0.i.i.i.i.i.i.i = select i1 %cmp.i.i.i.i.i.i.i, i8 %254, i8 %add6.i.i.i.i.i.i.i %255 = xor i64 %252, -1 %arrayidx.i.i.i.i.i.i.i.i = getelementptr i8, ptr %76, i64 %255 store i8 %retval.0.i.i.i.i.i.i.i, ptr %arrayidx.i.i.i.i.i.i.i.i, align 1, !tbaa !26 %inc.i.i.i.i.i.i.i = add i64 %writer.sroa.10.0.i.i.i.i, 1 br label %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i _ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i: ; preds = %if.then3.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i %writer.sroa.10.1.i.i.i.i = phi i64 [ %inc.i.i.i.i.i.i.i, %if.then3.i.i.i.i.i.i.i ], [ %writer.sroa.10.0.i.i.i.i, %for.body.i.i.i.i.i.i ] %256 = phi i64 [ %inc.i.i.i.i.i.i.i, %if.then3.i.i.i.i.i.i.i ], [ 64, %for.body.i.i.i.i.i.i ] %div6.i.i.i.i.i.i = lshr i64 %value.addr.010.i.i.i.i.i.i, 4 %cmp.i.i.i.i.i.i = icmp ult i64 %value.addr.010.i.i.i.i.i.i, 16 %.not.i.i.i.i.i.i = select i1 %cmp.i.i.i.i.i.i.i.i, i1 true, i1 %cmp.i.i.i.i.i.i br i1 %.not.i.i.i.i.i.i, label %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, label %for.body.i.i.i.i.i.i, !llvm.loop !144 _ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i, %if.then2.i.i.i %writer.sroa.10.2.i.i.i.i = phi i64 [ 0, %if.then2.i.i.i ], [ %writer.sroa.10.1.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i ] %.off0.i.i.i.i.i = phi i1 [ false, %if.then2.i.i.i ], [ %cmp.i.i.i.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i ] br i1 %.off0.i.i.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.sink.split.i.i if.else.i337.i.i: ; preds = %if.then.i.i177.i br i1 %cmp8.i.i.i123.i.i.i, label %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb1ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, label %for.body.i.i.i125.i.i.i for.body.i.i.i125.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i136.i.i.i, %if.else.i337.i.i %writer.sroa.10.0.i126.i.i.i = phi i64 [ %writer.sroa.10.1.i137.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i136.i.i.i ], [ 0, %if.else.i337.i.i ] %257 = phi i64 [ %261, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i136.i.i.i ], [ 0, %if.else.i337.i.i ] %value.addr.010.i.i.i127.i.i.i = phi i64 [ %div6.i.i.i138.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i136.i.i.i ], [ %retval.0.i.i131.fr.i, %if.else.i337.i.i ] %cmp.i.i.i.i.i128.i.i.i = icmp eq i64 %257, 64 br i1 %cmp.i.i.i.i.i128.i.i.i, label %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i136.i.i.i, label %if.then3.i.i.i.i129.i.i.i if.then3.i.i.i.i129.i.i.i: ; preds = %for.body.i.i.i125.i.i.i %258 = trunc i64 %value.addr.010.i.i.i127.i.i.i to i8 %conv.i.i.i130.i.i.i = and i8 %258, 15 %cmp.i.i.i.i131.i.i.i = icmp ult i8 %conv.i.i.i130.i.i.i, 10 %259 = or disjoint i8 %conv.i.i.i130.i.i.i, 48 %add6.i.i.i.i132.i.i.i = add nuw nsw i8 %conv.i.i.i130.i.i.i, 55 %retval.0.i.i.i.i133.i.i.i = select i1 %cmp.i.i.i.i131.i.i.i, i8 %259, i8 %add6.i.i.i.i132.i.i.i %260 = xor i64 %257, -1 %arrayidx.i.i.i.i.i134.i.i.i = getelementptr i8, ptr %76, i64 %260 store i8 %retval.0.i.i.i.i133.i.i.i, ptr %arrayidx.i.i.i.i.i134.i.i.i, align 1, !tbaa !26 %inc.i.i.i.i135.i.i.i = add i64 %writer.sroa.10.0.i126.i.i.i, 1 br label %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i136.i.i.i _ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i136.i.i.i: ; preds = %if.then3.i.i.i.i129.i.i.i, %for.body.i.i.i125.i.i.i %writer.sroa.10.1.i137.i.i.i = phi i64 [ %inc.i.i.i.i135.i.i.i, %if.then3.i.i.i.i129.i.i.i ], [ %writer.sroa.10.0.i126.i.i.i, %for.body.i.i.i125.i.i.i ] %261 = phi i64 [ %inc.i.i.i.i135.i.i.i, %if.then3.i.i.i.i129.i.i.i ], [ 64, %for.body.i.i.i125.i.i.i ] %div6.i.i.i138.i.i.i = lshr i64 %value.addr.010.i.i.i127.i.i.i, 4 %cmp.i.i.i139.i.i.i = icmp ult i64 %value.addr.010.i.i.i127.i.i.i, 16 %.not.i.i.i140.i.i.i = select i1 %cmp.i.i.i.i.i128.i.i.i, i1 true, i1 %cmp.i.i.i139.i.i.i br i1 %.not.i.i.i140.i.i.i, label %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb1ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, label %for.body.i.i.i125.i.i.i, !llvm.loop !145 _ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb1ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i136.i.i.i, %if.else.i337.i.i %writer.sroa.10.2.i141.i.i.i = phi i64 [ 0, %if.else.i337.i.i ], [ %writer.sroa.10.1.i137.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i136.i.i.i ] %.off0.i.i142.i.i.i = phi i1 [ false, %if.else.i337.i.i ], [ %cmp.i.i.i.i.i128.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i136.i.i.i ] br i1 %.off0.i.i142.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.sink.split.i.i if.else6.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core21apply_length_modifierEyNS0_10LengthSpecE.exit.i.i %cmp8.i.i.i = icmp eq i8 %cur_section.sroa.62.0, 111 br i1 %cmp8.i.i.i, label %if.then9.i.i.i, label %if.else12.i.i.i if.then9.i.i.i: ; preds = %if.else6.i.i.i %cmp8.i.i.i176.i.i.i = icmp eq i64 %retval.0.i.i131.fr.i, 0 br i1 %cmp8.i.i.i176.i.i.i, label %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh8ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, label %for.body.i.i.i178.i.i.i for.body.i.i.i178.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i186.i.i.i, %if.then9.i.i.i %writer.sroa.10.0.i179.i.i.i = phi i64 [ %writer.sroa.10.1.i187.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i186.i.i.i ], [ 0, %if.then9.i.i.i ] %262 = phi i64 [ %266, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i186.i.i.i ], [ 0, %if.then9.i.i.i ] %value.addr.010.i.i.i180.i.i.i = phi i64 [ %div6.i.i.i188.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i186.i.i.i ], [ %retval.0.i.i131.fr.i, %if.then9.i.i.i ] %cmp.i.i.i.i.i181.i.i.i = icmp eq i64 %262, 64 br i1 %cmp.i.i.i.i.i181.i.i.i, label %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i186.i.i.i, label %if.then3.i.i.i.i182.i.i.i if.then3.i.i.i.i182.i.i.i: ; preds = %for.body.i.i.i178.i.i.i %263 = trunc i64 %value.addr.010.i.i.i180.i.i.i to i8 %conv.i.i.i183.i.i.i = and i8 %263, 7 %264 = or disjoint i8 %conv.i.i.i183.i.i.i, 48 %265 = xor i64 %262, -1 %arrayidx.i.i.i.i.i184.i.i.i = getelementptr i8, ptr %76, i64 %265 store i8 %264, ptr %arrayidx.i.i.i.i.i184.i.i.i, align 1, !tbaa !26 %inc.i.i.i.i185.i.i.i = add i64 %writer.sroa.10.0.i179.i.i.i, 1 br label %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i186.i.i.i _ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i186.i.i.i: ; preds = %if.then3.i.i.i.i182.i.i.i, %for.body.i.i.i178.i.i.i %writer.sroa.10.1.i187.i.i.i = phi i64 [ %inc.i.i.i.i185.i.i.i, %if.then3.i.i.i.i182.i.i.i ], [ %writer.sroa.10.0.i179.i.i.i, %for.body.i.i.i178.i.i.i ] %266 = phi i64 [ %inc.i.i.i.i185.i.i.i, %if.then3.i.i.i.i182.i.i.i ], [ 64, %for.body.i.i.i178.i.i.i ] %div6.i.i.i188.i.i.i = lshr i64 %value.addr.010.i.i.i180.i.i.i, 3 %cmp.i.i.i189.i.i.i = icmp ult i64 %value.addr.010.i.i.i180.i.i.i, 8 %.not.i.i.i190.i.i.i = select i1 %cmp.i.i.i.i.i181.i.i.i, i1 true, i1 %cmp.i.i.i189.i.i.i br i1 %.not.i.i.i190.i.i.i, label %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh8ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, label %for.body.i.i.i178.i.i.i, !llvm.loop !146 _ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh8ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i186.i.i.i, %if.then9.i.i.i %writer.sroa.10.2.i191.i.i.i = phi i64 [ 0, %if.then9.i.i.i ], [ %writer.sroa.10.1.i187.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i186.i.i.i ] %.off0.i.i192.i.i.i = phi i1 [ false, %if.then9.i.i.i ], [ %cmp.i.i.i.i.i181.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i186.i.i.i ] br i1 %.off0.i.i192.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.sink.split.i.i if.else12.i.i.i: ; preds = %if.else6.i.i.i %cmp15.i.i.i = icmp eq i8 %251, 98 %cmp8.i.i.i226.i.i.i = icmp eq i64 %retval.0.i.i131.fr.i, 0 br i1 %cmp15.i.i.i, label %if.then16.i.i.i, label %if.else19.i.i.i if.then16.i.i.i: ; preds = %if.else12.i.i.i br i1 %cmp8.i.i.i226.i.i.i, label %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh2ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, label %for.body.i.i.i228.i.i.i for.body.i.i.i228.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i236.i.i.i, %if.then16.i.i.i %writer.sroa.10.0.i229.i.i.i = phi i64 [ %writer.sroa.10.1.i237.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i236.i.i.i ], [ 0, %if.then16.i.i.i ] %267 = phi i64 [ %271, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i236.i.i.i ], [ 0, %if.then16.i.i.i ] %value.addr.010.i.i.i230.i.i.i = phi i64 [ %div6.i.i.i238.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i236.i.i.i ], [ %retval.0.i.i131.fr.i, %if.then16.i.i.i ] %cmp.i.i.i.i.i231.i.i.i = icmp eq i64 %267, 64 br i1 %cmp.i.i.i.i.i231.i.i.i, label %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i236.i.i.i, label %if.then3.i.i.i.i232.i.i.i if.then3.i.i.i.i232.i.i.i: ; preds = %for.body.i.i.i228.i.i.i %268 = trunc i64 %value.addr.010.i.i.i230.i.i.i to i8 %conv.i.i.i233.i.i.i = and i8 %268, 1 %269 = or disjoint i8 %conv.i.i.i233.i.i.i, 48 %270 = xor i64 %267, -1 %arrayidx.i.i.i.i.i234.i.i.i = getelementptr i8, ptr %76, i64 %270 store i8 %269, ptr %arrayidx.i.i.i.i.i234.i.i.i, align 1, !tbaa !26 %inc.i.i.i.i235.i.i.i = add i64 %writer.sroa.10.0.i229.i.i.i, 1 br label %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i236.i.i.i _ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i236.i.i.i: ; preds = %if.then3.i.i.i.i232.i.i.i, %for.body.i.i.i228.i.i.i %writer.sroa.10.1.i237.i.i.i = phi i64 [ %inc.i.i.i.i235.i.i.i, %if.then3.i.i.i.i232.i.i.i ], [ %writer.sroa.10.0.i229.i.i.i, %for.body.i.i.i228.i.i.i ] %271 = phi i64 [ %inc.i.i.i.i235.i.i.i, %if.then3.i.i.i.i232.i.i.i ], [ 64, %for.body.i.i.i228.i.i.i ] %div6.i.i.i238.i.i.i = lshr i64 %value.addr.010.i.i.i230.i.i.i, 1 %cmp.i.i.i239.i.i.i = icmp ult i64 %value.addr.010.i.i.i230.i.i.i, 2 %.not.i.i.i240.i.i.i = select i1 %cmp.i.i.i.i.i231.i.i.i, i1 true, i1 %cmp.i.i.i239.i.i.i br i1 %.not.i.i.i240.i.i.i, label %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh2ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, label %for.body.i.i.i228.i.i.i, !llvm.loop !147 _ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh2ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i236.i.i.i, %if.then16.i.i.i %writer.sroa.10.2.i241.i.i.i = phi i64 [ 0, %if.then16.i.i.i ], [ %writer.sroa.10.1.i237.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i236.i.i.i ] %.off0.i.i242.i.i.i = phi i1 [ false, %if.then16.i.i.i ], [ %cmp.i.i.i.i.i231.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i236.i.i.i ] br i1 %.off0.i.i242.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.sink.split.i.i if.else19.i.i.i: ; preds = %if.else12.i.i.i br i1 %cmp8.i.i.i226.i.i.i, label %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh10ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, label %for.body.i.i.i277.i.i.i for.body.i.i.i277.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i284.i.i.i, %if.else19.i.i.i %writer.sroa.10.0.i278.i.i.i = phi i64 [ %writer.sroa.10.1.i285.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i284.i.i.i ], [ 0, %if.else19.i.i.i ] %272 = phi i64 [ %275, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i284.i.i.i ], [ 0, %if.else19.i.i.i ] %value.addr.09.i.i.i.i.i.i = phi i64 [ %div.i.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i284.i.i.i ], [ %retval.0.i.i131.fr.i, %if.else19.i.i.i ] %cmp.i.i.i.i.i279.i.i.i = icmp eq i64 %272, 64 %div.i.i.i.i.i.i = udiv i64 %value.addr.09.i.i.i.i.i.i, 10 br i1 %cmp.i.i.i.i.i279.i.i.i, label %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i284.i.i.i, label %if.then3.i.i.i.i280.i.i.i if.then3.i.i.i.i280.i.i.i: ; preds = %for.body.i.i.i277.i.i.i %273 = xor i64 %272, -1 %arrayidx.i.i.i.i.i282.i.i.i = getelementptr i8, ptr %76, i64 %273 %inc.i.i.i.i281.i.i.i = add i64 %writer.sroa.10.0.i278.i.i.i, 1 %.neg.i = mul i64 %div.i.i.i.i.i.i, 246 %rem.i.i.i.i.i.decomposed.i = add i64 %.neg.i, %value.addr.09.i.i.i.i.i.i %conv.i.i.i283.i.i.i = trunc i64 %rem.i.i.i.i.i.decomposed.i to i8 %274 = or disjoint i8 %conv.i.i.i283.i.i.i, 48 store i8 %274, ptr %arrayidx.i.i.i.i.i282.i.i.i, align 1, !tbaa !26 br label %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i284.i.i.i _ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i284.i.i.i: ; preds = %if.then3.i.i.i.i280.i.i.i, %for.body.i.i.i277.i.i.i %writer.sroa.10.1.i285.i.i.i = phi i64 [ %inc.i.i.i.i281.i.i.i, %if.then3.i.i.i.i280.i.i.i ], [ %writer.sroa.10.0.i278.i.i.i, %for.body.i.i.i277.i.i.i ] %275 = phi i64 [ %inc.i.i.i.i281.i.i.i, %if.then3.i.i.i.i280.i.i.i ], [ 64, %for.body.i.i.i277.i.i.i ] %cmp.i.i.i286.i.i.i = icmp ult i64 %value.addr.09.i.i.i.i.i.i, 10 %.not.i.i.i287.i.i.i = select i1 %cmp.i.i.i.i.i279.i.i.i, i1 true, i1 %cmp.i.i.i286.i.i.i br i1 %.not.i.i.i287.i.i.i, label %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh10ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, label %for.body.i.i.i277.i.i.i, !llvm.loop !148 _ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh10ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i284.i.i.i, %if.else19.i.i.i %writer.sroa.10.2.i288.i.i.i = phi i64 [ 0, %if.else19.i.i.i ], [ %writer.sroa.10.1.i285.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i284.i.i.i ] %.off0.i.i289.i.i.i = phi i1 [ false, %if.else19.i.i.i ], [ %cmp.i.i.i.i.i279.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i284.i.i.i ] br i1 %.off0.i.i289.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.sink.split.i.i _ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.sink.split.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh10ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh2ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh8ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb1ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i %writer.sroa.10.2.i288.i.sink571.i.i = phi i64 [ %writer.sroa.10.2.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i ], [ %writer.sroa.10.2.i141.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb1ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i ], [ %writer.sroa.10.2.i191.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh8ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i ], [ %writer.sroa.10.2.i241.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh2ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i ], [ %writer.sroa.10.2.i288.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh10ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i ] %arrayidx.i.i.i.i292.i.promoted.i.i = load i8, ptr %arrayidx.i.i.i.i292.i.i.i, align 1, !tbaa !26 %cmp.i.i295.i.peel.i.i = icmp eq i64 %writer.sroa.10.2.i288.i.sink571.i.i, 0 %.lcssa564.i.i = select i1 %cmp.i.i295.i.peel.i.i, i8 48, i8 %arrayidx.i.i.i.i292.i.promoted.i.i %writer.sroa.10.3.i294.i.lcssa.i.i = call i64 @llvm.umax.i64(i64 %writer.sroa.10.2.i288.i.sink571.i.i, i64 1) store i8 %.lcssa564.i.i, ptr %arrayidx.i.i.i.i292.i.i.i, align 1, !tbaa !26 br label %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.i.i _ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.sink.split.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh10ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh2ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh8ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb1ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i %276 = phi i64 [ %writer.sroa.10.2.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i ], [ %writer.sroa.10.2.i141.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb1ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i ], [ %writer.sroa.10.2.i191.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh8ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i ], [ %writer.sroa.10.2.i241.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh2ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i ], [ %writer.sroa.10.2.i288.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh10ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i ], [ %writer.sroa.10.3.i294.i.lcssa.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.sink.split.i.i ] %writer.sroa.20.5.off0.i297.sink.i.i.i = phi i1 [ true, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i ], [ true, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb1ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i ], [ true, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh8ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i ], [ true, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh2ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i ], [ true, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh10ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i ], [ false, %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.sink.split.i.i ] %idx.neg.i300.i.i.i = sub i64 0, %276 %add.ptr4.i301.i.i.i = getelementptr inbounds i8, ptr %76, i64 %idx.neg.i300.i.i.i br i1 %writer.sroa.20.5.off0.i297.sink.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11convert_intEPNS0_6WriterERKNS0_13FormatSectionE.exit.i, label %if.end19.i.i if.end19.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.i.i br i1 %is_negative.0.off0.i.i, label %if.end35.i.i, label %if.else23.i.i if.else23.i.i: ; preds = %if.end19.i.i %conv24.i.i = zext nneg i8 %flags.0.i.i to i32 %and25.i.i = and i32 %conv24.i.i, 2 %cmp26.not.i.i = icmp eq i32 %and25.i.i, 0 %and30.i.i = and i32 %conv24.i.i, 4 %and30.lobit.i.i = lshr exact i32 %and30.i.i, 2 %277 = trunc nuw nsw i32 %and30.i.i to i8 %spec.select329.i.i = shl nuw nsw i8 %277, 3 %narrow550.i.i = select i1 %cmp26.not.i.i, i32 %and30.lobit.i.i, i32 1 %spec.select545.i.i = zext nneg i32 %narrow550.i.i to i64 %spec.select546.i.i = select i1 %cmp26.not.i.i, i8 %spec.select329.i.i, i8 43 br label %if.end35.i.i if.end35.i.i: ; preds = %if.else23.i.i, %if.end19.i.i %not.cmp68.i.i = phi i64 [ 1, %if.end19.i.i ], [ %spec.select545.i.i, %if.else23.i.i ] %sign_char.0.i.i = phi i8 [ 45, %if.end19.i.i ], [ %spec.select546.i.i, %if.else23.i.i ] call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %prefix.i.i) #18 store i8 -86, ptr %77, align 1, !annotation !10 br i1 %cmp.i336.i.i, label %land.lhs.true.i176.i, label %if.else49.i.i land.lhs.true.i176.i: ; preds = %if.end35.i.i %278 = and i8 %flags.0.i.i, 8 %cmp42.i.i = icmp ne i8 %278, 0 %cmp44.i.i = icmp ne i64 %retval.0.i.i131.fr.i, 0 %or.cond.i.i = and i1 %cmp42.i.i, %cmp44.i.i br i1 %or.cond.i.i, label %if.then45.i.i, label %if.else49.i.i if.then45.i.i: ; preds = %land.lhs.true.i176.i store i8 48, ptr %prefix.i.i, align 1, !tbaa !26 store i8 %cur_section.sroa.62.0, ptr %77, align 1, !tbaa !26 br label %if.end73.i.i if.else49.i.i: ; preds = %land.lhs.true.i176.i, %if.end35.i.i %cmp53.i.i = icmp eq i8 %251, 98 br i1 %cmp53.i.i, label %land.lhs.true54.i.i, label %if.else66.i.i land.lhs.true54.i.i: ; preds = %if.else49.i.i %279 = and i8 %flags.0.i.i, 8 %cmp57.i.i14 = icmp ne i8 %279, 0 %cmp59.i.i = icmp ne i64 %retval.0.i.i131.fr.i, 0 %or.cond249.i.i = and i1 %cmp57.i.i14, %cmp59.i.i br i1 %or.cond249.i.i, label %if.then60.i.i, label %if.else66.i.i if.then60.i.i: ; preds = %land.lhs.true54.i.i store i8 48, ptr %prefix.i.i, align 1, !tbaa !26 store i8 %cur_section.sroa.62.0, ptr %77, align 1, !tbaa !26 br label %if.end73.i.i if.else66.i.i: ; preds = %land.lhs.true54.i.i, %if.else49.i.i store i8 %sign_char.0.i.i, ptr %prefix.i.i, align 1, !tbaa !26 br label %if.end73.i.i if.end73.i.i: ; preds = %if.else66.i.i, %if.then60.i.i, %if.then45.i.i %280 = phi i64 [ 2, %if.then45.i.i ], [ 2, %if.then60.i.i ], [ %not.cmp68.i.i, %if.else66.i.i ] %cmp74.i.i = icmp slt i32 %cur_section.sroa.49.0, 0 br i1 %cmp74.i.i, label %if.then75.i.i, label %if.else91.i.i if.then75.i.i: ; preds = %if.end73.i.i %281 = and i8 %flags.0.i.i, 17 %cmp78.i.i = icmp eq i8 %281, 16 %282 = add i64 %280, %276 %283 = trunc i64 %282 to i32 %conv83.i.i = sub i32 %cur_section.sroa.42.0, %283 %.conv83.i.i = select i1 %cmp78.i.i, i32 0, i32 %conv83.i.i %conv83..i.i = select i1 %cmp78.i.i, i32 %conv83.i.i, i32 0 br label %if.end111.i.i if.else91.i.i: ; preds = %if.end73.i.i %cmp92.i.i = icmp eq i64 %retval.0.i.i131.fr.i, 0 %cmp95.i.i = icmp eq i32 %cur_section.sroa.49.0, 0 %or.cond330.i.i = and i1 %cmp92.i.i, %cmp95.i.i %digits_written.0.i.i = select i1 %or.cond330.i.i, i64 0, i64 %276 %284 = trunc i64 %digits_written.0.i.i to i32 %conv101.i.i = sub i32 %cur_section.sroa.49.0, %284 %spec.store.select.i133.i = call i32 @llvm.smax.i32(i32 %conv101.i.i, i32 0) %285 = add i64 %digits_written.0.i.i, %280 %286 = trunc i64 %285 to i32 %287 = add i32 %spec.store.select.i133.i, %286 %conv110.i.i = sub i32 %cur_section.sroa.42.0, %287 br label %if.end111.i.i if.end111.i.i: ; preds = %if.else91.i.i, %if.then75.i.i %spaces.0.i.i = phi i32 [ %conv110.i.i, %if.else91.i.i ], [ %.conv83.i.i, %if.then75.i.i ] %zeroes.0.i.i = phi i32 [ %spec.store.select.i133.i, %if.else91.i.i ], [ %conv83..i.i, %if.then75.i.i ] %digits_written.1.i.i = phi i64 [ %digits_written.0.i.i, %if.else91.i.i ], [ %276, %if.then75.i.i ] %cmp117.i.i = icmp eq i8 %cur_section.sroa.62.0, 111 br i1 %cmp117.i.i, label %land.lhs.true118.i.i, label %if.end126.i.i land.lhs.true118.i.i: ; preds = %if.end111.i.i %cmp112.i.i = icmp slt i32 %zeroes.0.i.i, 1 %cmp113.i.i = icmp ne i64 %retval.0.i.i131.fr.i, 0 %cmp114.i.i = icmp eq i64 %digits_written.1.i.i, 0 %.not551.i.i = or i1 %cmp113.i.i, %cmp114.i.i %288 = and i8 %cur_section.sroa.22.0, 8 %cmp122.not.i.i = icmp ne i8 %288, 0 %289 = select i1 %cmp122.not.i.i, i1 %cmp112.i.i, i1 false %narrow.i174.i = select i1 %289, i1 %.not551.i.i, i1 false %spec.select331.i.i = sext i1 %narrow.i174.i to i32 %spec.select548.i.i = add nsw i32 %spaces.0.i.i, %spec.select331.i.i %spec.select549.i.i = select i1 %narrow.i174.i, i32 1, i32 %zeroes.0.i.i br label %if.end126.i.i if.end126.i.i: ; preds = %land.lhs.true118.i.i, %if.end111.i.i %spaces.1.i.i = phi i32 [ %spaces.0.i.i, %if.end111.i.i ], [ %spec.select548.i.i, %land.lhs.true118.i.i ] %zeroes.1.i.i = phi i32 [ %zeroes.0.i.i, %if.end111.i.i ], [ %spec.select549.i.i, %land.lhs.true118.i.i ] %290 = and i8 %flags.0.i.i, 1 %cmp129.not.i.i = icmp eq i8 %290, 0 br i1 %cmp129.not.i.i, label %if.else176.i.i, label %if.then130.i.i if.then130.i.i: ; preds = %if.end126.i.i %cmp131.not.i.i = icmp eq i64 %280, 0 br i1 %cmp131.not.i.i, label %if.end138.i.i, label %if.then132.i.i if.then132.i.i: ; preds = %if.then130.i.i %conv.i.i134.i = trunc nuw nsw i64 %280 to i32 %291 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i.i136.i = add nsw i32 %291, %conv.i.i134.i store i32 %add.i.i136.i, ptr %chars_written.i, align 8, !tbaa !25 %292 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i.i137.i = getelementptr inbounds i8, ptr %292, i64 16 %293 = load i64, ptr %buff_cur.i.i137.i, align 8, !tbaa !19 %add3.i.i138.i = add i64 %293, %280 %buff_len.i.i139.i = getelementptr inbounds i8, ptr %292, i64 8 %294 = load i64, ptr %buff_len.i.i139.i, align 8, !tbaa !18 %cmp.not.i.i140.i = icmp ugt i64 %add3.i.i138.i, %294 br i1 %cmp.not.i.i140.i, label %if.end.i.i150.i, label %if.then.i340.i.i if.then.i340.i.i: ; preds = %if.then132.i.i %295 = load ptr, ptr %292, align 8, !tbaa !15 %add.ptr.i.i141.i = getelementptr inbounds i8, ptr %295, i64 %293 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i141.i, ptr nonnull align 1 %prefix.i.i, i64 %280, i1 false), !alias.scope !149 %296 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur13.i.i142.i = getelementptr inbounds i8, ptr %296, i64 16 %297 = load i64, ptr %buff_cur13.i.i142.i, align 8, !tbaa !19 %add14.i.i143.i = add i64 %297, %280 store i64 %add14.i.i143.i, ptr %buff_cur13.i.i142.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i144.i if.end.i.i150.i: ; preds = %if.then132.i.i call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp20.i.i126.i) store ptr %prefix.i.i, ptr %agg.tmp20.i.i126.i, align 8 store i64 %280, ptr %agg.tmp133338.sroa.5.0.agg.tmp20.i.sroa_idx.i.i, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i.i125.i) %stream_writer.i.i.i151.i = getelementptr inbounds i8, ptr %292, i64 24 %298 = load ptr, ptr %stream_writer.i.i.i151.i, align 8, !tbaa !20 %cmp.not.i.i.i152.i = icmp eq ptr %298, null br i1 %cmp.not.i.i.i152.i, label %if.else.i.i.i168.i, label %if.then.i.i.i153.i if.then.i.i.i153.i: ; preds = %if.end.i.i150.i %cmp2.not.i.i.i154.i = icmp eq i64 %293, 0 br i1 %cmp2.not.i.i.i154.i, label %if.then12.i.i.i162.i, label %if.then3.i.i.i155.i if.then3.i.i.i155.i: ; preds = %if.then.i.i.i153.i %299 = load ptr, ptr %292, align 8, !tbaa !15 store ptr %299, ptr %agg.tmp.i.i.i125.i, align 8, !tbaa !91 store i64 %293, ptr %Len.i.i.i.i.i156.i, align 8, !tbaa !93 %output_target.i.i.i157.i = getelementptr inbounds i8, ptr %292, i64 32 %300 = load ptr, ptr %output_target.i.i.i157.i, align 8, !tbaa !21 %call.i.i.i158.i = call noundef i32 %298(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i.i125.i, ptr noundef %300) #19 %cmp7.i.i.i159.i = icmp sgt i32 %call.i.i.i158.i, -1 br i1 %cmp7.i.i.i159.i, label %if.then3.i.i.i155.if.then12.i.i.i162_crit_edge.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i160.i if.then3.i.i.i155.if.then12.i.i.i162_crit_edge.i: ; preds = %if.then3.i.i.i155.i %.pre.i13 = load ptr, ptr %stream_writer.i.i.i151.i, align 8, !tbaa !20 br label %if.then12.i.i.i162.i if.then12.i.i.i162.i: ; preds = %if.then3.i.i.i155.if.then12.i.i.i162_crit_edge.i, %if.then.i.i.i153.i %301 = phi ptr [ %.pre.i13, %if.then3.i.i.i155.if.then12.i.i.i162_crit_edge.i ], [ %298, %if.then.i.i.i153.i ] %output_target16.i.i.i163.i = getelementptr inbounds i8, ptr %292, i64 32 %302 = load ptr, ptr %output_target16.i.i.i163.i, align 8, !tbaa !21 %call17.i.i.i164.i = call noundef i32 %301(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp20.i.i126.i, ptr noundef %302) #19 %cmp18.i.i.i165.i = icmp sgt i32 %call17.i.i.i164.i, -1 br i1 %cmp18.i.i.i165.i, label %return.sink.split.i.i.i166.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i160.i if.else.i.i.i168.i: ; preds = %if.end.i.i150.i %cmp27.i.i.i169.i = icmp ult i64 %293, %294 br i1 %cmp27.i.i.i169.i, label %if.then28.i.i.i170.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i160.i if.then28.i.i.i170.i: ; preds = %if.else.i.i.i168.i %sub.i.i.i171.i = sub i64 %294, %293 %spec.select.i.i.i172.i = call i64 @llvm.umin.i64(i64 %sub.i.i.i171.i, i64 %280) %303 = load ptr, ptr %292, align 8, !tbaa !15 %add.ptr.i.i342.i.i = getelementptr inbounds i8, ptr %303, i64 %293 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i342.i.i, ptr nonnull align 1 %prefix.i.i, i64 %spec.select.i.i.i172.i, i1 false), !alias.scope !153 %304 = load i64, ptr %buff_cur.i.i137.i, align 8, !tbaa !19 %add.i.i.i173.i = add i64 %304, %spec.select.i.i.i172.i br label %return.sink.split.i.i.i166.i return.sink.split.i.i.i166.i: ; preds = %if.then28.i.i.i170.i, %if.then12.i.i.i162.i %add.sink.i.i.i167.i = phi i64 [ %add.i.i.i173.i, %if.then28.i.i.i170.i ], [ 0, %if.then12.i.i.i162.i ] store i64 %add.sink.i.i.i167.i, ptr %buff_cur.i.i137.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i160.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i160.i: ; preds = %return.sink.split.i.i.i166.i, %if.else.i.i.i168.i, %if.then12.i.i.i162.i, %if.then3.i.i.i155.i %retval.3.i.i.i161.i = phi i32 [ %call.i.i.i158.i, %if.then3.i.i.i155.i ], [ %call17.i.i.i164.i, %if.then12.i.i.i162.i ], [ 0, %if.else.i.i.i168.i ], [ 0, %return.sink.split.i.i.i166.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp20.i.i126.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i.i125.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i144.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i144.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i160.i, %if.then.i340.i.i %retval.0.i341.i.i = phi i32 [ 0, %if.then.i340.i.i ], [ %retval.3.i.i.i161.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i160.i ] %cmp135.i.i = icmp sgt i32 %retval.0.i341.i.i, -1 br i1 %cmp135.i.i, label %if.end138.i.i, label %cleanup228.i.i if.end138.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i144.i, %if.then130.i.i %cmp139.i.i = icmp sgt i32 %zeroes.1.i.i, 0 br i1 %cmp139.i.i, label %if.then140.i.i, label %if.end150.i.i if.then140.i.i: ; preds = %if.end138.i.i %conv142.i.i = zext nneg i32 %zeroes.1.i.i to i64 %305 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i345.i.i = add nsw i32 %305, %zeroes.1.i.i store i32 %add.i345.i.i, ptr %chars_written.i, align 8, !tbaa !25 %306 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i346.i.i = getelementptr inbounds i8, ptr %306, i64 16 %307 = load i64, ptr %buff_cur.i346.i.i, align 8, !tbaa !19 %add2.i.i145.i = add i64 %307, %conv142.i.i %buff_len.i347.i.i = getelementptr inbounds i8, ptr %306, i64 8 %308 = load i64, ptr %buff_len.i347.i.i, align 8, !tbaa !18 %cmp.not.i348.i.i = icmp ugt i64 %add2.i.i145.i, %308 br i1 %cmp.not.i348.i.i, label %if.end.i352.i.i, label %if.then.i349.i.i if.then.i349.i.i: ; preds = %if.then140.i.i %309 = load ptr, ptr %306, align 8, !tbaa !15 %add.ptr.i350.i.i = getelementptr inbounds i8, ptr %309, i64 %307 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i350.i.i, i8 48, i64 %conv142.i.i, i1 false) %310 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur8.i.i146.i = getelementptr inbounds i8, ptr %310, i64 16 %311 = load i64, ptr %buff_cur8.i.i146.i, align 8, !tbaa !19 %add9.i.i147.i = add i64 %311, %conv142.i.i store i64 %add9.i.i147.i, ptr %buff_cur8.i.i146.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i148.i if.end.i352.i.i: ; preds = %if.then140.i.i %sub.i369.i = sub i64 %308, %307 %cmp.not.i370.i = icmp eq i64 %sub.i369.i, 0 br i1 %cmp.not.i370.i, label %if.end.i375.i, label %if.then.i371.i if.then.i371.i: ; preds = %if.end.i352.i.i %312 = load ptr, ptr %306, align 8, !tbaa !15 %add.ptr.i372.i = getelementptr inbounds i8, ptr %312, i64 %307 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i372.i, i8 48, i64 %sub.i369.i, i1 false) %313 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur7.i373.i = getelementptr inbounds i8, ptr %313, i64 16 %314 = load i64, ptr %buff_cur7.i373.i, align 8, !tbaa !19 %add.i374.i = add i64 %314, %sub.i369.i store i64 %add.i374.i, ptr %buff_cur7.i373.i, align 8, !tbaa !19 br label %if.end.i375.i if.end.i375.i: ; preds = %if.then.i371.i, %if.end.i352.i.i call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %mini_buff.i366.i) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %mini_buff.i366.i, i8 48, i64 64, i1 false) br label %while.cond.i378.i while.cond.i378.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i425.i, %if.end.i375.i %written.1.i379.i = phi i64 [ %sub.i369.i, %if.end.i375.i ], [ %add9.i380.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i425.i ] %add9.i380.i = add i64 %written.1.i379.i, 64 %cmp10.i381.i = icmp ult i64 %add9.i380.i, %conv142.i.i br i1 %cmp10.i381.i, label %while.body.i415.i, label %while.end.i382.i while.body.i415.i: ; preds = %while.cond.i378.i %315 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp35.i365.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i364.i) store ptr %mini_buff.i366.i, ptr %agg.tmp35.i365.i, align 8 store i64 64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i376.i, align 8 %stream_writer.i.i416.i = getelementptr inbounds i8, ptr %315, i64 24 %316 = load ptr, ptr %stream_writer.i.i416.i, align 8, !tbaa !20 %cmp.not.i.i417.i = icmp eq ptr %316, null %buff_cur26.i.i418.i = getelementptr inbounds i8, ptr %315, i64 16 %317 = load i64, ptr %buff_cur26.i.i418.i, align 8, !tbaa !19 br i1 %cmp.not.i.i417.i, label %if.else.i.i438.i, label %if.then.i.i419.i if.then.i.i419.i: ; preds = %while.body.i415.i %cmp2.not.i.i420.i = icmp eq i64 %317, 0 br i1 %cmp2.not.i.i420.i, label %if.end9.i.i430.i, label %if.then3.i.i421.i if.then3.i.i421.i: ; preds = %if.then.i.i419.i %318 = load ptr, ptr %315, align 8, !tbaa !15 store ptr %318, ptr %agg.tmp.i.i364.i, align 8, !tbaa !91 store i64 %317, ptr %Len.i.i.i.i377.i, align 8, !tbaa !93 %output_target.i.i422.i = getelementptr inbounds i8, ptr %315, i64 32 %319 = load ptr, ptr %output_target.i.i422.i, align 8, !tbaa !21 %call.i.i423.i = call noundef i32 %316(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i364.i, ptr noundef %319) #19 %cmp7.i.i424.i = icmp sgt i32 %call.i.i423.i, -1 br i1 %cmp7.i.i424.i, label %if.then3.i.if.end9.i_crit_edge.i428.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i425.i if.then3.i.if.end9.i_crit_edge.i428.i: ; preds = %if.then3.i.i421.i %.pre.i429.i = load i64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i376.i, align 8, !tbaa !93 br label %if.end9.i.i430.i if.end9.i.i430.i: ; preds = %if.then3.i.if.end9.i_crit_edge.i428.i, %if.then.i.i419.i %320 = phi i64 [ %.pre.i429.i, %if.then3.i.if.end9.i_crit_edge.i428.i ], [ 64, %if.then.i.i419.i ] %cmp11.not.i.i431.i = icmp eq i64 %320, 0 br i1 %cmp11.not.i.i431.i, label %return.sink.split.i.i436.i, label %if.then12.i.i432.i if.then12.i.i432.i: ; preds = %if.end9.i.i430.i %321 = load ptr, ptr %stream_writer.i.i416.i, align 8, !tbaa !20 %output_target16.i.i433.i = getelementptr inbounds i8, ptr %315, i64 32 %322 = load ptr, ptr %output_target16.i.i433.i, align 8, !tbaa !21 %call17.i.i434.i = call noundef i32 %321(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp35.i365.i, ptr noundef %322) #19 %cmp18.i.i435.i = icmp sgt i32 %call17.i.i434.i, -1 br i1 %cmp18.i.i435.i, label %return.sink.split.i.i436.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i425.i if.else.i.i438.i: ; preds = %while.body.i415.i %buff_len.i.i439.i = getelementptr inbounds i8, ptr %315, i64 8 %323 = load i64, ptr %buff_len.i.i439.i, align 8, !tbaa !18 %cmp27.i.i440.i = icmp ult i64 %317, %323 br i1 %cmp27.i.i440.i, label %if.then28.i.i441.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i425.i if.then28.i.i441.i: ; preds = %if.else.i.i438.i %sub.i.i442.i = sub i64 %323, %317 %spec.select.i.i443.i = call i64 @llvm.umin.i64(i64 %sub.i.i442.i, i64 64) %324 = load ptr, ptr %315, align 8, !tbaa !15 %add.ptr.i.i444.i = getelementptr inbounds i8, ptr %324, i64 %317 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i444.i, ptr nonnull align 1 %mini_buff.i366.i, i64 %spec.select.i.i443.i, i1 false), !alias.scope !157 %325 = load i64, ptr %buff_cur26.i.i418.i, align 8, !tbaa !19 %add.i.i445.i = add i64 %325, %spec.select.i.i443.i br label %return.sink.split.i.i436.i return.sink.split.i.i436.i: ; preds = %if.then28.i.i441.i, %if.then12.i.i432.i, %if.end9.i.i430.i %add.sink.i.i437.i = phi i64 [ %add.i.i445.i, %if.then28.i.i441.i ], [ 0, %if.then12.i.i432.i ], [ 0, %if.end9.i.i430.i ] store i64 %add.sink.i.i437.i, ptr %buff_cur26.i.i418.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i425.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i425.i: ; preds = %return.sink.split.i.i436.i, %if.else.i.i438.i, %if.then12.i.i432.i, %if.then3.i.i421.i %retval.3.i.i426.i = phi i32 [ %call.i.i423.i, %if.then3.i.i421.i ], [ %call17.i.i434.i, %if.then12.i.i432.i ], [ 0, %if.else.i.i438.i ], [ 0, %return.sink.split.i.i436.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp35.i365.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i364.i) %cmp12.not.i427.i = icmp eq i32 %retval.3.i.i426.i, 0 br i1 %cmp12.not.i427.i, label %while.cond.i378.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit446.i, !llvm.loop !102 while.end.i382.i: ; preds = %while.cond.i378.i %written.1.i379.i.lcssa = phi i64 [ %written.1.i379.i, %while.cond.i378.i ] %sub16.i383.i = sub i64 %conv142.i.i, %written.1.i379.i.lcssa %cond.i6.i.i384.i = call noundef i64 @llvm.umin.i64(i64 %sub16.i383.i, i64 64) %326 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1939.i363.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i40.i362.i) store ptr %mini_buff.i366.i, ptr %agg.tmp1939.i363.i, align 8 store i64 %cond.i6.i.i384.i, ptr %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i385.i, align 8 %stream_writer.i41.i386.i = getelementptr inbounds i8, ptr %326, i64 24 %327 = load ptr, ptr %stream_writer.i41.i386.i, align 8, !tbaa !20 %cmp.not.i42.i387.i = icmp eq ptr %327, null %buff_cur26.i43.i388.i = getelementptr inbounds i8, ptr %326, i64 16 %328 = load i64, ptr %buff_cur26.i43.i388.i, align 8, !tbaa !19 br i1 %cmp.not.i42.i387.i, label %if.else.i61.i407.i, label %if.then.i44.i389.i if.then.i44.i389.i: ; preds = %while.end.i382.i %cmp2.not.i45.i390.i = icmp eq i64 %328, 0 br i1 %cmp2.not.i45.i390.i, label %if.end9.i52.i399.i, label %if.then3.i46.i391.i if.then3.i46.i391.i: ; preds = %if.then.i44.i389.i %329 = load ptr, ptr %326, align 8, !tbaa !15 store ptr %329, ptr %agg.tmp.i40.i362.i, align 8, !tbaa !91 store i64 %328, ptr %Len.i.i.i47.i392.i, align 8, !tbaa !93 %output_target.i48.i393.i = getelementptr inbounds i8, ptr %326, i64 32 %330 = load ptr, ptr %output_target.i48.i393.i, align 8, !tbaa !21 %call.i49.i394.i = call noundef i32 %327(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i40.i362.i, ptr noundef %330) #19 %cmp7.i50.i395.i = icmp sgt i32 %call.i49.i394.i, -1 br i1 %cmp7.i50.i395.i, label %if.end9.i52.i399.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i396.i if.end9.i52.i399.i: ; preds = %if.then3.i46.i391.i, %if.then.i44.i389.i %cmp11.not.i54.i400.i = icmp eq i64 %written.1.i379.i.lcssa, %conv142.i.i br i1 %cmp11.not.i54.i400.i, label %return.sink.split.i59.i405.i, label %if.then12.i55.i401.i if.then12.i55.i401.i: ; preds = %if.end9.i52.i399.i %331 = load ptr, ptr %stream_writer.i41.i386.i, align 8, !tbaa !20 %output_target16.i56.i402.i = getelementptr inbounds i8, ptr %326, i64 32 %332 = load ptr, ptr %output_target16.i56.i402.i, align 8, !tbaa !21 %call17.i57.i403.i = call noundef i32 %331(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp1939.i363.i, ptr noundef %332) #19 %cmp18.i58.i404.i = icmp sgt i32 %call17.i57.i403.i, -1 br i1 %cmp18.i58.i404.i, label %return.sink.split.i59.i405.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i396.i if.else.i61.i407.i: ; preds = %while.end.i382.i %buff_len.i62.i408.i = getelementptr inbounds i8, ptr %326, i64 8 %333 = load i64, ptr %buff_len.i62.i408.i, align 8, !tbaa !18 %cmp27.i63.i409.i = icmp ult i64 %328, %333 br i1 %cmp27.i63.i409.i, label %if.then28.i64.i410.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i396.i if.then28.i64.i410.i: ; preds = %if.else.i61.i407.i %sub.i65.i411.i = sub i64 %333, %328 %spec.select.i67.i412.i = call i64 @llvm.umin.i64(i64 %sub.i65.i411.i, i64 %cond.i6.i.i384.i) %334 = load ptr, ptr %326, align 8, !tbaa !15 %add.ptr.i68.i413.i = getelementptr inbounds i8, ptr %334, i64 %328 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i68.i413.i, ptr nonnull align 1 %mini_buff.i366.i, i64 %spec.select.i67.i412.i, i1 false), !alias.scope !161 %335 = load i64, ptr %buff_cur26.i43.i388.i, align 8, !tbaa !19 %add.i69.i414.i = add i64 %335, %spec.select.i67.i412.i br label %return.sink.split.i59.i405.i return.sink.split.i59.i405.i: ; preds = %if.then28.i64.i410.i, %if.then12.i55.i401.i, %if.end9.i52.i399.i %add.sink.i60.i406.i = phi i64 [ %add.i69.i414.i, %if.then28.i64.i410.i ], [ 0, %if.then12.i55.i401.i ], [ 0, %if.end9.i52.i399.i ] store i64 %add.sink.i60.i406.i, ptr %buff_cur26.i43.i388.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i396.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i396.i: ; preds = %return.sink.split.i59.i405.i, %if.else.i61.i407.i, %if.then12.i55.i401.i, %if.then3.i46.i391.i %retval.3.i51.i397.i = phi i32 [ %call.i49.i394.i, %if.then3.i46.i391.i ], [ %call17.i57.i403.i, %if.then12.i55.i401.i ], [ 0, %if.else.i61.i407.i ], [ 0, %return.sink.split.i59.i405.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1939.i363.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i40.i362.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit446.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit446.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i396.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i425.i %retval.2.i398.i = phi i32 [ %retval.3.i51.i397.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i396.i ], [ %retval.3.i.i426.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i425.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %mini_buff.i366.i) #18 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i148.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i148.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit446.i, %if.then.i349.i.i %retval.0.i351.i.i = phi i32 [ 0, %if.then.i349.i.i ], [ %retval.2.i398.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit446.i ] %cmp144.i.i = icmp sgt i32 %retval.0.i351.i.i, -1 br i1 %cmp144.i.i, label %if.end150.i.i, label %cleanup228.i.i if.end150.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i148.i, %if.end138.i.i %cmp151.not.i.i = icmp eq i64 %digits_written.1.i.i, 0 br i1 %cmp151.not.i.i, label %if.end163.i.i, label %if.then152.i.i if.then152.i.i: ; preds = %if.end150.i.i %conv.i357.i.i = trunc i64 %276 to i32 %336 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i359.i.i = add nsw i32 %336, %conv.i357.i.i store i32 %add.i359.i.i, ptr %chars_written.i, align 8, !tbaa !25 %337 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i360.i.i = getelementptr inbounds i8, ptr %337, i64 16 %338 = load i64, ptr %buff_cur.i360.i.i, align 8, !tbaa !19 %add3.i361.i.i = add i64 %338, %276 %buff_len.i362.i.i = getelementptr inbounds i8, ptr %337, i64 8 %339 = load i64, ptr %buff_len.i362.i.i, align 8, !tbaa !18 %cmp.not.i363.i.i = icmp ugt i64 %add3.i361.i.i, %339 br i1 %cmp.not.i363.i.i, label %if.end.i369.i.i, label %if.then.i364.i.i if.then.i364.i.i: ; preds = %if.then152.i.i %340 = load ptr, ptr %337, align 8, !tbaa !15 %add.ptr.i365.i.i = getelementptr inbounds i8, ptr %340, i64 %338 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i365.i.i, ptr nonnull align 1 %add.ptr4.i301.i.i.i, i64 %276, i1 false), !alias.scope !165 %341 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur13.i366.i.i = getelementptr inbounds i8, ptr %341, i64 16 %342 = load i64, ptr %buff_cur13.i366.i.i, align 8, !tbaa !19 %add14.i367.i.i = add i64 %342, %276 store i64 %add14.i367.i.i, ptr %buff_cur13.i366.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit398.i.i if.end.i369.i.i: ; preds = %if.then152.i.i call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp20.i355.i.i) store ptr %add.ptr4.i301.i.i.i, ptr %agg.tmp20.i355.i.i, align 8 store i64 %276, ptr %agg.tmp154353.sroa.5.0.agg.tmp20.i355.sroa_idx.i.i, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i354.i.i) %stream_writer.i.i370.i.i = getelementptr inbounds i8, ptr %337, i64 24 %343 = load ptr, ptr %stream_writer.i.i370.i.i, align 8, !tbaa !20 %cmp.not.i.i371.i.i = icmp eq ptr %343, null br i1 %cmp.not.i.i371.i.i, label %if.else.i.i390.i.i, label %if.then.i.i372.i.i if.then.i.i372.i.i: ; preds = %if.end.i369.i.i %cmp2.not.i.i373.i.i = icmp eq i64 %338, 0 br i1 %cmp2.not.i.i373.i.i, label %if.end9.i.i381.i.i, label %if.then3.i.i374.i.i if.then3.i.i374.i.i: ; preds = %if.then.i.i372.i.i %344 = load ptr, ptr %337, align 8, !tbaa !15 store ptr %344, ptr %agg.tmp.i.i354.i.i, align 8, !tbaa !91 store i64 %338, ptr %Len.i.i.i.i375.i.i, align 8, !tbaa !93 %output_target.i.i376.i.i = getelementptr inbounds i8, ptr %337, i64 32 %345 = load ptr, ptr %output_target.i.i376.i.i, align 8, !tbaa !21 %call.i.i377.i.i = call noundef i32 %343(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i354.i.i, ptr noundef %345) #19 %cmp7.i.i378.i.i = icmp sgt i32 %call.i.i377.i.i, -1 br i1 %cmp7.i.i378.i.i, label %if.end9.i.i381.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i379.i.i if.end9.i.i381.i.i: ; preds = %if.then3.i.i374.i.i, %if.then.i.i372.i.i %cmp11.not.i.i383.i.i = icmp eq i64 %276, 0 br i1 %cmp11.not.i.i383.i.i, label %return.sink.split.i.i388.i.i, label %if.then12.i.i384.i.i if.then12.i.i384.i.i: ; preds = %if.end9.i.i381.i.i %346 = load ptr, ptr %stream_writer.i.i370.i.i, align 8, !tbaa !20 %output_target16.i.i385.i.i = getelementptr inbounds i8, ptr %337, i64 32 %347 = load ptr, ptr %output_target16.i.i385.i.i, align 8, !tbaa !21 %call17.i.i386.i.i = call noundef i32 %346(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp20.i355.i.i, ptr noundef %347) #19 %cmp18.i.i387.i.i = icmp sgt i32 %call17.i.i386.i.i, -1 br i1 %cmp18.i.i387.i.i, label %return.sink.split.i.i388.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i379.i.i if.else.i.i390.i.i: ; preds = %if.end.i369.i.i %cmp27.i.i391.i.i = icmp ult i64 %338, %339 br i1 %cmp27.i.i391.i.i, label %if.then28.i.i392.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i379.i.i if.then28.i.i392.i.i: ; preds = %if.else.i.i390.i.i %sub.i.i393.i.i = sub i64 %339, %338 %spec.select.i.i395.i.i = call i64 @llvm.umin.i64(i64 %sub.i.i393.i.i, i64 %276) %348 = load ptr, ptr %337, align 8, !tbaa !15 %add.ptr.i.i396.i.i = getelementptr inbounds i8, ptr %348, i64 %338 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i396.i.i, ptr nonnull align 1 %add.ptr4.i301.i.i.i, i64 %spec.select.i.i395.i.i, i1 false), !alias.scope !169 %349 = load i64, ptr %buff_cur.i360.i.i, align 8, !tbaa !19 %add.i.i397.i.i = add i64 %349, %spec.select.i.i395.i.i br label %return.sink.split.i.i388.i.i return.sink.split.i.i388.i.i: ; preds = %if.then28.i.i392.i.i, %if.then12.i.i384.i.i, %if.end9.i.i381.i.i %add.sink.i.i389.i.i = phi i64 [ %add.i.i397.i.i, %if.then28.i.i392.i.i ], [ 0, %if.then12.i.i384.i.i ], [ 0, %if.end9.i.i381.i.i ] store i64 %add.sink.i.i389.i.i, ptr %buff_cur.i360.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i379.i.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i379.i.i: ; preds = %return.sink.split.i.i388.i.i, %if.else.i.i390.i.i, %if.then12.i.i384.i.i, %if.then3.i.i374.i.i %retval.3.i.i380.i.i = phi i32 [ %call.i.i377.i.i, %if.then3.i.i374.i.i ], [ %call17.i.i386.i.i, %if.then12.i.i384.i.i ], [ 0, %if.else.i.i390.i.i ], [ 0, %return.sink.split.i.i388.i.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp20.i355.i.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i354.i.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit398.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit398.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i379.i.i, %if.then.i364.i.i %retval.0.i368.i.i = phi i32 [ 0, %if.then.i364.i.i ], [ %retval.3.i.i380.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i379.i.i ] %cmp157.i.i = icmp sgt i32 %retval.0.i368.i.i, -1 br i1 %cmp157.i.i, label %if.end163.i.i, label %cleanup228.i.i if.end163.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit398.i.i, %if.end150.i.i %cmp164.i.i = icmp sgt i32 %spaces.1.i.i, 0 br i1 %cmp164.i.i, label %if.then165.i.i, label %if.end227.i.i if.then165.i.i: ; preds = %if.end163.i.i %conv167.i.i = zext nneg i32 %spaces.1.i.i to i64 %350 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i401.i.i = add nsw i32 %350, %spaces.1.i.i store i32 %add.i401.i.i, ptr %chars_written.i, align 8, !tbaa !25 %351 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i402.i.i = getelementptr inbounds i8, ptr %351, i64 16 %352 = load i64, ptr %buff_cur.i402.i.i, align 8, !tbaa !19 %add2.i403.i.i = add i64 %352, %conv167.i.i %buff_len.i404.i.i = getelementptr inbounds i8, ptr %351, i64 8 %353 = load i64, ptr %buff_len.i404.i.i, align 8, !tbaa !18 %cmp.not.i405.i.i = icmp ugt i64 %add2.i403.i.i, %353 br i1 %cmp.not.i405.i.i, label %if.end.i411.i.i, label %if.then.i406.i.i if.then.i406.i.i: ; preds = %if.then165.i.i %354 = load ptr, ptr %351, align 8, !tbaa !15 %add.ptr.i407.i.i = getelementptr inbounds i8, ptr %354, i64 %352 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i407.i.i, i8 32, i64 %conv167.i.i, i1 false) %355 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur8.i408.i.i = getelementptr inbounds i8, ptr %355, i64 16 %356 = load i64, ptr %buff_cur8.i408.i.i, align 8, !tbaa !19 %add9.i409.i.i = add i64 %356, %conv167.i.i store i64 %add9.i409.i.i, ptr %buff_cur8.i408.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit413.i.i if.end.i411.i.i: ; preds = %if.then165.i.i %sub.i454.i = sub i64 %353, %352 %cmp.not.i455.i = icmp eq i64 %sub.i454.i, 0 br i1 %cmp.not.i455.i, label %if.end.i460.i, label %if.then.i456.i if.then.i456.i: ; preds = %if.end.i411.i.i %357 = load ptr, ptr %351, align 8, !tbaa !15 %add.ptr.i457.i = getelementptr inbounds i8, ptr %357, i64 %352 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i457.i, i8 32, i64 %sub.i454.i, i1 false) %358 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur7.i458.i = getelementptr inbounds i8, ptr %358, i64 16 %359 = load i64, ptr %buff_cur7.i458.i, align 8, !tbaa !19 %add.i459.i = add i64 %359, %sub.i454.i store i64 %add.i459.i, ptr %buff_cur7.i458.i, align 8, !tbaa !19 br label %if.end.i460.i if.end.i460.i: ; preds = %if.then.i456.i, %if.end.i411.i.i call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %mini_buff.i451.i) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %mini_buff.i451.i, i8 32, i64 64, i1 false) br label %while.cond.i463.i while.cond.i463.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i510.i, %if.end.i460.i %written.1.i464.i = phi i64 [ %sub.i454.i, %if.end.i460.i ], [ %add9.i465.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i510.i ] %add9.i465.i = add i64 %written.1.i464.i, 64 %cmp10.i466.i = icmp ult i64 %add9.i465.i, %conv167.i.i br i1 %cmp10.i466.i, label %while.body.i500.i, label %while.end.i467.i while.body.i500.i: ; preds = %while.cond.i463.i %360 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp35.i450.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i449.i) store ptr %mini_buff.i451.i, ptr %agg.tmp35.i450.i, align 8 store i64 64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i461.i, align 8 %stream_writer.i.i501.i = getelementptr inbounds i8, ptr %360, i64 24 %361 = load ptr, ptr %stream_writer.i.i501.i, align 8, !tbaa !20 %cmp.not.i.i502.i = icmp eq ptr %361, null %buff_cur26.i.i503.i = getelementptr inbounds i8, ptr %360, i64 16 %362 = load i64, ptr %buff_cur26.i.i503.i, align 8, !tbaa !19 br i1 %cmp.not.i.i502.i, label %if.else.i.i523.i, label %if.then.i.i504.i if.then.i.i504.i: ; preds = %while.body.i500.i %cmp2.not.i.i505.i = icmp eq i64 %362, 0 br i1 %cmp2.not.i.i505.i, label %if.end9.i.i515.i, label %if.then3.i.i506.i if.then3.i.i506.i: ; preds = %if.then.i.i504.i %363 = load ptr, ptr %360, align 8, !tbaa !15 store ptr %363, ptr %agg.tmp.i.i449.i, align 8, !tbaa !91 store i64 %362, ptr %Len.i.i.i.i462.i, align 8, !tbaa !93 %output_target.i.i507.i = getelementptr inbounds i8, ptr %360, i64 32 %364 = load ptr, ptr %output_target.i.i507.i, align 8, !tbaa !21 %call.i.i508.i = call noundef i32 %361(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i449.i, ptr noundef %364) #19 %cmp7.i.i509.i = icmp sgt i32 %call.i.i508.i, -1 br i1 %cmp7.i.i509.i, label %if.then3.i.if.end9.i_crit_edge.i513.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i510.i if.then3.i.if.end9.i_crit_edge.i513.i: ; preds = %if.then3.i.i506.i %.pre.i514.i = load i64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i461.i, align 8, !tbaa !93 br label %if.end9.i.i515.i if.end9.i.i515.i: ; preds = %if.then3.i.if.end9.i_crit_edge.i513.i, %if.then.i.i504.i %365 = phi i64 [ %.pre.i514.i, %if.then3.i.if.end9.i_crit_edge.i513.i ], [ 64, %if.then.i.i504.i ] %cmp11.not.i.i516.i = icmp eq i64 %365, 0 br i1 %cmp11.not.i.i516.i, label %return.sink.split.i.i521.i, label %if.then12.i.i517.i if.then12.i.i517.i: ; preds = %if.end9.i.i515.i %366 = load ptr, ptr %stream_writer.i.i501.i, align 8, !tbaa !20 %output_target16.i.i518.i = getelementptr inbounds i8, ptr %360, i64 32 %367 = load ptr, ptr %output_target16.i.i518.i, align 8, !tbaa !21 %call17.i.i519.i = call noundef i32 %366(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp35.i450.i, ptr noundef %367) #19 %cmp18.i.i520.i = icmp sgt i32 %call17.i.i519.i, -1 br i1 %cmp18.i.i520.i, label %return.sink.split.i.i521.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i510.i if.else.i.i523.i: ; preds = %while.body.i500.i %buff_len.i.i524.i = getelementptr inbounds i8, ptr %360, i64 8 %368 = load i64, ptr %buff_len.i.i524.i, align 8, !tbaa !18 %cmp27.i.i525.i = icmp ult i64 %362, %368 br i1 %cmp27.i.i525.i, label %if.then28.i.i526.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i510.i if.then28.i.i526.i: ; preds = %if.else.i.i523.i %sub.i.i527.i = sub i64 %368, %362 %spec.select.i.i528.i = call i64 @llvm.umin.i64(i64 %sub.i.i527.i, i64 64) %369 = load ptr, ptr %360, align 8, !tbaa !15 %add.ptr.i.i529.i = getelementptr inbounds i8, ptr %369, i64 %362 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i529.i, ptr nonnull align 1 %mini_buff.i451.i, i64 %spec.select.i.i528.i, i1 false), !alias.scope !173 %370 = load i64, ptr %buff_cur26.i.i503.i, align 8, !tbaa !19 %add.i.i530.i = add i64 %370, %spec.select.i.i528.i br label %return.sink.split.i.i521.i return.sink.split.i.i521.i: ; preds = %if.then28.i.i526.i, %if.then12.i.i517.i, %if.end9.i.i515.i %add.sink.i.i522.i = phi i64 [ %add.i.i530.i, %if.then28.i.i526.i ], [ 0, %if.then12.i.i517.i ], [ 0, %if.end9.i.i515.i ] store i64 %add.sink.i.i522.i, ptr %buff_cur26.i.i503.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i510.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i510.i: ; preds = %return.sink.split.i.i521.i, %if.else.i.i523.i, %if.then12.i.i517.i, %if.then3.i.i506.i %retval.3.i.i511.i = phi i32 [ %call.i.i508.i, %if.then3.i.i506.i ], [ %call17.i.i519.i, %if.then12.i.i517.i ], [ 0, %if.else.i.i523.i ], [ 0, %return.sink.split.i.i521.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp35.i450.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i449.i) %cmp12.not.i512.i = icmp eq i32 %retval.3.i.i511.i, 0 br i1 %cmp12.not.i512.i, label %while.cond.i463.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit531.i, !llvm.loop !102 while.end.i467.i: ; preds = %while.cond.i463.i %written.1.i464.i.lcssa = phi i64 [ %written.1.i464.i, %while.cond.i463.i ] %sub16.i468.i = sub i64 %conv167.i.i, %written.1.i464.i.lcssa %cond.i6.i.i469.i = call noundef i64 @llvm.umin.i64(i64 %sub16.i468.i, i64 64) %371 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1939.i448.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i40.i447.i) store ptr %mini_buff.i451.i, ptr %agg.tmp1939.i448.i, align 8 store i64 %cond.i6.i.i469.i, ptr %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i470.i, align 8 %stream_writer.i41.i471.i = getelementptr inbounds i8, ptr %371, i64 24 %372 = load ptr, ptr %stream_writer.i41.i471.i, align 8, !tbaa !20 %cmp.not.i42.i472.i = icmp eq ptr %372, null %buff_cur26.i43.i473.i = getelementptr inbounds i8, ptr %371, i64 16 %373 = load i64, ptr %buff_cur26.i43.i473.i, align 8, !tbaa !19 br i1 %cmp.not.i42.i472.i, label %if.else.i61.i492.i, label %if.then.i44.i474.i if.then.i44.i474.i: ; preds = %while.end.i467.i %cmp2.not.i45.i475.i = icmp eq i64 %373, 0 br i1 %cmp2.not.i45.i475.i, label %if.end9.i52.i484.i, label %if.then3.i46.i476.i if.then3.i46.i476.i: ; preds = %if.then.i44.i474.i %374 = load ptr, ptr %371, align 8, !tbaa !15 store ptr %374, ptr %agg.tmp.i40.i447.i, align 8, !tbaa !91 store i64 %373, ptr %Len.i.i.i47.i477.i, align 8, !tbaa !93 %output_target.i48.i478.i = getelementptr inbounds i8, ptr %371, i64 32 %375 = load ptr, ptr %output_target.i48.i478.i, align 8, !tbaa !21 %call.i49.i479.i = call noundef i32 %372(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i40.i447.i, ptr noundef %375) #19 %cmp7.i50.i480.i = icmp sgt i32 %call.i49.i479.i, -1 br i1 %cmp7.i50.i480.i, label %if.end9.i52.i484.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i481.i if.end9.i52.i484.i: ; preds = %if.then3.i46.i476.i, %if.then.i44.i474.i %cmp11.not.i54.i485.i = icmp eq i64 %written.1.i464.i.lcssa, %conv167.i.i br i1 %cmp11.not.i54.i485.i, label %return.sink.split.i59.i490.i, label %if.then12.i55.i486.i if.then12.i55.i486.i: ; preds = %if.end9.i52.i484.i %376 = load ptr, ptr %stream_writer.i41.i471.i, align 8, !tbaa !20 %output_target16.i56.i487.i = getelementptr inbounds i8, ptr %371, i64 32 %377 = load ptr, ptr %output_target16.i56.i487.i, align 8, !tbaa !21 %call17.i57.i488.i = call noundef i32 %376(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp1939.i448.i, ptr noundef %377) #19 %cmp18.i58.i489.i = icmp sgt i32 %call17.i57.i488.i, -1 br i1 %cmp18.i58.i489.i, label %return.sink.split.i59.i490.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i481.i if.else.i61.i492.i: ; preds = %while.end.i467.i %buff_len.i62.i493.i = getelementptr inbounds i8, ptr %371, i64 8 %378 = load i64, ptr %buff_len.i62.i493.i, align 8, !tbaa !18 %cmp27.i63.i494.i = icmp ult i64 %373, %378 br i1 %cmp27.i63.i494.i, label %if.then28.i64.i495.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i481.i if.then28.i64.i495.i: ; preds = %if.else.i61.i492.i %sub.i65.i496.i = sub i64 %378, %373 %spec.select.i67.i497.i = call i64 @llvm.umin.i64(i64 %sub.i65.i496.i, i64 %cond.i6.i.i469.i) %379 = load ptr, ptr %371, align 8, !tbaa !15 %add.ptr.i68.i498.i = getelementptr inbounds i8, ptr %379, i64 %373 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i68.i498.i, ptr nonnull align 1 %mini_buff.i451.i, i64 %spec.select.i67.i497.i, i1 false), !alias.scope !177 %380 = load i64, ptr %buff_cur26.i43.i473.i, align 8, !tbaa !19 %add.i69.i499.i = add i64 %380, %spec.select.i67.i497.i br label %return.sink.split.i59.i490.i return.sink.split.i59.i490.i: ; preds = %if.then28.i64.i495.i, %if.then12.i55.i486.i, %if.end9.i52.i484.i %add.sink.i60.i491.i = phi i64 [ %add.i69.i499.i, %if.then28.i64.i495.i ], [ 0, %if.then12.i55.i486.i ], [ 0, %if.end9.i52.i484.i ] store i64 %add.sink.i60.i491.i, ptr %buff_cur26.i43.i473.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i481.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i481.i: ; preds = %return.sink.split.i59.i490.i, %if.else.i61.i492.i, %if.then12.i55.i486.i, %if.then3.i46.i476.i %retval.3.i51.i482.i = phi i32 [ %call.i49.i479.i, %if.then3.i46.i476.i ], [ %call17.i57.i488.i, %if.then12.i55.i486.i ], [ 0, %if.else.i61.i492.i ], [ 0, %return.sink.split.i59.i490.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1939.i448.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i40.i447.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit531.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit531.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i481.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i510.i %retval.2.i483.i = phi i32 [ %retval.3.i51.i482.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i481.i ], [ %retval.3.i.i511.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i510.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %mini_buff.i451.i) #18 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit413.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit413.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit531.i, %if.then.i406.i.i %retval.0.i410.i.i = phi i32 [ 0, %if.then.i406.i.i ], [ %retval.2.i483.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit531.i ] %cmp169.i.i = icmp sgt i32 %retval.0.i410.i.i, -1 br i1 %cmp169.i.i, label %if.end227.i.i, label %cleanup228.i.i if.else176.i.i: ; preds = %if.end126.i.i %cmp177.i.i = icmp sgt i32 %spaces.1.i.i, 0 br i1 %cmp177.i.i, label %if.then178.i.i, label %if.end188.i.i if.then178.i.i: ; preds = %if.else176.i.i %conv180.i.i = zext nneg i32 %spaces.1.i.i to i64 %381 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i416.i.i = add nsw i32 %381, %spaces.1.i.i store i32 %add.i416.i.i, ptr %chars_written.i, align 8, !tbaa !25 %382 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i417.i.i = getelementptr inbounds i8, ptr %382, i64 16 %383 = load i64, ptr %buff_cur.i417.i.i, align 8, !tbaa !19 %add2.i418.i.i = add i64 %383, %conv180.i.i %buff_len.i419.i.i = getelementptr inbounds i8, ptr %382, i64 8 %384 = load i64, ptr %buff_len.i419.i.i, align 8, !tbaa !18 %cmp.not.i420.i.i = icmp ugt i64 %add2.i418.i.i, %384 br i1 %cmp.not.i420.i.i, label %if.end.i426.i.i, label %if.then.i421.i.i if.then.i421.i.i: ; preds = %if.then178.i.i %385 = load ptr, ptr %382, align 8, !tbaa !15 %add.ptr.i422.i.i = getelementptr inbounds i8, ptr %385, i64 %383 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i422.i.i, i8 32, i64 %conv180.i.i, i1 false) %386 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur8.i423.i.i = getelementptr inbounds i8, ptr %386, i64 16 %387 = load i64, ptr %buff_cur8.i423.i.i, align 8, !tbaa !19 %add9.i424.i.i = add i64 %387, %conv180.i.i store i64 %add9.i424.i.i, ptr %buff_cur8.i423.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.i if.end.i426.i.i: ; preds = %if.then178.i.i %sub.i539.i = sub i64 %384, %383 %cmp.not.i540.i = icmp eq i64 %sub.i539.i, 0 br i1 %cmp.not.i540.i, label %if.end.i545.i, label %if.then.i541.i if.then.i541.i: ; preds = %if.end.i426.i.i %388 = load ptr, ptr %382, align 8, !tbaa !15 %add.ptr.i542.i = getelementptr inbounds i8, ptr %388, i64 %383 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i542.i, i8 32, i64 %sub.i539.i, i1 false) %389 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur7.i543.i = getelementptr inbounds i8, ptr %389, i64 16 %390 = load i64, ptr %buff_cur7.i543.i, align 8, !tbaa !19 %add.i544.i = add i64 %390, %sub.i539.i store i64 %add.i544.i, ptr %buff_cur7.i543.i, align 8, !tbaa !19 br label %if.end.i545.i if.end.i545.i: ; preds = %if.then.i541.i, %if.end.i426.i.i call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %mini_buff.i536.i) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %mini_buff.i536.i, i8 32, i64 64, i1 false) br label %while.cond.i548.i while.cond.i548.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i595.i, %if.end.i545.i %written.1.i549.i = phi i64 [ %sub.i539.i, %if.end.i545.i ], [ %add9.i550.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i595.i ] %add9.i550.i = add i64 %written.1.i549.i, 64 %cmp10.i551.i = icmp ult i64 %add9.i550.i, %conv180.i.i br i1 %cmp10.i551.i, label %while.body.i585.i, label %while.end.i552.i while.body.i585.i: ; preds = %while.cond.i548.i %391 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp35.i535.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i534.i) store ptr %mini_buff.i536.i, ptr %agg.tmp35.i535.i, align 8 store i64 64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i546.i, align 8 %stream_writer.i.i586.i = getelementptr inbounds i8, ptr %391, i64 24 %392 = load ptr, ptr %stream_writer.i.i586.i, align 8, !tbaa !20 %cmp.not.i.i587.i = icmp eq ptr %392, null %buff_cur26.i.i588.i = getelementptr inbounds i8, ptr %391, i64 16 %393 = load i64, ptr %buff_cur26.i.i588.i, align 8, !tbaa !19 br i1 %cmp.not.i.i587.i, label %if.else.i.i608.i, label %if.then.i.i589.i if.then.i.i589.i: ; preds = %while.body.i585.i %cmp2.not.i.i590.i = icmp eq i64 %393, 0 br i1 %cmp2.not.i.i590.i, label %if.end9.i.i600.i, label %if.then3.i.i591.i if.then3.i.i591.i: ; preds = %if.then.i.i589.i %394 = load ptr, ptr %391, align 8, !tbaa !15 store ptr %394, ptr %agg.tmp.i.i534.i, align 8, !tbaa !91 store i64 %393, ptr %Len.i.i.i.i547.i, align 8, !tbaa !93 %output_target.i.i592.i = getelementptr inbounds i8, ptr %391, i64 32 %395 = load ptr, ptr %output_target.i.i592.i, align 8, !tbaa !21 %call.i.i593.i = call noundef i32 %392(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i534.i, ptr noundef %395) #19 %cmp7.i.i594.i = icmp sgt i32 %call.i.i593.i, -1 br i1 %cmp7.i.i594.i, label %if.then3.i.if.end9.i_crit_edge.i598.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i595.i if.then3.i.if.end9.i_crit_edge.i598.i: ; preds = %if.then3.i.i591.i %.pre.i599.i = load i64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i546.i, align 8, !tbaa !93 br label %if.end9.i.i600.i if.end9.i.i600.i: ; preds = %if.then3.i.if.end9.i_crit_edge.i598.i, %if.then.i.i589.i %396 = phi i64 [ %.pre.i599.i, %if.then3.i.if.end9.i_crit_edge.i598.i ], [ 64, %if.then.i.i589.i ] %cmp11.not.i.i601.i = icmp eq i64 %396, 0 br i1 %cmp11.not.i.i601.i, label %return.sink.split.i.i606.i, label %if.then12.i.i602.i if.then12.i.i602.i: ; preds = %if.end9.i.i600.i %397 = load ptr, ptr %stream_writer.i.i586.i, align 8, !tbaa !20 %output_target16.i.i603.i = getelementptr inbounds i8, ptr %391, i64 32 %398 = load ptr, ptr %output_target16.i.i603.i, align 8, !tbaa !21 %call17.i.i604.i = call noundef i32 %397(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp35.i535.i, ptr noundef %398) #19 %cmp18.i.i605.i = icmp sgt i32 %call17.i.i604.i, -1 br i1 %cmp18.i.i605.i, label %return.sink.split.i.i606.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i595.i if.else.i.i608.i: ; preds = %while.body.i585.i %buff_len.i.i609.i = getelementptr inbounds i8, ptr %391, i64 8 %399 = load i64, ptr %buff_len.i.i609.i, align 8, !tbaa !18 %cmp27.i.i610.i = icmp ult i64 %393, %399 br i1 %cmp27.i.i610.i, label %if.then28.i.i611.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i595.i if.then28.i.i611.i: ; preds = %if.else.i.i608.i %sub.i.i612.i = sub i64 %399, %393 %spec.select.i.i613.i = call i64 @llvm.umin.i64(i64 %sub.i.i612.i, i64 64) %400 = load ptr, ptr %391, align 8, !tbaa !15 %add.ptr.i.i614.i = getelementptr inbounds i8, ptr %400, i64 %393 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i614.i, ptr nonnull align 1 %mini_buff.i536.i, i64 %spec.select.i.i613.i, i1 false), !alias.scope !181 %401 = load i64, ptr %buff_cur26.i.i588.i, align 8, !tbaa !19 %add.i.i615.i = add i64 %401, %spec.select.i.i613.i br label %return.sink.split.i.i606.i return.sink.split.i.i606.i: ; preds = %if.then28.i.i611.i, %if.then12.i.i602.i, %if.end9.i.i600.i %add.sink.i.i607.i = phi i64 [ %add.i.i615.i, %if.then28.i.i611.i ], [ 0, %if.then12.i.i602.i ], [ 0, %if.end9.i.i600.i ] store i64 %add.sink.i.i607.i, ptr %buff_cur26.i.i588.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i595.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i595.i: ; preds = %return.sink.split.i.i606.i, %if.else.i.i608.i, %if.then12.i.i602.i, %if.then3.i.i591.i %retval.3.i.i596.i = phi i32 [ %call.i.i593.i, %if.then3.i.i591.i ], [ %call17.i.i604.i, %if.then12.i.i602.i ], [ 0, %if.else.i.i608.i ], [ 0, %return.sink.split.i.i606.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp35.i535.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i534.i) %cmp12.not.i597.i = icmp eq i32 %retval.3.i.i596.i, 0 br i1 %cmp12.not.i597.i, label %while.cond.i548.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit616.i, !llvm.loop !102 while.end.i552.i: ; preds = %while.cond.i548.i %written.1.i549.i.lcssa = phi i64 [ %written.1.i549.i, %while.cond.i548.i ] %sub16.i553.i = sub i64 %conv180.i.i, %written.1.i549.i.lcssa %cond.i6.i.i554.i = call noundef i64 @llvm.umin.i64(i64 %sub16.i553.i, i64 64) %402 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1939.i533.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i40.i532.i) store ptr %mini_buff.i536.i, ptr %agg.tmp1939.i533.i, align 8 store i64 %cond.i6.i.i554.i, ptr %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i555.i, align 8 %stream_writer.i41.i556.i = getelementptr inbounds i8, ptr %402, i64 24 %403 = load ptr, ptr %stream_writer.i41.i556.i, align 8, !tbaa !20 %cmp.not.i42.i557.i = icmp eq ptr %403, null %buff_cur26.i43.i558.i = getelementptr inbounds i8, ptr %402, i64 16 %404 = load i64, ptr %buff_cur26.i43.i558.i, align 8, !tbaa !19 br i1 %cmp.not.i42.i557.i, label %if.else.i61.i577.i, label %if.then.i44.i559.i if.then.i44.i559.i: ; preds = %while.end.i552.i %cmp2.not.i45.i560.i = icmp eq i64 %404, 0 br i1 %cmp2.not.i45.i560.i, label %if.end9.i52.i569.i, label %if.then3.i46.i561.i if.then3.i46.i561.i: ; preds = %if.then.i44.i559.i %405 = load ptr, ptr %402, align 8, !tbaa !15 store ptr %405, ptr %agg.tmp.i40.i532.i, align 8, !tbaa !91 store i64 %404, ptr %Len.i.i.i47.i562.i, align 8, !tbaa !93 %output_target.i48.i563.i = getelementptr inbounds i8, ptr %402, i64 32 %406 = load ptr, ptr %output_target.i48.i563.i, align 8, !tbaa !21 %call.i49.i564.i = call noundef i32 %403(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i40.i532.i, ptr noundef %406) #19 %cmp7.i50.i565.i = icmp sgt i32 %call.i49.i564.i, -1 br i1 %cmp7.i50.i565.i, label %if.end9.i52.i569.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i566.i if.end9.i52.i569.i: ; preds = %if.then3.i46.i561.i, %if.then.i44.i559.i %cmp11.not.i54.i570.i = icmp eq i64 %written.1.i549.i.lcssa, %conv180.i.i br i1 %cmp11.not.i54.i570.i, label %return.sink.split.i59.i575.i, label %if.then12.i55.i571.i if.then12.i55.i571.i: ; preds = %if.end9.i52.i569.i %407 = load ptr, ptr %stream_writer.i41.i556.i, align 8, !tbaa !20 %output_target16.i56.i572.i = getelementptr inbounds i8, ptr %402, i64 32 %408 = load ptr, ptr %output_target16.i56.i572.i, align 8, !tbaa !21 %call17.i57.i573.i = call noundef i32 %407(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp1939.i533.i, ptr noundef %408) #19 %cmp18.i58.i574.i = icmp sgt i32 %call17.i57.i573.i, -1 br i1 %cmp18.i58.i574.i, label %return.sink.split.i59.i575.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i566.i if.else.i61.i577.i: ; preds = %while.end.i552.i %buff_len.i62.i578.i = getelementptr inbounds i8, ptr %402, i64 8 %409 = load i64, ptr %buff_len.i62.i578.i, align 8, !tbaa !18 %cmp27.i63.i579.i = icmp ult i64 %404, %409 br i1 %cmp27.i63.i579.i, label %if.then28.i64.i580.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i566.i if.then28.i64.i580.i: ; preds = %if.else.i61.i577.i %sub.i65.i581.i = sub i64 %409, %404 %spec.select.i67.i582.i = call i64 @llvm.umin.i64(i64 %sub.i65.i581.i, i64 %cond.i6.i.i554.i) %410 = load ptr, ptr %402, align 8, !tbaa !15 %add.ptr.i68.i583.i = getelementptr inbounds i8, ptr %410, i64 %404 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i68.i583.i, ptr nonnull align 1 %mini_buff.i536.i, i64 %spec.select.i67.i582.i, i1 false), !alias.scope !185 %411 = load i64, ptr %buff_cur26.i43.i558.i, align 8, !tbaa !19 %add.i69.i584.i = add i64 %411, %spec.select.i67.i582.i br label %return.sink.split.i59.i575.i return.sink.split.i59.i575.i: ; preds = %if.then28.i64.i580.i, %if.then12.i55.i571.i, %if.end9.i52.i569.i %add.sink.i60.i576.i = phi i64 [ %add.i69.i584.i, %if.then28.i64.i580.i ], [ 0, %if.then12.i55.i571.i ], [ 0, %if.end9.i52.i569.i ] store i64 %add.sink.i60.i576.i, ptr %buff_cur26.i43.i558.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i566.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i566.i: ; preds = %return.sink.split.i59.i575.i, %if.else.i61.i577.i, %if.then12.i55.i571.i, %if.then3.i46.i561.i %retval.3.i51.i567.i = phi i32 [ %call.i49.i564.i, %if.then3.i46.i561.i ], [ %call17.i57.i573.i, %if.then12.i55.i571.i ], [ 0, %if.else.i61.i577.i ], [ 0, %return.sink.split.i59.i575.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1939.i533.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i40.i532.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit616.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit616.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i566.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i595.i %retval.2.i568.i = phi i32 [ %retval.3.i51.i567.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i566.i ], [ %retval.3.i.i596.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i595.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %mini_buff.i536.i) #18 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit616.i, %if.then.i421.i.i %retval.0.i425.i.i = phi i32 [ 0, %if.then.i421.i.i ], [ %retval.2.i568.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit616.i ] %cmp182.i.i = icmp sgt i32 %retval.0.i425.i.i, -1 br i1 %cmp182.i.i, label %if.end188.i.i, label %cleanup228.i.i if.end188.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.i, %if.else176.i.i %cmp189.not.i.i = icmp eq i64 %280, 0 br i1 %cmp189.not.i.i, label %if.end201.i.i, label %if.then190.i.i if.then190.i.i: ; preds = %if.end188.i.i %conv.i434.i.i = trunc nuw nsw i64 %280 to i32 %412 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i436.i.i = add nsw i32 %412, %conv.i434.i.i store i32 %add.i436.i.i, ptr %chars_written.i, align 8, !tbaa !25 %413 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i437.i.i = getelementptr inbounds i8, ptr %413, i64 16 %414 = load i64, ptr %buff_cur.i437.i.i, align 8, !tbaa !19 %add3.i438.i.i = add i64 %414, %280 %buff_len.i439.i.i = getelementptr inbounds i8, ptr %413, i64 8 %415 = load i64, ptr %buff_len.i439.i.i, align 8, !tbaa !18 %cmp.not.i440.i.i = icmp ugt i64 %add3.i438.i.i, %415 br i1 %cmp.not.i440.i.i, label %if.end.i446.i.i, label %if.then.i441.i.i if.then.i441.i.i: ; preds = %if.then190.i.i %416 = load ptr, ptr %413, align 8, !tbaa !15 %add.ptr.i442.i.i = getelementptr inbounds i8, ptr %416, i64 %414 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i442.i.i, ptr nonnull align 1 %prefix.i.i, i64 %280, i1 false), !alias.scope !189 %417 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur13.i443.i.i = getelementptr inbounds i8, ptr %417, i64 16 %418 = load i64, ptr %buff_cur13.i443.i.i, align 8, !tbaa !19 %add14.i444.i.i = add i64 %418, %280 store i64 %add14.i444.i.i, ptr %buff_cur13.i443.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit475.i.i if.end.i446.i.i: ; preds = %if.then190.i.i call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp20.i432.i.i) store ptr %prefix.i.i, ptr %agg.tmp20.i432.i.i, align 8 store i64 %280, ptr %agg.tmp192430.sroa.5.0.agg.tmp20.i432.sroa_idx.i.i, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i431.i.i) %stream_writer.i.i447.i.i = getelementptr inbounds i8, ptr %413, i64 24 %419 = load ptr, ptr %stream_writer.i.i447.i.i, align 8, !tbaa !20 %cmp.not.i.i448.i.i = icmp eq ptr %419, null br i1 %cmp.not.i.i448.i.i, label %if.else.i.i467.i.i, label %if.then.i.i449.i.i if.then.i.i449.i.i: ; preds = %if.end.i446.i.i %cmp2.not.i.i450.i.i = icmp eq i64 %414, 0 br i1 %cmp2.not.i.i450.i.i, label %if.then12.i.i461.i.i, label %if.then3.i.i451.i.i if.then3.i.i451.i.i: ; preds = %if.then.i.i449.i.i %420 = load ptr, ptr %413, align 8, !tbaa !15 store ptr %420, ptr %agg.tmp.i.i431.i.i, align 8, !tbaa !91 store i64 %414, ptr %Len.i.i.i.i452.i.i, align 8, !tbaa !93 %output_target.i.i453.i.i = getelementptr inbounds i8, ptr %413, i64 32 %421 = load ptr, ptr %output_target.i.i453.i.i, align 8, !tbaa !21 %call.i.i454.i.i = call noundef i32 %419(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i431.i.i, ptr noundef %421) #19 %cmp7.i.i455.i.i = icmp sgt i32 %call.i.i454.i.i, -1 br i1 %cmp7.i.i455.i.i, label %if.then3.i.i451.i.if.then12.i.i461.i_crit_edge.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i456.i.i if.then3.i.i451.i.if.then12.i.i461.i_crit_edge.i: ; preds = %if.then3.i.i451.i.i %.pre248.i = load ptr, ptr %stream_writer.i.i447.i.i, align 8, !tbaa !20 br label %if.then12.i.i461.i.i if.then12.i.i461.i.i: ; preds = %if.then3.i.i451.i.if.then12.i.i461.i_crit_edge.i, %if.then.i.i449.i.i %422 = phi ptr [ %.pre248.i, %if.then3.i.i451.i.if.then12.i.i461.i_crit_edge.i ], [ %419, %if.then.i.i449.i.i ] %output_target16.i.i462.i.i = getelementptr inbounds i8, ptr %413, i64 32 %423 = load ptr, ptr %output_target16.i.i462.i.i, align 8, !tbaa !21 %call17.i.i463.i.i = call noundef i32 %422(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp20.i432.i.i, ptr noundef %423) #19 %cmp18.i.i464.i.i = icmp sgt i32 %call17.i.i463.i.i, -1 br i1 %cmp18.i.i464.i.i, label %return.sink.split.i.i465.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i456.i.i if.else.i.i467.i.i: ; preds = %if.end.i446.i.i %cmp27.i.i468.i.i = icmp ult i64 %414, %415 br i1 %cmp27.i.i468.i.i, label %if.then28.i.i469.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i456.i.i if.then28.i.i469.i.i: ; preds = %if.else.i.i467.i.i %sub.i.i470.i.i = sub i64 %415, %414 %spec.select.i.i472.i.i = call i64 @llvm.umin.i64(i64 %sub.i.i470.i.i, i64 %280) %424 = load ptr, ptr %413, align 8, !tbaa !15 %add.ptr.i.i473.i.i = getelementptr inbounds i8, ptr %424, i64 %414 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i473.i.i, ptr nonnull align 1 %prefix.i.i, i64 %spec.select.i.i472.i.i, i1 false), !alias.scope !193 %425 = load i64, ptr %buff_cur.i437.i.i, align 8, !tbaa !19 %add.i.i474.i.i = add i64 %425, %spec.select.i.i472.i.i br label %return.sink.split.i.i465.i.i return.sink.split.i.i465.i.i: ; preds = %if.then28.i.i469.i.i, %if.then12.i.i461.i.i %add.sink.i.i466.i.i = phi i64 [ %add.i.i474.i.i, %if.then28.i.i469.i.i ], [ 0, %if.then12.i.i461.i.i ] store i64 %add.sink.i.i466.i.i, ptr %buff_cur.i437.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i456.i.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i456.i.i: ; preds = %return.sink.split.i.i465.i.i, %if.else.i.i467.i.i, %if.then12.i.i461.i.i, %if.then3.i.i451.i.i %retval.3.i.i457.i.i = phi i32 [ %call.i.i454.i.i, %if.then3.i.i451.i.i ], [ %call17.i.i463.i.i, %if.then12.i.i461.i.i ], [ 0, %if.else.i.i467.i.i ], [ 0, %return.sink.split.i.i465.i.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp20.i432.i.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i431.i.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit475.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit475.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i456.i.i, %if.then.i441.i.i %retval.0.i445.i.i = phi i32 [ 0, %if.then.i441.i.i ], [ %retval.3.i.i457.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i456.i.i ] %cmp195.i.i = icmp sgt i32 %retval.0.i445.i.i, -1 br i1 %cmp195.i.i, label %if.end201.i.i, label %cleanup228.i.i if.end201.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit475.i.i, %if.end188.i.i %cmp202.i.i = icmp sgt i32 %zeroes.1.i.i, 0 br i1 %cmp202.i.i, label %if.then203.i.i, label %if.end213.i.i if.then203.i.i: ; preds = %if.end201.i.i %conv205.i.i = zext nneg i32 %zeroes.1.i.i to i64 %426 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i478.i.i = add nsw i32 %426, %zeroes.1.i.i store i32 %add.i478.i.i, ptr %chars_written.i, align 8, !tbaa !25 %427 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i479.i.i = getelementptr inbounds i8, ptr %427, i64 16 %428 = load i64, ptr %buff_cur.i479.i.i, align 8, !tbaa !19 %add2.i480.i.i = add i64 %428, %conv205.i.i %buff_len.i481.i.i = getelementptr inbounds i8, ptr %427, i64 8 %429 = load i64, ptr %buff_len.i481.i.i, align 8, !tbaa !18 %cmp.not.i482.i.i = icmp ugt i64 %add2.i480.i.i, %429 br i1 %cmp.not.i482.i.i, label %if.end.i488.i.i, label %if.then.i483.i.i if.then.i483.i.i: ; preds = %if.then203.i.i %430 = load ptr, ptr %427, align 8, !tbaa !15 %add.ptr.i484.i.i = getelementptr inbounds i8, ptr %430, i64 %428 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i484.i.i, i8 48, i64 %conv205.i.i, i1 false) %431 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur8.i485.i.i = getelementptr inbounds i8, ptr %431, i64 16 %432 = load i64, ptr %buff_cur8.i485.i.i, align 8, !tbaa !19 %add9.i486.i.i = add i64 %432, %conv205.i.i store i64 %add9.i486.i.i, ptr %buff_cur8.i485.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit490.i.i if.end.i488.i.i: ; preds = %if.then203.i.i %sub.i624.i = sub i64 %429, %428 %cmp.not.i625.i = icmp eq i64 %sub.i624.i, 0 br i1 %cmp.not.i625.i, label %if.end.i630.i, label %if.then.i626.i if.then.i626.i: ; preds = %if.end.i488.i.i %433 = load ptr, ptr %427, align 8, !tbaa !15 %add.ptr.i627.i = getelementptr inbounds i8, ptr %433, i64 %428 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i627.i, i8 48, i64 %sub.i624.i, i1 false) %434 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur7.i628.i = getelementptr inbounds i8, ptr %434, i64 16 %435 = load i64, ptr %buff_cur7.i628.i, align 8, !tbaa !19 %add.i629.i = add i64 %435, %sub.i624.i store i64 %add.i629.i, ptr %buff_cur7.i628.i, align 8, !tbaa !19 br label %if.end.i630.i if.end.i630.i: ; preds = %if.then.i626.i, %if.end.i488.i.i call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %mini_buff.i621.i) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %mini_buff.i621.i, i8 48, i64 64, i1 false) br label %while.cond.i633.i while.cond.i633.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i680.i, %if.end.i630.i %written.1.i634.i = phi i64 [ %sub.i624.i, %if.end.i630.i ], [ %add9.i635.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i680.i ] %add9.i635.i = add i64 %written.1.i634.i, 64 %cmp10.i636.i = icmp ult i64 %add9.i635.i, %conv205.i.i br i1 %cmp10.i636.i, label %while.body.i670.i, label %while.end.i637.i while.body.i670.i: ; preds = %while.cond.i633.i %436 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp35.i620.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i619.i) store ptr %mini_buff.i621.i, ptr %agg.tmp35.i620.i, align 8 store i64 64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i631.i, align 8 %stream_writer.i.i671.i = getelementptr inbounds i8, ptr %436, i64 24 %437 = load ptr, ptr %stream_writer.i.i671.i, align 8, !tbaa !20 %cmp.not.i.i672.i = icmp eq ptr %437, null %buff_cur26.i.i673.i = getelementptr inbounds i8, ptr %436, i64 16 %438 = load i64, ptr %buff_cur26.i.i673.i, align 8, !tbaa !19 br i1 %cmp.not.i.i672.i, label %if.else.i.i693.i, label %if.then.i.i674.i if.then.i.i674.i: ; preds = %while.body.i670.i %cmp2.not.i.i675.i = icmp eq i64 %438, 0 br i1 %cmp2.not.i.i675.i, label %if.end9.i.i685.i, label %if.then3.i.i676.i if.then3.i.i676.i: ; preds = %if.then.i.i674.i %439 = load ptr, ptr %436, align 8, !tbaa !15 store ptr %439, ptr %agg.tmp.i.i619.i, align 8, !tbaa !91 store i64 %438, ptr %Len.i.i.i.i632.i, align 8, !tbaa !93 %output_target.i.i677.i = getelementptr inbounds i8, ptr %436, i64 32 %440 = load ptr, ptr %output_target.i.i677.i, align 8, !tbaa !21 %call.i.i678.i = call noundef i32 %437(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i619.i, ptr noundef %440) #19 %cmp7.i.i679.i = icmp sgt i32 %call.i.i678.i, -1 br i1 %cmp7.i.i679.i, label %if.then3.i.if.end9.i_crit_edge.i683.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i680.i if.then3.i.if.end9.i_crit_edge.i683.i: ; preds = %if.then3.i.i676.i %.pre.i684.i = load i64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i631.i, align 8, !tbaa !93 br label %if.end9.i.i685.i if.end9.i.i685.i: ; preds = %if.then3.i.if.end9.i_crit_edge.i683.i, %if.then.i.i674.i %441 = phi i64 [ %.pre.i684.i, %if.then3.i.if.end9.i_crit_edge.i683.i ], [ 64, %if.then.i.i674.i ] %cmp11.not.i.i686.i = icmp eq i64 %441, 0 br i1 %cmp11.not.i.i686.i, label %return.sink.split.i.i691.i, label %if.then12.i.i687.i if.then12.i.i687.i: ; preds = %if.end9.i.i685.i %442 = load ptr, ptr %stream_writer.i.i671.i, align 8, !tbaa !20 %output_target16.i.i688.i = getelementptr inbounds i8, ptr %436, i64 32 %443 = load ptr, ptr %output_target16.i.i688.i, align 8, !tbaa !21 %call17.i.i689.i = call noundef i32 %442(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp35.i620.i, ptr noundef %443) #19 %cmp18.i.i690.i = icmp sgt i32 %call17.i.i689.i, -1 br i1 %cmp18.i.i690.i, label %return.sink.split.i.i691.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i680.i if.else.i.i693.i: ; preds = %while.body.i670.i %buff_len.i.i694.i = getelementptr inbounds i8, ptr %436, i64 8 %444 = load i64, ptr %buff_len.i.i694.i, align 8, !tbaa !18 %cmp27.i.i695.i = icmp ult i64 %438, %444 br i1 %cmp27.i.i695.i, label %if.then28.i.i696.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i680.i if.then28.i.i696.i: ; preds = %if.else.i.i693.i %sub.i.i697.i = sub i64 %444, %438 %spec.select.i.i698.i = call i64 @llvm.umin.i64(i64 %sub.i.i697.i, i64 64) %445 = load ptr, ptr %436, align 8, !tbaa !15 %add.ptr.i.i699.i = getelementptr inbounds i8, ptr %445, i64 %438 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i699.i, ptr nonnull align 1 %mini_buff.i621.i, i64 %spec.select.i.i698.i, i1 false), !alias.scope !197 %446 = load i64, ptr %buff_cur26.i.i673.i, align 8, !tbaa !19 %add.i.i700.i = add i64 %446, %spec.select.i.i698.i br label %return.sink.split.i.i691.i return.sink.split.i.i691.i: ; preds = %if.then28.i.i696.i, %if.then12.i.i687.i, %if.end9.i.i685.i %add.sink.i.i692.i = phi i64 [ %add.i.i700.i, %if.then28.i.i696.i ], [ 0, %if.then12.i.i687.i ], [ 0, %if.end9.i.i685.i ] store i64 %add.sink.i.i692.i, ptr %buff_cur26.i.i673.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i680.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i680.i: ; preds = %return.sink.split.i.i691.i, %if.else.i.i693.i, %if.then12.i.i687.i, %if.then3.i.i676.i %retval.3.i.i681.i = phi i32 [ %call.i.i678.i, %if.then3.i.i676.i ], [ %call17.i.i689.i, %if.then12.i.i687.i ], [ 0, %if.else.i.i693.i ], [ 0, %return.sink.split.i.i691.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp35.i620.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i619.i) %cmp12.not.i682.i = icmp eq i32 %retval.3.i.i681.i, 0 br i1 %cmp12.not.i682.i, label %while.cond.i633.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit701.i, !llvm.loop !102 while.end.i637.i: ; preds = %while.cond.i633.i %written.1.i634.i.lcssa = phi i64 [ %written.1.i634.i, %while.cond.i633.i ] %sub16.i638.i = sub i64 %conv205.i.i, %written.1.i634.i.lcssa %cond.i6.i.i639.i = call noundef i64 @llvm.umin.i64(i64 %sub16.i638.i, i64 64) %447 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1939.i618.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i40.i617.i) store ptr %mini_buff.i621.i, ptr %agg.tmp1939.i618.i, align 8 store i64 %cond.i6.i.i639.i, ptr %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i640.i, align 8 %stream_writer.i41.i641.i = getelementptr inbounds i8, ptr %447, i64 24 %448 = load ptr, ptr %stream_writer.i41.i641.i, align 8, !tbaa !20 %cmp.not.i42.i642.i = icmp eq ptr %448, null %buff_cur26.i43.i643.i = getelementptr inbounds i8, ptr %447, i64 16 %449 = load i64, ptr %buff_cur26.i43.i643.i, align 8, !tbaa !19 br i1 %cmp.not.i42.i642.i, label %if.else.i61.i662.i, label %if.then.i44.i644.i if.then.i44.i644.i: ; preds = %while.end.i637.i %cmp2.not.i45.i645.i = icmp eq i64 %449, 0 br i1 %cmp2.not.i45.i645.i, label %if.end9.i52.i654.i, label %if.then3.i46.i646.i if.then3.i46.i646.i: ; preds = %if.then.i44.i644.i %450 = load ptr, ptr %447, align 8, !tbaa !15 store ptr %450, ptr %agg.tmp.i40.i617.i, align 8, !tbaa !91 store i64 %449, ptr %Len.i.i.i47.i647.i, align 8, !tbaa !93 %output_target.i48.i648.i = getelementptr inbounds i8, ptr %447, i64 32 %451 = load ptr, ptr %output_target.i48.i648.i, align 8, !tbaa !21 %call.i49.i649.i = call noundef i32 %448(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i40.i617.i, ptr noundef %451) #19 %cmp7.i50.i650.i = icmp sgt i32 %call.i49.i649.i, -1 br i1 %cmp7.i50.i650.i, label %if.end9.i52.i654.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i651.i if.end9.i52.i654.i: ; preds = %if.then3.i46.i646.i, %if.then.i44.i644.i %cmp11.not.i54.i655.i = icmp eq i64 %written.1.i634.i.lcssa, %conv205.i.i br i1 %cmp11.not.i54.i655.i, label %return.sink.split.i59.i660.i, label %if.then12.i55.i656.i if.then12.i55.i656.i: ; preds = %if.end9.i52.i654.i %452 = load ptr, ptr %stream_writer.i41.i641.i, align 8, !tbaa !20 %output_target16.i56.i657.i = getelementptr inbounds i8, ptr %447, i64 32 %453 = load ptr, ptr %output_target16.i56.i657.i, align 8, !tbaa !21 %call17.i57.i658.i = call noundef i32 %452(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp1939.i618.i, ptr noundef %453) #19 %cmp18.i58.i659.i = icmp sgt i32 %call17.i57.i658.i, -1 br i1 %cmp18.i58.i659.i, label %return.sink.split.i59.i660.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i651.i if.else.i61.i662.i: ; preds = %while.end.i637.i %buff_len.i62.i663.i = getelementptr inbounds i8, ptr %447, i64 8 %454 = load i64, ptr %buff_len.i62.i663.i, align 8, !tbaa !18 %cmp27.i63.i664.i = icmp ult i64 %449, %454 br i1 %cmp27.i63.i664.i, label %if.then28.i64.i665.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i651.i if.then28.i64.i665.i: ; preds = %if.else.i61.i662.i %sub.i65.i666.i = sub i64 %454, %449 %spec.select.i67.i667.i = call i64 @llvm.umin.i64(i64 %sub.i65.i666.i, i64 %cond.i6.i.i639.i) %455 = load ptr, ptr %447, align 8, !tbaa !15 %add.ptr.i68.i668.i = getelementptr inbounds i8, ptr %455, i64 %449 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i68.i668.i, ptr nonnull align 1 %mini_buff.i621.i, i64 %spec.select.i67.i667.i, i1 false), !alias.scope !201 %456 = load i64, ptr %buff_cur26.i43.i643.i, align 8, !tbaa !19 %add.i69.i669.i = add i64 %456, %spec.select.i67.i667.i br label %return.sink.split.i59.i660.i return.sink.split.i59.i660.i: ; preds = %if.then28.i64.i665.i, %if.then12.i55.i656.i, %if.end9.i52.i654.i %add.sink.i60.i661.i = phi i64 [ %add.i69.i669.i, %if.then28.i64.i665.i ], [ 0, %if.then12.i55.i656.i ], [ 0, %if.end9.i52.i654.i ] store i64 %add.sink.i60.i661.i, ptr %buff_cur26.i43.i643.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i651.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i651.i: ; preds = %return.sink.split.i59.i660.i, %if.else.i61.i662.i, %if.then12.i55.i656.i, %if.then3.i46.i646.i %retval.3.i51.i652.i = phi i32 [ %call.i49.i649.i, %if.then3.i46.i646.i ], [ %call17.i57.i658.i, %if.then12.i55.i656.i ], [ 0, %if.else.i61.i662.i ], [ 0, %return.sink.split.i59.i660.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1939.i618.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i40.i617.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit701.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit701.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i651.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i680.i %retval.2.i653.i = phi i32 [ %retval.3.i51.i652.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i651.i ], [ %retval.3.i.i681.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i680.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %mini_buff.i621.i) #18 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit490.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit490.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit701.i, %if.then.i483.i.i %retval.0.i487.i.i = phi i32 [ 0, %if.then.i483.i.i ], [ %retval.2.i653.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit701.i ] %cmp207.i.i = icmp sgt i32 %retval.0.i487.i.i, -1 br i1 %cmp207.i.i, label %if.end213.i.i, label %cleanup228.i.i if.end213.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit490.i.i, %if.end201.i.i %cmp214.not.i.i = icmp eq i64 %digits_written.1.i.i, 0 br i1 %cmp214.not.i.i, label %if.end227.i.i, label %if.then215.i.i if.then215.i.i: ; preds = %if.end213.i.i %conv.i495.i.i = trunc i64 %276 to i32 %457 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i497.i.i = add nsw i32 %457, %conv.i495.i.i store i32 %add.i497.i.i, ptr %chars_written.i, align 8, !tbaa !25 %458 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i498.i.i = getelementptr inbounds i8, ptr %458, i64 16 %459 = load i64, ptr %buff_cur.i498.i.i, align 8, !tbaa !19 %add3.i499.i.i = add i64 %459, %276 %buff_len.i500.i.i = getelementptr inbounds i8, ptr %458, i64 8 %460 = load i64, ptr %buff_len.i500.i.i, align 8, !tbaa !18 %cmp.not.i501.i.i = icmp ugt i64 %add3.i499.i.i, %460 br i1 %cmp.not.i501.i.i, label %if.end.i507.i.i, label %if.then.i502.i.i if.then.i502.i.i: ; preds = %if.then215.i.i %461 = load ptr, ptr %458, align 8, !tbaa !15 %add.ptr.i503.i.i = getelementptr inbounds i8, ptr %461, i64 %459 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i503.i.i, ptr nonnull align 1 %add.ptr4.i301.i.i.i, i64 %276, i1 false), !alias.scope !205 %462 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur13.i504.i.i = getelementptr inbounds i8, ptr %462, i64 16 %463 = load i64, ptr %buff_cur13.i504.i.i, align 8, !tbaa !19 %add14.i505.i.i = add i64 %463, %276 store i64 %add14.i505.i.i, ptr %buff_cur13.i504.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit536.i.i if.end.i507.i.i: ; preds = %if.then215.i.i call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp20.i493.i.i) store ptr %add.ptr4.i301.i.i.i, ptr %agg.tmp20.i493.i.i, align 8 store i64 %276, ptr %agg.tmp217491.sroa.5.0.agg.tmp20.i493.sroa_idx.i.i, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i492.i.i) %stream_writer.i.i508.i.i = getelementptr inbounds i8, ptr %458, i64 24 %464 = load ptr, ptr %stream_writer.i.i508.i.i, align 8, !tbaa !20 %cmp.not.i.i509.i.i = icmp eq ptr %464, null br i1 %cmp.not.i.i509.i.i, label %if.else.i.i528.i.i, label %if.then.i.i510.i.i if.then.i.i510.i.i: ; preds = %if.end.i507.i.i %cmp2.not.i.i511.i.i = icmp eq i64 %459, 0 br i1 %cmp2.not.i.i511.i.i, label %if.end9.i.i519.i.i, label %if.then3.i.i512.i.i if.then3.i.i512.i.i: ; preds = %if.then.i.i510.i.i %465 = load ptr, ptr %458, align 8, !tbaa !15 store ptr %465, ptr %agg.tmp.i.i492.i.i, align 8, !tbaa !91 store i64 %459, ptr %Len.i.i.i.i513.i.i, align 8, !tbaa !93 %output_target.i.i514.i.i = getelementptr inbounds i8, ptr %458, i64 32 %466 = load ptr, ptr %output_target.i.i514.i.i, align 8, !tbaa !21 %call.i.i515.i.i = call noundef i32 %464(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i492.i.i, ptr noundef %466) #19 %cmp7.i.i516.i.i = icmp sgt i32 %call.i.i515.i.i, -1 br i1 %cmp7.i.i516.i.i, label %if.end9.i.i519.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i517.i.i if.end9.i.i519.i.i: ; preds = %if.then3.i.i512.i.i, %if.then.i.i510.i.i %cmp11.not.i.i521.i.i = icmp eq i64 %276, 0 br i1 %cmp11.not.i.i521.i.i, label %return.sink.split.i.i526.i.i, label %if.then12.i.i522.i.i if.then12.i.i522.i.i: ; preds = %if.end9.i.i519.i.i %467 = load ptr, ptr %stream_writer.i.i508.i.i, align 8, !tbaa !20 %output_target16.i.i523.i.i = getelementptr inbounds i8, ptr %458, i64 32 %468 = load ptr, ptr %output_target16.i.i523.i.i, align 8, !tbaa !21 %call17.i.i524.i.i = call noundef i32 %467(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp20.i493.i.i, ptr noundef %468) #19 %cmp18.i.i525.i.i = icmp sgt i32 %call17.i.i524.i.i, -1 br i1 %cmp18.i.i525.i.i, label %return.sink.split.i.i526.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i517.i.i if.else.i.i528.i.i: ; preds = %if.end.i507.i.i %cmp27.i.i529.i.i = icmp ult i64 %459, %460 br i1 %cmp27.i.i529.i.i, label %if.then28.i.i530.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i517.i.i if.then28.i.i530.i.i: ; preds = %if.else.i.i528.i.i %sub.i.i531.i.i = sub i64 %460, %459 %spec.select.i.i533.i.i = call i64 @llvm.umin.i64(i64 %sub.i.i531.i.i, i64 %276) %469 = load ptr, ptr %458, align 8, !tbaa !15 %add.ptr.i.i534.i.i = getelementptr inbounds i8, ptr %469, i64 %459 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i534.i.i, ptr nonnull align 1 %add.ptr4.i301.i.i.i, i64 %spec.select.i.i533.i.i, i1 false), !alias.scope !209 %470 = load i64, ptr %buff_cur.i498.i.i, align 8, !tbaa !19 %add.i.i535.i.i = add i64 %470, %spec.select.i.i533.i.i br label %return.sink.split.i.i526.i.i return.sink.split.i.i526.i.i: ; preds = %if.then28.i.i530.i.i, %if.then12.i.i522.i.i, %if.end9.i.i519.i.i %add.sink.i.i527.i.i = phi i64 [ %add.i.i535.i.i, %if.then28.i.i530.i.i ], [ 0, %if.then12.i.i522.i.i ], [ 0, %if.end9.i.i519.i.i ] store i64 %add.sink.i.i527.i.i, ptr %buff_cur.i498.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i517.i.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i517.i.i: ; preds = %return.sink.split.i.i526.i.i, %if.else.i.i528.i.i, %if.then12.i.i522.i.i, %if.then3.i.i512.i.i %retval.3.i.i518.i.i = phi i32 [ %call.i.i515.i.i, %if.then3.i.i512.i.i ], [ %call17.i.i524.i.i, %if.then12.i.i522.i.i ], [ 0, %if.else.i.i528.i.i ], [ 0, %return.sink.split.i.i526.i.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp20.i493.i.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i492.i.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit536.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit536.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i517.i.i, %if.then.i502.i.i %retval.0.i506.i.i = phi i32 [ 0, %if.then.i502.i.i ], [ %retval.3.i.i518.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i517.i.i ] %cmp220.i.i = icmp sgt i32 %retval.0.i506.i.i, -1 br i1 %cmp220.i.i, label %if.end227.i.i, label %cleanup228.i.i if.end227.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit536.i.i, %if.end213.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit413.i.i, %if.end163.i.i br label %cleanup228.i.i cleanup228.i.i: ; preds = %if.end227.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit536.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit490.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit475.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit413.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit398.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i148.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i144.i %retval.14.i.i = phi i32 [ 0, %if.end227.i.i ], [ %retval.0.i410.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit413.i.i ], [ %retval.0.i368.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit398.i.i ], [ %retval.0.i351.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i148.i ], [ %retval.0.i341.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i144.i ], [ %retval.0.i506.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit536.i.i ], [ %retval.0.i487.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit490.i.i ], [ %retval.0.i445.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit475.i.i ], [ %retval.0.i425.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.i ] call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %prefix.i.i) #18 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11convert_intEPNS0_6WriterERKNS0_13FormatSectionE.exit.i _ZN22__llvm_libc_19_0_0_git11printf_core11convert_intEPNS0_6WriterERKNS0_13FormatSectionE.exit.i: ; preds = %cleanup228.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.i.i %retval.15.i.i = phi i32 [ %retval.14.i.i, %cleanup228.i.i ], [ -4, %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.i.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %buf.i.i) #18 br label %if.end sw.bb9.i: ; preds = %if.end.i9 %cmp.i178.i = icmp eq ptr %cur_section.sroa.58.0, null br i1 %cmp.i178.i, label %if.then.i184.i, label %if.end.i179.i if.then.i184.i: ; preds = %sw.bb9.i call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %NULLPTR_STR.i.i) #18 store <4 x i8> <i8 40, i8 110, i8 117, i8 108>, ptr %NULLPTR_STR.i.i, align 4 store <4 x i8> <i8 108, i8 112, i8 116, i8 114>, ptr %73, align 4 store i8 41, ptr %74, align 4 store i8 0, ptr %75, align 1 br label %for.cond.i.i.i for.cond.i.i.i: ; preds = %for.cond.i.i.i, %if.then.i184.i %string_len.0.i.i.i = phi i64 [ 0, %if.then.i184.i ], [ %inc.i.i.i10, %for.cond.i.i.i ] %arrayidx.i.i185.i = getelementptr inbounds i8, ptr %NULLPTR_STR.i.i, i64 %string_len.0.i.i.i %471 = load i8, ptr %arrayidx.i.i185.i, align 1, !tbaa !26 %tobool.not.i.i.i = icmp eq i8 %471, 0 %inc.i.i.i10 = add i64 %string_len.0.i.i.i, 1 br i1 %tobool.not.i.i.i, label %for.cond.cleanup.i.i.i, label %for.cond.i.i.i, !llvm.loop !119 for.cond.cleanup.i.i.i: ; preds = %for.cond.i.i.i %string_len.0.i.i.i.lcssa = phi i64 [ %string_len.0.i.i.i, %for.cond.i.i.i ] %conv.i.i186.i = zext nneg i32 %cur_section.sroa.49.0 to i64 %spec.select.i.i187.i = call i64 @llvm.umin.i64(i64 %string_len.0.i.i.i.lcssa, i64 %conv.i.i186.i) %cmp1103.i.i.i = icmp slt i32 %cur_section.sroa.49.0, 0 %string_len.1.i.i.i = select i1 %cmp1103.i.i.i, i64 %string_len.0.i.i.i.lcssa, i64 %spec.select.i.i187.i %conv8.i.i.i = trunc i64 %string_len.1.i.i.i to i32 %cmp9.i.i.i = icmp sgt i32 %cur_section.sroa.42.0, %conv8.i.i.i %conv11.i.i.i = zext nneg i32 %cur_section.sroa.42.0 to i64 %sub.i.i188.i = sub i64 %conv11.i.i.i, %string_len.1.i.i.i %cond.i.i.i11 = select i1 %cmp9.i.i.i, i64 %sub.i.i188.i, i64 0 %cmp12.not.i.i.i = icmp eq i64 %cond.i.i.i11, 0 %472 = and i8 %cur_section.sroa.22.0, 1 %cmp15.i.i189.i = icmp ne i8 %472, 0 %or.cond.not.i.i = select i1 %cmp12.not.i.i.i, i1 true, i1 %cmp15.i.i189.i %.pre80.i.i = load ptr, ptr %writer, align 8, !tbaa !22 %.pre90 = load i32, ptr %chars_written.i, align 8, !tbaa !25 br i1 %or.cond.not.i.i, label %if.end20.i.i.i, label %if.then16.i.i190.i if.then16.i.i190.i: ; preds = %for.cond.cleanup.i.i.i %conv.i.i.i.i = trunc i64 %cond.i.i.i11 to i32 %add.i.i.i191.i = add nsw i32 %.pre90, %conv.i.i.i.i store i32 %add.i.i.i191.i, ptr %chars_written.i, align 8, !tbaa !25 %buff_cur.i.i.i.i = getelementptr inbounds i8, ptr %.pre80.i.i, i64 16 %473 = load i64, ptr %buff_cur.i.i.i.i, align 8, !tbaa !19 %add2.i.i.i.i = add i64 %473, %cond.i.i.i11 %buff_len.i.i.i.i = getelementptr inbounds i8, ptr %.pre80.i.i, i64 8 %474 = load i64, ptr %buff_len.i.i.i.i, align 8, !tbaa !18 %cmp.not.i.i.i192.i = icmp ugt i64 %add2.i.i.i.i, %474 br i1 %cmp.not.i.i.i192.i, label %if.end.i.i.i.i, label %if.then.i.i.i193.i if.then.i.i.i193.i: ; preds = %if.then16.i.i190.i %475 = load ptr, ptr %.pre80.i.i, align 8, !tbaa !15 %add.ptr.i.i.i194.i = getelementptr inbounds i8, ptr %475, i64 %473 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i.i.i194.i, i8 32, i64 %cond.i.i.i11, i1 false) %476 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur8.i.i.i.i = getelementptr inbounds i8, ptr %476, i64 16 %477 = load i64, ptr %buff_cur8.i.i.i.i, align 8, !tbaa !19 %add9.i.i.i.i = add i64 %477, %cond.i.i.i11 store i64 %add9.i.i.i.i, ptr %buff_cur8.i.i.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.i.i if.end.i.i.i.i: ; preds = %if.then16.i.i190.i %sub.i709.i = sub i64 %474, %473 %cmp.not.i710.i = icmp eq i64 %sub.i709.i, 0 br i1 %cmp.not.i710.i, label %if.end.i715.i, label %if.then.i711.i if.then.i711.i: ; preds = %if.end.i.i.i.i %478 = load ptr, ptr %.pre80.i.i, align 8, !tbaa !15 %add.ptr.i712.i = getelementptr inbounds i8, ptr %478, i64 %473 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i712.i, i8 32, i64 %sub.i709.i, i1 false) %479 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur7.i713.i = getelementptr inbounds i8, ptr %479, i64 16 %480 = load i64, ptr %buff_cur7.i713.i, align 8, !tbaa !19 %add.i714.i = add i64 %480, %sub.i709.i store i64 %add.i714.i, ptr %buff_cur7.i713.i, align 8, !tbaa !19 br label %if.end.i715.i if.end.i715.i: ; preds = %if.then.i711.i, %if.end.i.i.i.i call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %mini_buff.i706.i) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %mini_buff.i706.i, i8 32, i64 64, i1 false) br label %while.cond.i718.i while.cond.i718.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i765.i, %if.end.i715.i %written.1.i719.i = phi i64 [ %sub.i709.i, %if.end.i715.i ], [ %add9.i720.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i765.i ] %add9.i720.i = add i64 %written.1.i719.i, 64 %cmp10.i721.i = icmp ult i64 %add9.i720.i, %cond.i.i.i11 br i1 %cmp10.i721.i, label %while.body.i755.i, label %while.end.i722.i while.body.i755.i: ; preds = %while.cond.i718.i %481 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp35.i705.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i704.i) store ptr %mini_buff.i706.i, ptr %agg.tmp35.i705.i, align 8 store i64 64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i716.i, align 8 %stream_writer.i.i756.i = getelementptr inbounds i8, ptr %481, i64 24 %482 = load ptr, ptr %stream_writer.i.i756.i, align 8, !tbaa !20 %cmp.not.i.i757.i = icmp eq ptr %482, null %buff_cur26.i.i758.i = getelementptr inbounds i8, ptr %481, i64 16 %483 = load i64, ptr %buff_cur26.i.i758.i, align 8, !tbaa !19 br i1 %cmp.not.i.i757.i, label %if.else.i.i778.i, label %if.then.i.i759.i if.then.i.i759.i: ; preds = %while.body.i755.i %cmp2.not.i.i760.i = icmp eq i64 %483, 0 br i1 %cmp2.not.i.i760.i, label %if.end9.i.i770.i, label %if.then3.i.i761.i if.then3.i.i761.i: ; preds = %if.then.i.i759.i %484 = load ptr, ptr %481, align 8, !tbaa !15 store ptr %484, ptr %agg.tmp.i.i704.i, align 8, !tbaa !91 store i64 %483, ptr %Len.i.i.i.i717.i, align 8, !tbaa !93 %output_target.i.i762.i = getelementptr inbounds i8, ptr %481, i64 32 %485 = load ptr, ptr %output_target.i.i762.i, align 8, !tbaa !21 %call.i.i763.i = call noundef i32 %482(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i704.i, ptr noundef %485) #19 %cmp7.i.i764.i = icmp sgt i32 %call.i.i763.i, -1 br i1 %cmp7.i.i764.i, label %if.then3.i.if.end9.i_crit_edge.i768.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i765.i if.then3.i.if.end9.i_crit_edge.i768.i: ; preds = %if.then3.i.i761.i %.pre.i769.i = load i64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i716.i, align 8, !tbaa !93 br label %if.end9.i.i770.i if.end9.i.i770.i: ; preds = %if.then3.i.if.end9.i_crit_edge.i768.i, %if.then.i.i759.i %486 = phi i64 [ %.pre.i769.i, %if.then3.i.if.end9.i_crit_edge.i768.i ], [ 64, %if.then.i.i759.i ] %cmp11.not.i.i771.i = icmp eq i64 %486, 0 br i1 %cmp11.not.i.i771.i, label %return.sink.split.i.i776.i, label %if.then12.i.i772.i if.then12.i.i772.i: ; preds = %if.end9.i.i770.i %487 = load ptr, ptr %stream_writer.i.i756.i, align 8, !tbaa !20 %output_target16.i.i773.i = getelementptr inbounds i8, ptr %481, i64 32 %488 = load ptr, ptr %output_target16.i.i773.i, align 8, !tbaa !21 %call17.i.i774.i = call noundef i32 %487(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp35.i705.i, ptr noundef %488) #19 %cmp18.i.i775.i = icmp sgt i32 %call17.i.i774.i, -1 br i1 %cmp18.i.i775.i, label %return.sink.split.i.i776.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i765.i if.else.i.i778.i: ; preds = %while.body.i755.i %buff_len.i.i779.i = getelementptr inbounds i8, ptr %481, i64 8 %489 = load i64, ptr %buff_len.i.i779.i, align 8, !tbaa !18 %cmp27.i.i780.i = icmp ult i64 %483, %489 br i1 %cmp27.i.i780.i, label %if.then28.i.i781.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i765.i if.then28.i.i781.i: ; preds = %if.else.i.i778.i %sub.i.i782.i = sub i64 %489, %483 %spec.select.i.i783.i = call i64 @llvm.umin.i64(i64 %sub.i.i782.i, i64 64) %490 = load ptr, ptr %481, align 8, !tbaa !15 %add.ptr.i.i784.i = getelementptr inbounds i8, ptr %490, i64 %483 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i784.i, ptr nonnull align 1 %mini_buff.i706.i, i64 %spec.select.i.i783.i, i1 false), !alias.scope !213 %491 = load i64, ptr %buff_cur26.i.i758.i, align 8, !tbaa !19 %add.i.i785.i = add i64 %491, %spec.select.i.i783.i br label %return.sink.split.i.i776.i return.sink.split.i.i776.i: ; preds = %if.then28.i.i781.i, %if.then12.i.i772.i, %if.end9.i.i770.i %add.sink.i.i777.i = phi i64 [ %add.i.i785.i, %if.then28.i.i781.i ], [ 0, %if.then12.i.i772.i ], [ 0, %if.end9.i.i770.i ] store i64 %add.sink.i.i777.i, ptr %buff_cur26.i.i758.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i765.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i765.i: ; preds = %return.sink.split.i.i776.i, %if.else.i.i778.i, %if.then12.i.i772.i, %if.then3.i.i761.i %retval.3.i.i766.i = phi i32 [ %call.i.i763.i, %if.then3.i.i761.i ], [ %call17.i.i774.i, %if.then12.i.i772.i ], [ 0, %if.else.i.i778.i ], [ 0, %return.sink.split.i.i776.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp35.i705.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i704.i) %cmp12.not.i767.i = icmp eq i32 %retval.3.i.i766.i, 0 br i1 %cmp12.not.i767.i, label %while.cond.i718.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit786.i, !llvm.loop !102 while.end.i722.i: ; preds = %while.cond.i718.i %written.1.i719.i.lcssa = phi i64 [ %written.1.i719.i, %while.cond.i718.i ] %sub16.i723.i = sub i64 %cond.i.i.i11, %written.1.i719.i.lcssa %cond.i6.i.i724.i = call noundef i64 @llvm.umin.i64(i64 %sub16.i723.i, i64 64) %492 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1939.i703.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i40.i702.i) store ptr %mini_buff.i706.i, ptr %agg.tmp1939.i703.i, align 8 store i64 %cond.i6.i.i724.i, ptr %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i725.i, align 8 %stream_writer.i41.i726.i = getelementptr inbounds i8, ptr %492, i64 24 %493 = load ptr, ptr %stream_writer.i41.i726.i, align 8, !tbaa !20 %cmp.not.i42.i727.i = icmp eq ptr %493, null %buff_cur26.i43.i728.i = getelementptr inbounds i8, ptr %492, i64 16 %494 = load i64, ptr %buff_cur26.i43.i728.i, align 8, !tbaa !19 br i1 %cmp.not.i42.i727.i, label %if.else.i61.i747.i, label %if.then.i44.i729.i if.then.i44.i729.i: ; preds = %while.end.i722.i %cmp2.not.i45.i730.i = icmp eq i64 %494, 0 br i1 %cmp2.not.i45.i730.i, label %if.end9.i52.i739.i, label %if.then3.i46.i731.i if.then3.i46.i731.i: ; preds = %if.then.i44.i729.i %495 = load ptr, ptr %492, align 8, !tbaa !15 store ptr %495, ptr %agg.tmp.i40.i702.i, align 8, !tbaa !91 store i64 %494, ptr %Len.i.i.i47.i732.i, align 8, !tbaa !93 %output_target.i48.i733.i = getelementptr inbounds i8, ptr %492, i64 32 %496 = load ptr, ptr %output_target.i48.i733.i, align 8, !tbaa !21 %call.i49.i734.i = call noundef i32 %493(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i40.i702.i, ptr noundef %496) #19 %cmp7.i50.i735.i = icmp sgt i32 %call.i49.i734.i, -1 br i1 %cmp7.i50.i735.i, label %if.end9.i52.i739.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i736.i if.end9.i52.i739.i: ; preds = %if.then3.i46.i731.i, %if.then.i44.i729.i %cmp11.not.i54.i740.i = icmp eq i64 %written.1.i719.i.lcssa, %cond.i.i.i11 br i1 %cmp11.not.i54.i740.i, label %return.sink.split.i59.i745.i, label %if.then12.i55.i741.i if.then12.i55.i741.i: ; preds = %if.end9.i52.i739.i %497 = load ptr, ptr %stream_writer.i41.i726.i, align 8, !tbaa !20 %output_target16.i56.i742.i = getelementptr inbounds i8, ptr %492, i64 32 %498 = load ptr, ptr %output_target16.i56.i742.i, align 8, !tbaa !21 %call17.i57.i743.i = call noundef i32 %497(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp1939.i703.i, ptr noundef %498) #19 %cmp18.i58.i744.i = icmp sgt i32 %call17.i57.i743.i, -1 br i1 %cmp18.i58.i744.i, label %return.sink.split.i59.i745.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i736.i if.else.i61.i747.i: ; preds = %while.end.i722.i %buff_len.i62.i748.i = getelementptr inbounds i8, ptr %492, i64 8 %499 = load i64, ptr %buff_len.i62.i748.i, align 8, !tbaa !18 %cmp27.i63.i749.i = icmp ult i64 %494, %499 br i1 %cmp27.i63.i749.i, label %if.then28.i64.i750.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i736.i if.then28.i64.i750.i: ; preds = %if.else.i61.i747.i %sub.i65.i751.i = sub i64 %499, %494 %spec.select.i67.i752.i = call i64 @llvm.umin.i64(i64 %sub.i65.i751.i, i64 %cond.i6.i.i724.i) %500 = load ptr, ptr %492, align 8, !tbaa !15 %add.ptr.i68.i753.i = getelementptr inbounds i8, ptr %500, i64 %494 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i68.i753.i, ptr nonnull align 1 %mini_buff.i706.i, i64 %spec.select.i67.i752.i, i1 false), !alias.scope !217 %501 = load i64, ptr %buff_cur26.i43.i728.i, align 8, !tbaa !19 %add.i69.i754.i = add i64 %501, %spec.select.i67.i752.i br label %return.sink.split.i59.i745.i return.sink.split.i59.i745.i: ; preds = %if.then28.i64.i750.i, %if.then12.i55.i741.i, %if.end9.i52.i739.i %add.sink.i60.i746.i = phi i64 [ %add.i69.i754.i, %if.then28.i64.i750.i ], [ 0, %if.then12.i55.i741.i ], [ 0, %if.end9.i52.i739.i ] store i64 %add.sink.i60.i746.i, ptr %buff_cur26.i43.i728.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i736.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i736.i: ; preds = %return.sink.split.i59.i745.i, %if.else.i61.i747.i, %if.then12.i55.i741.i, %if.then3.i46.i731.i %retval.3.i51.i737.i = phi i32 [ %call.i49.i734.i, %if.then3.i46.i731.i ], [ %call17.i57.i743.i, %if.then12.i55.i741.i ], [ 0, %if.else.i61.i747.i ], [ 0, %return.sink.split.i59.i745.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1939.i703.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i40.i702.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit786.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit786.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i736.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i765.i %retval.2.i738.i = phi i32 [ %retval.3.i51.i737.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i736.i ], [ %retval.3.i.i766.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i765.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %mini_buff.i706.i) #18 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit786.i, %if.then.i.i.i193.i %retval.0.i.i.i.i = phi i32 [ 0, %if.then.i.i.i193.i ], [ %retval.2.i738.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit786.i ] %cmp17.i.i.i = icmp sgt i32 %retval.0.i.i.i.i, -1 br i1 %cmp17.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.if.end20.i_crit_edge.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core14convert_stringEPNS0_6WriterERKNS0_13FormatSectionE.exit.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.if.end20.i_crit_edge.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.i.i %.pre79.i.i = load ptr, ptr %writer, align 8, !tbaa !22 %.pre89 = load i32, ptr %chars_written.i, align 8, !tbaa !25 br label %if.end20.i.i.i if.end20.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.if.end20.i_crit_edge.i.i, %for.cond.cleanup.i.i.i %502 = phi i32 [ %.pre89, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.if.end20.i_crit_edge.i.i ], [ %.pre90, %for.cond.cleanup.i.i.i ] %503 = phi ptr [ %.pre79.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.if.end20.i_crit_edge.i.i ], [ %.pre80.i.i, %for.cond.cleanup.i.i.i ] %add.i80.i.i.i = add nsw i32 %502, %conv8.i.i.i store i32 %add.i80.i.i.i, ptr %chars_written.i, align 8, !tbaa !25 %buff_cur.i81.i.i.i = getelementptr inbounds i8, ptr %503, i64 16 %504 = load i64, ptr %buff_cur.i81.i.i.i, align 8, !tbaa !19 %add3.i.i.i.i = add i64 %504, %string_len.1.i.i.i %buff_len.i82.i.i.i = getelementptr inbounds i8, ptr %503, i64 8 %505 = load i64, ptr %buff_len.i82.i.i.i, align 8, !tbaa !18 %cmp.not.i83.i.i.i = icmp ugt i64 %add3.i.i.i.i, %505 br i1 %cmp.not.i83.i.i.i, label %if.end.i87.i.i.i, label %if.then.i84.i.i.i if.then.i84.i.i.i: ; preds = %if.end20.i.i.i %506 = load ptr, ptr %503, align 8, !tbaa !15 %add.ptr.i85.i.i.i = getelementptr inbounds i8, ptr %506, i64 %504 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i85.i.i.i, ptr nonnull align 4 %NULLPTR_STR.i.i, i64 %string_len.1.i.i.i, i1 false), !alias.scope !221 %507 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur13.i.i.i.i = getelementptr inbounds i8, ptr %507, i64 16 %508 = load i64, ptr %buff_cur13.i.i.i.i, align 8, !tbaa !19 %add14.i.i.i.i = add i64 %508, %string_len.1.i.i.i store i64 %add14.i.i.i.i, ptr %buff_cur13.i.i.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i.i.i if.end.i87.i.i.i: ; preds = %if.end20.i.i.i call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp20.i.i.i.i) store ptr %NULLPTR_STR.i.i, ptr %agg.tmp20.i.i.i.i, align 8 store i64 %string_len.1.i.i.i, ptr %agg.tmp76.sroa.5.0.agg.tmp20.i.sroa_idx.i.i.i, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i.i.i.i) %stream_writer.i.i.i.i.i = getelementptr inbounds i8, ptr %503, i64 24 %509 = load ptr, ptr %stream_writer.i.i.i.i.i, align 8, !tbaa !20 %cmp.not.i.i.i.i.i = icmp eq ptr %509, null br i1 %cmp.not.i.i.i.i.i, label %if.else.i.i.i.i.i, label %if.then.i.i.i.i.i if.then.i.i.i.i.i: ; preds = %if.end.i87.i.i.i %cmp2.not.i.i.i.i.i = icmp eq i64 %504, 0 br i1 %cmp2.not.i.i.i.i.i, label %if.end9.i.i.i.i.i, label %if.then3.i.i.i.i.i if.then3.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i %510 = load ptr, ptr %503, align 8, !tbaa !15 store ptr %510, ptr %agg.tmp.i.i.i.i.i, align 8, !tbaa !91 store i64 %504, ptr %Len.i.i.i.i.i.i.i, align 8, !tbaa !93 %output_target.i.i.i.i.i = getelementptr inbounds i8, ptr %503, i64 32 %511 = load ptr, ptr %output_target.i.i.i.i.i, align 8, !tbaa !21 %call.i.i.i.i.i = call noundef i32 %509(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i.i.i.i, ptr noundef %511) #19 %cmp7.i.i.i.i.i = icmp sgt i32 %call.i.i.i.i.i, -1 br i1 %cmp7.i.i.i.i.i, label %if.end9.i.i.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i.i.i if.end9.i.i.i.i.i: ; preds = %if.then3.i.i.i.i.i, %if.then.i.i.i.i.i %cmp11.not.i.i.i.i.i = icmp eq i64 %string_len.1.i.i.i, 0 br i1 %cmp11.not.i.i.i.i.i, label %return.sink.split.i.i.i.i.i, label %if.then12.i.i.i.i.i if.then12.i.i.i.i.i: ; preds = %if.end9.i.i.i.i.i %512 = load ptr, ptr %stream_writer.i.i.i.i.i, align 8, !tbaa !20 %output_target16.i.i.i.i.i = getelementptr inbounds i8, ptr %503, i64 32 %513 = load ptr, ptr %output_target16.i.i.i.i.i, align 8, !tbaa !21 %call17.i.i.i.i.i = call noundef i32 %512(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp20.i.i.i.i, ptr noundef %513) #19 %cmp18.i.i.i.i.i = icmp sgt i32 %call17.i.i.i.i.i, -1 br i1 %cmp18.i.i.i.i.i, label %return.sink.split.i.i.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i.i.i if.else.i.i.i.i.i: ; preds = %if.end.i87.i.i.i %cmp27.i.i.i.i.i = icmp ult i64 %504, %505 br i1 %cmp27.i.i.i.i.i, label %if.then28.i.i.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i.i.i if.then28.i.i.i.i.i: ; preds = %if.else.i.i.i.i.i %sub.i.i.i.i.i12 = sub i64 %505, %504 %spec.select.i.i.i.i.i = call i64 @llvm.umin.i64(i64 %sub.i.i.i.i.i12, i64 %string_len.1.i.i.i) %514 = load ptr, ptr %503, align 8, !tbaa !15 %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %514, i64 %504 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i.i.i.i, ptr nonnull align 4 %NULLPTR_STR.i.i, i64 %spec.select.i.i.i.i.i, i1 false), !alias.scope !225 %515 = load i64, ptr %buff_cur.i81.i.i.i, align 8, !tbaa !19 %add.i.i.i.i.i = add i64 %515, %spec.select.i.i.i.i.i br label %return.sink.split.i.i.i.i.i return.sink.split.i.i.i.i.i: ; preds = %if.then28.i.i.i.i.i, %if.then12.i.i.i.i.i, %if.end9.i.i.i.i.i %add.sink.i.i.i.i.i = phi i64 [ %add.i.i.i.i.i, %if.then28.i.i.i.i.i ], [ 0, %if.then12.i.i.i.i.i ], [ 0, %if.end9.i.i.i.i.i ] store i64 %add.sink.i.i.i.i.i, ptr %buff_cur.i81.i.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i.i.i: ; preds = %return.sink.split.i.i.i.i.i, %if.else.i.i.i.i.i, %if.then12.i.i.i.i.i, %if.then3.i.i.i.i.i %retval.3.i.i.i.i.i = phi i32 [ %call.i.i.i.i.i, %if.then3.i.i.i.i.i ], [ %call17.i.i.i.i.i, %if.then12.i.i.i.i.i ], [ 0, %if.else.i.i.i.i.i ], [ 0, %return.sink.split.i.i.i.i.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp20.i.i.i.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i.i.i.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i.i.i, %if.then.i84.i.i.i %retval.0.i86.i.i.i = phi i32 [ 0, %if.then.i84.i.i.i ], [ %retval.3.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i.i.i ] %cmp23.i.i.i = icmp sgt i32 %retval.0.i86.i.i.i, -1 br i1 %cmp23.i.i.i, label %cleanup.cont28.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core14convert_stringEPNS0_6WriterERKNS0_13FormatSectionE.exit.i.i cleanup.cont28.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i.i.i %cmp34.not.i.i.i = icmp eq i8 %472, 0 %or.cond69.i.i = select i1 %cmp12.not.i.i.i, i1 true, i1 %cmp34.not.i.i.i br i1 %or.cond69.i.i, label %if.end44.i.i.i, label %if.then35.i.i.i if.then35.i.i.i: ; preds = %cleanup.cont28.i.i.i %conv.i88.i.i.i = trunc i64 %cond.i.i.i11 to i32 %516 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i90.i.i.i = add nsw i32 %516, %conv.i88.i.i.i store i32 %add.i90.i.i.i, ptr %chars_written.i, align 8, !tbaa !25 %517 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i91.i.i.i = getelementptr inbounds i8, ptr %517, i64 16 %518 = load i64, ptr %buff_cur.i91.i.i.i, align 8, !tbaa !19 %add2.i92.i.i.i = add i64 %518, %cond.i.i.i11 %buff_len.i93.i.i.i = getelementptr inbounds i8, ptr %517, i64 8 %519 = load i64, ptr %buff_len.i93.i.i.i, align 8, !tbaa !18 %cmp.not.i94.i.i.i = icmp ugt i64 %add2.i92.i.i.i, %519 br i1 %cmp.not.i94.i.i.i, label %if.end.i100.i.i.i, label %if.then.i95.i.i.i if.then.i95.i.i.i: ; preds = %if.then35.i.i.i %520 = load ptr, ptr %517, align 8, !tbaa !15 %add.ptr.i96.i.i.i = getelementptr inbounds i8, ptr %520, i64 %518 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i96.i.i.i, i8 32, i64 %cond.i.i.i11, i1 false) %521 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur8.i97.i.i.i = getelementptr inbounds i8, ptr %521, i64 16 %522 = load i64, ptr %buff_cur8.i97.i.i.i, align 8, !tbaa !19 %add9.i98.i.i.i = add i64 %522, %cond.i.i.i11 store i64 %add9.i98.i.i.i, ptr %buff_cur8.i97.i.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit102.i.i.i if.end.i100.i.i.i: ; preds = %if.then35.i.i.i %sub.i794.i = sub i64 %519, %518 %cmp.not.i795.i = icmp eq i64 %sub.i794.i, 0 br i1 %cmp.not.i795.i, label %if.end.i800.i, label %if.then.i796.i if.then.i796.i: ; preds = %if.end.i100.i.i.i %523 = load ptr, ptr %517, align 8, !tbaa !15 %add.ptr.i797.i = getelementptr inbounds i8, ptr %523, i64 %518 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i797.i, i8 32, i64 %sub.i794.i, i1 false) %524 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur7.i798.i = getelementptr inbounds i8, ptr %524, i64 16 %525 = load i64, ptr %buff_cur7.i798.i, align 8, !tbaa !19 %add.i799.i = add i64 %525, %sub.i794.i store i64 %add.i799.i, ptr %buff_cur7.i798.i, align 8, !tbaa !19 br label %if.end.i800.i if.end.i800.i: ; preds = %if.then.i796.i, %if.end.i100.i.i.i call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %mini_buff.i791.i) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %mini_buff.i791.i, i8 32, i64 64, i1 false) br label %while.cond.i803.i while.cond.i803.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i850.i, %if.end.i800.i %written.1.i804.i = phi i64 [ %sub.i794.i, %if.end.i800.i ], [ %add9.i805.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i850.i ] %add9.i805.i = add i64 %written.1.i804.i, 64 %cmp10.i806.i = icmp ult i64 %add9.i805.i, %cond.i.i.i11 br i1 %cmp10.i806.i, label %while.body.i840.i, label %while.end.i807.i while.body.i840.i: ; preds = %while.cond.i803.i %526 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp35.i790.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i789.i) store ptr %mini_buff.i791.i, ptr %agg.tmp35.i790.i, align 8 store i64 64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i801.i, align 8 %stream_writer.i.i841.i = getelementptr inbounds i8, ptr %526, i64 24 %527 = load ptr, ptr %stream_writer.i.i841.i, align 8, !tbaa !20 %cmp.not.i.i842.i = icmp eq ptr %527, null %buff_cur26.i.i843.i = getelementptr inbounds i8, ptr %526, i64 16 %528 = load i64, ptr %buff_cur26.i.i843.i, align 8, !tbaa !19 br i1 %cmp.not.i.i842.i, label %if.else.i.i863.i, label %if.then.i.i844.i if.then.i.i844.i: ; preds = %while.body.i840.i %cmp2.not.i.i845.i = icmp eq i64 %528, 0 br i1 %cmp2.not.i.i845.i, label %if.end9.i.i855.i, label %if.then3.i.i846.i if.then3.i.i846.i: ; preds = %if.then.i.i844.i %529 = load ptr, ptr %526, align 8, !tbaa !15 store ptr %529, ptr %agg.tmp.i.i789.i, align 8, !tbaa !91 store i64 %528, ptr %Len.i.i.i.i802.i, align 8, !tbaa !93 %output_target.i.i847.i = getelementptr inbounds i8, ptr %526, i64 32 %530 = load ptr, ptr %output_target.i.i847.i, align 8, !tbaa !21 %call.i.i848.i = call noundef i32 %527(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i789.i, ptr noundef %530) #19 %cmp7.i.i849.i = icmp sgt i32 %call.i.i848.i, -1 br i1 %cmp7.i.i849.i, label %if.then3.i.if.end9.i_crit_edge.i853.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i850.i if.then3.i.if.end9.i_crit_edge.i853.i: ; preds = %if.then3.i.i846.i %.pre.i854.i = load i64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i801.i, align 8, !tbaa !93 br label %if.end9.i.i855.i if.end9.i.i855.i: ; preds = %if.then3.i.if.end9.i_crit_edge.i853.i, %if.then.i.i844.i %531 = phi i64 [ %.pre.i854.i, %if.then3.i.if.end9.i_crit_edge.i853.i ], [ 64, %if.then.i.i844.i ] %cmp11.not.i.i856.i = icmp eq i64 %531, 0 br i1 %cmp11.not.i.i856.i, label %return.sink.split.i.i861.i, label %if.then12.i.i857.i if.then12.i.i857.i: ; preds = %if.end9.i.i855.i %532 = load ptr, ptr %stream_writer.i.i841.i, align 8, !tbaa !20 %output_target16.i.i858.i = getelementptr inbounds i8, ptr %526, i64 32 %533 = load ptr, ptr %output_target16.i.i858.i, align 8, !tbaa !21 %call17.i.i859.i = call noundef i32 %532(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp35.i790.i, ptr noundef %533) #19 %cmp18.i.i860.i = icmp sgt i32 %call17.i.i859.i, -1 br i1 %cmp18.i.i860.i, label %return.sink.split.i.i861.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i850.i if.else.i.i863.i: ; preds = %while.body.i840.i %buff_len.i.i864.i = getelementptr inbounds i8, ptr %526, i64 8 %534 = load i64, ptr %buff_len.i.i864.i, align 8, !tbaa !18 %cmp27.i.i865.i = icmp ult i64 %528, %534 br i1 %cmp27.i.i865.i, label %if.then28.i.i866.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i850.i if.then28.i.i866.i: ; preds = %if.else.i.i863.i %sub.i.i867.i = sub i64 %534, %528 %spec.select.i.i868.i = call i64 @llvm.umin.i64(i64 %sub.i.i867.i, i64 64) %535 = load ptr, ptr %526, align 8, !tbaa !15 %add.ptr.i.i869.i = getelementptr inbounds i8, ptr %535, i64 %528 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i869.i, ptr nonnull align 1 %mini_buff.i791.i, i64 %spec.select.i.i868.i, i1 false), !alias.scope !229 %536 = load i64, ptr %buff_cur26.i.i843.i, align 8, !tbaa !19 %add.i.i870.i = add i64 %536, %spec.select.i.i868.i br label %return.sink.split.i.i861.i return.sink.split.i.i861.i: ; preds = %if.then28.i.i866.i, %if.then12.i.i857.i, %if.end9.i.i855.i %add.sink.i.i862.i = phi i64 [ %add.i.i870.i, %if.then28.i.i866.i ], [ 0, %if.then12.i.i857.i ], [ 0, %if.end9.i.i855.i ] store i64 %add.sink.i.i862.i, ptr %buff_cur26.i.i843.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i850.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i850.i: ; preds = %return.sink.split.i.i861.i, %if.else.i.i863.i, %if.then12.i.i857.i, %if.then3.i.i846.i %retval.3.i.i851.i = phi i32 [ %call.i.i848.i, %if.then3.i.i846.i ], [ %call17.i.i859.i, %if.then12.i.i857.i ], [ 0, %if.else.i.i863.i ], [ 0, %return.sink.split.i.i861.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp35.i790.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i789.i) %cmp12.not.i852.i = icmp eq i32 %retval.3.i.i851.i, 0 br i1 %cmp12.not.i852.i, label %while.cond.i803.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit871.i, !llvm.loop !102 while.end.i807.i: ; preds = %while.cond.i803.i %written.1.i804.i.lcssa = phi i64 [ %written.1.i804.i, %while.cond.i803.i ] %sub16.i808.i = sub i64 %cond.i.i.i11, %written.1.i804.i.lcssa %cond.i6.i.i809.i = call noundef i64 @llvm.umin.i64(i64 %sub16.i808.i, i64 64) %537 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1939.i788.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i40.i787.i) store ptr %mini_buff.i791.i, ptr %agg.tmp1939.i788.i, align 8 store i64 %cond.i6.i.i809.i, ptr %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i810.i, align 8 %stream_writer.i41.i811.i = getelementptr inbounds i8, ptr %537, i64 24 %538 = load ptr, ptr %stream_writer.i41.i811.i, align 8, !tbaa !20 %cmp.not.i42.i812.i = icmp eq ptr %538, null %buff_cur26.i43.i813.i = getelementptr inbounds i8, ptr %537, i64 16 %539 = load i64, ptr %buff_cur26.i43.i813.i, align 8, !tbaa !19 br i1 %cmp.not.i42.i812.i, label %if.else.i61.i832.i, label %if.then.i44.i814.i if.then.i44.i814.i: ; preds = %while.end.i807.i %cmp2.not.i45.i815.i = icmp eq i64 %539, 0 br i1 %cmp2.not.i45.i815.i, label %if.end9.i52.i824.i, label %if.then3.i46.i816.i if.then3.i46.i816.i: ; preds = %if.then.i44.i814.i %540 = load ptr, ptr %537, align 8, !tbaa !15 store ptr %540, ptr %agg.tmp.i40.i787.i, align 8, !tbaa !91 store i64 %539, ptr %Len.i.i.i47.i817.i, align 8, !tbaa !93 %output_target.i48.i818.i = getelementptr inbounds i8, ptr %537, i64 32 %541 = load ptr, ptr %output_target.i48.i818.i, align 8, !tbaa !21 %call.i49.i819.i = call noundef i32 %538(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i40.i787.i, ptr noundef %541) #19 %cmp7.i50.i820.i = icmp sgt i32 %call.i49.i819.i, -1 br i1 %cmp7.i50.i820.i, label %if.end9.i52.i824.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i821.i if.end9.i52.i824.i: ; preds = %if.then3.i46.i816.i, %if.then.i44.i814.i %cmp11.not.i54.i825.i = icmp eq i64 %written.1.i804.i.lcssa, %cond.i.i.i11 br i1 %cmp11.not.i54.i825.i, label %return.sink.split.i59.i830.i, label %if.then12.i55.i826.i if.then12.i55.i826.i: ; preds = %if.end9.i52.i824.i %542 = load ptr, ptr %stream_writer.i41.i811.i, align 8, !tbaa !20 %output_target16.i56.i827.i = getelementptr inbounds i8, ptr %537, i64 32 %543 = load ptr, ptr %output_target16.i56.i827.i, align 8, !tbaa !21 %call17.i57.i828.i = call noundef i32 %542(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp1939.i788.i, ptr noundef %543) #19 %cmp18.i58.i829.i = icmp sgt i32 %call17.i57.i828.i, -1 br i1 %cmp18.i58.i829.i, label %return.sink.split.i59.i830.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i821.i if.else.i61.i832.i: ; preds = %while.end.i807.i %buff_len.i62.i833.i = getelementptr inbounds i8, ptr %537, i64 8 %544 = load i64, ptr %buff_len.i62.i833.i, align 8, !tbaa !18 %cmp27.i63.i834.i = icmp ult i64 %539, %544 br i1 %cmp27.i63.i834.i, label %if.then28.i64.i835.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i821.i if.then28.i64.i835.i: ; preds = %if.else.i61.i832.i %sub.i65.i836.i = sub i64 %544, %539 %spec.select.i67.i837.i = call i64 @llvm.umin.i64(i64 %sub.i65.i836.i, i64 %cond.i6.i.i809.i) %545 = load ptr, ptr %537, align 8, !tbaa !15 %add.ptr.i68.i838.i = getelementptr inbounds i8, ptr %545, i64 %539 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i68.i838.i, ptr nonnull align 1 %mini_buff.i791.i, i64 %spec.select.i67.i837.i, i1 false), !alias.scope !233 %546 = load i64, ptr %buff_cur26.i43.i813.i, align 8, !tbaa !19 %add.i69.i839.i = add i64 %546, %spec.select.i67.i837.i br label %return.sink.split.i59.i830.i return.sink.split.i59.i830.i: ; preds = %if.then28.i64.i835.i, %if.then12.i55.i826.i, %if.end9.i52.i824.i %add.sink.i60.i831.i = phi i64 [ %add.i69.i839.i, %if.then28.i64.i835.i ], [ 0, %if.then12.i55.i826.i ], [ 0, %if.end9.i52.i824.i ] store i64 %add.sink.i60.i831.i, ptr %buff_cur26.i43.i813.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i821.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i821.i: ; preds = %return.sink.split.i59.i830.i, %if.else.i61.i832.i, %if.then12.i55.i826.i, %if.then3.i46.i816.i %retval.3.i51.i822.i = phi i32 [ %call.i49.i819.i, %if.then3.i46.i816.i ], [ %call17.i57.i828.i, %if.then12.i55.i826.i ], [ 0, %if.else.i61.i832.i ], [ 0, %return.sink.split.i59.i830.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1939.i788.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i40.i787.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit871.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit871.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i821.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i850.i %retval.2.i823.i = phi i32 [ %retval.3.i51.i822.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i821.i ], [ %retval.3.i.i851.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i850.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %mini_buff.i791.i) #18 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit102.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit102.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit871.i, %if.then.i95.i.i.i %retval.0.i99.i.i.i = phi i32 [ 0, %if.then.i95.i.i.i ], [ %retval.2.i823.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit871.i ] %cmp38.i.i.i = icmp sgt i32 %retval.0.i99.i.i.i, -1 br i1 %cmp38.i.i.i, label %if.end44.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core14convert_stringEPNS0_6WriterERKNS0_13FormatSectionE.exit.i.i if.end44.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit102.i.i.i, %cleanup.cont28.i.i.i br label %_ZN22__llvm_libc_19_0_0_git11printf_core14convert_stringEPNS0_6WriterERKNS0_13FormatSectionE.exit.i.i _ZN22__llvm_libc_19_0_0_git11printf_core14convert_stringEPNS0_6WriterERKNS0_13FormatSectionE.exit.i.i: ; preds = %if.end44.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit102.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.i.i %retval.4.i.i.i = phi i32 [ 0, %if.end44.i.i.i ], [ %retval.0.i99.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit102.i.i.i ], [ %retval.0.i86.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i.i.i ], [ %retval.0.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.i.i ] call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %NULLPTR_STR.i.i) #18 br label %if.end if.end.i179.i: ; preds = %sw.bb9.i %547 = ptrtoint ptr %cur_section.sroa.58.0 to i64 call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %buf.i.i.i) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %buf.i.i.i, i8 -86, i64 64, i1 false), !annotation !10 br label %for.body.i.i.i.i.i.i.i for.body.i.i.i.i.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i.i, %if.end.i179.i %writer.sroa.10.0.i.i.i.i.i = phi i64 [ %writer.sroa.10.1.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i.i ], [ 0, %if.end.i179.i ] %548 = phi i64 [ %552, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i.i ], [ 0, %if.end.i179.i ] %value.addr.010.i.i.i.i.i.i.i = phi i64 [ %div6.i.i.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i.i ], [ %547, %if.end.i179.i ] %cmp.i.i.i.i.i.i.i.i.i = icmp eq i64 %548, 64 br i1 %cmp.i.i.i.i.i.i.i.i.i, label %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i.i, label %if.then3.i.i.i.i.i.i.i.i if.then3.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i %549 = trunc i64 %value.addr.010.i.i.i.i.i.i.i to i8 %conv.i.i.i.i.i.i.i = and i8 %549, 15 %cmp.i.i.i.i.i.i.i180.i = icmp ult i8 %conv.i.i.i.i.i.i.i, 10 %550 = or disjoint i8 %conv.i.i.i.i.i.i.i, 48 %add6.i.i.i.i.i.i.i.i = add nuw nsw i8 %conv.i.i.i.i.i.i.i, 87 %retval.0.i.i.i.i.i.i.i.i = select i1 %cmp.i.i.i.i.i.i.i180.i, i8 %550, i8 %add6.i.i.i.i.i.i.i.i %551 = xor i64 %548, -1 %arrayidx.i.i.i.i.i.i.i.i.i = getelementptr i8, ptr %71, i64 %551 store i8 %retval.0.i.i.i.i.i.i.i.i, ptr %arrayidx.i.i.i.i.i.i.i.i.i, align 1, !tbaa !26 %inc.i.i.i.i.i.i.i.i = add i64 %writer.sroa.10.0.i.i.i.i.i, 1 br label %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i.i _ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i.i: ; preds = %if.then3.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i %writer.sroa.10.1.i.i.i.i.i = phi i64 [ %inc.i.i.i.i.i.i.i.i, %if.then3.i.i.i.i.i.i.i.i ], [ %writer.sroa.10.0.i.i.i.i.i, %for.body.i.i.i.i.i.i.i ] %552 = phi i64 [ %inc.i.i.i.i.i.i.i.i, %if.then3.i.i.i.i.i.i.i.i ], [ 64, %for.body.i.i.i.i.i.i.i ] %div6.i.i.i.i.i.i.i = lshr i64 %value.addr.010.i.i.i.i.i.i.i, 4 %cmp.i.i.i.i.i.i181.i = icmp ult i64 %value.addr.010.i.i.i.i.i.i.i, 16 %.not.i.i.i.i.i.i.i = select i1 %cmp.i.i.i.i.i.i.i.i.i, i1 true, i1 %cmp.i.i.i.i.i.i181.i br i1 %.not.i.i.i.i.i.i.i, label %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i, !llvm.loop !144 _ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i.i br i1 %cmp.i.i.i.i.i.i.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.sink.split.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.sink.split.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i.i %writer.sroa.10.3.i294.i.lcssa.i.i.i = call i64 @llvm.umax.i64(i64 %writer.sroa.10.1.i.i.i.i.i, i64 1) %cmp.i.i295.i.peel.i.i.i = icmp eq i64 %writer.sroa.10.1.i.i.i.i.i, 0 %arrayidx.i.i.i.i292.i.promoted.i.i.i = load i8, ptr %arrayidx.i.i.i.i292.i.i.i.i, align 1, !tbaa !26 %.lcssa564.i.i.i = select i1 %cmp.i.i295.i.peel.i.i.i, i8 48, i8 %arrayidx.i.i.i.i292.i.promoted.i.i.i store i8 %.lcssa564.i.i.i, ptr %arrayidx.i.i.i.i292.i.i.i.i, align 1, !tbaa !26 br label %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.sink.split.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i.i %553 = phi i64 [ %writer.sroa.10.1.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i.i ], [ %writer.sroa.10.3.i294.i.lcssa.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.sink.split.i.i.i ] %idx.neg.i300.i.i.i.i = sub i64 0, %553 %add.ptr4.i301.i.i.i.i = getelementptr inbounds i8, ptr %71, i64 %idx.neg.i300.i.i.i.i br i1 %cmp.i.i.i.i.i.i.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11convert_intEPNS0_6WriterERKNS0_13FormatSectionE.exit.i.i, label %if.else23.i.i.i if.else23.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.i.i.i call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %prefix.i.i.i) #18 store i8 48, ptr %prefix.i.i.i, align 2, !tbaa !26 store i8 120, ptr %72, align 1, !tbaa !26 %cmp74.i.i.i = icmp slt i32 %cur_section.sroa.49.0, 0 %.neg73.i.i = add nsw i32 %cur_section.sroa.42.0, -2 br i1 %cmp74.i.i.i, label %if.then75.i.i.i, label %if.else91.i.i.i if.then75.i.i.i: ; preds = %if.else23.i.i.i %554 = and i8 %cur_section.sroa.22.0, 17 %cmp78.i.i.i = icmp eq i8 %554, 16 %555 = trunc i64 %553 to i32 %conv83.i.i.i = sub i32 %.neg73.i.i, %555 %.conv83.i.i.i = select i1 %cmp78.i.i.i, i32 0, i32 %conv83.i.i.i %conv83..i.i.i = select i1 %cmp78.i.i.i, i32 %conv83.i.i.i, i32 0 br label %if.end126.i.i.i if.else91.i.i.i: ; preds = %if.else23.i.i.i %556 = trunc i64 %553 to i32 %conv101.i.i.i = sub i32 %cur_section.sroa.49.0, %556 %spec.store.select.i15.i.i = call i32 @llvm.smax.i32(i32 %conv101.i.i.i, i32 0) %557 = add i32 %spec.store.select.i15.i.i, %556 %conv110.i.i.i = sub i32 %.neg73.i.i, %557 br label %if.end126.i.i.i if.end126.i.i.i: ; preds = %if.else91.i.i.i, %if.then75.i.i.i %spaces.0.i.i.i = phi i32 [ %conv110.i.i.i, %if.else91.i.i.i ], [ %.conv83.i.i.i, %if.then75.i.i.i ] %zeroes.0.i.i.i = phi i32 [ %spec.store.select.i15.i.i, %if.else91.i.i.i ], [ %conv83..i.i.i, %if.then75.i.i.i ] %558 = and i8 %cur_section.sroa.22.0, 1 %cmp129.not.i.i.i = icmp eq i8 %558, 0 br i1 %cmp129.not.i.i.i, label %if.else176.i.i.i, label %if.then132.i.i.i if.then132.i.i.i: ; preds = %if.end126.i.i.i %559 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i.i18.i.i = add nsw i32 %559, 2 store i32 %add.i.i18.i.i, ptr %chars_written.i, align 8, !tbaa !25 %560 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i.i19.i.i = getelementptr inbounds i8, ptr %560, i64 16 %561 = load i64, ptr %buff_cur.i.i19.i.i, align 8, !tbaa !19 %add3.i.i20.i.i = add i64 %561, 2 %buff_len.i.i21.i.i = getelementptr inbounds i8, ptr %560, i64 8 %562 = load i64, ptr %buff_len.i.i21.i.i, align 8, !tbaa !18 %cmp.not.i.i22.i.i = icmp ugt i64 %add3.i.i20.i.i, %562 br i1 %cmp.not.i.i22.i.i, label %if.end.i.i32.i.i, label %if.then.i340.i.i.i if.then.i340.i.i.i: ; preds = %if.then132.i.i.i %563 = load ptr, ptr %560, align 8, !tbaa !15 %add.ptr.i.i23.i.i = getelementptr inbounds i8, ptr %563, i64 %561 %564 = load i16, ptr %prefix.i.i.i, align 2, !alias.scope !237 store i16 %564, ptr %add.ptr.i.i23.i.i, align 1, !alias.scope !237 %565 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur13.i.i24.i.i = getelementptr inbounds i8, ptr %565, i64 16 %566 = load i64, ptr %buff_cur13.i.i24.i.i, align 8, !tbaa !19 %add14.i.i25.i.i = add i64 %566, 2 store i64 %add14.i.i25.i.i, ptr %buff_cur13.i.i24.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i26.i.i if.end.i.i32.i.i: ; preds = %if.then132.i.i.i call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp20.i.i12.i.i) store ptr %prefix.i.i.i, ptr %agg.tmp20.i.i12.i.i, align 8 store i64 2, ptr %agg.tmp133338.sroa.5.0.agg.tmp20.i.sroa_idx.i.i.i, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i.i11.i.i) %stream_writer.i.i.i33.i.i = getelementptr inbounds i8, ptr %560, i64 24 %567 = load ptr, ptr %stream_writer.i.i.i33.i.i, align 8, !tbaa !20 %cmp.not.i.i.i34.i.i = icmp eq ptr %567, null br i1 %cmp.not.i.i.i34.i.i, label %if.else.i.i.i50.i.i, label %if.then.i.i.i35.i.i if.then.i.i.i35.i.i: ; preds = %if.end.i.i32.i.i %cmp2.not.i.i.i36.i.i = icmp eq i64 %561, 0 br i1 %cmp2.not.i.i.i36.i.i, label %if.then12.i.i.i44.i.i, label %if.then3.i.i.i37.i.i if.then3.i.i.i37.i.i: ; preds = %if.then.i.i.i35.i.i %568 = load ptr, ptr %560, align 8, !tbaa !15 store ptr %568, ptr %agg.tmp.i.i.i11.i.i, align 8, !tbaa !91 store i64 %561, ptr %Len.i.i.i.i.i38.i.i, align 8, !tbaa !93 %output_target.i.i.i39.i.i = getelementptr inbounds i8, ptr %560, i64 32 %569 = load ptr, ptr %output_target.i.i.i39.i.i, align 8, !tbaa !21 %call.i.i.i40.i.i = call noundef i32 %567(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i.i11.i.i, ptr noundef %569) #19 %cmp7.i.i.i41.i.i = icmp sgt i32 %call.i.i.i40.i.i, -1 br i1 %cmp7.i.i.i41.i.i, label %if.then3.i.i.i37.if.then12.i.i.i44_crit_edge.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i42.i.i if.then3.i.i.i37.if.then12.i.i.i44_crit_edge.i.i: ; preds = %if.then3.i.i.i37.i.i %.pre.i183.i = load ptr, ptr %stream_writer.i.i.i33.i.i, align 8, !tbaa !20 br label %if.then12.i.i.i44.i.i if.then12.i.i.i44.i.i: ; preds = %if.then3.i.i.i37.if.then12.i.i.i44_crit_edge.i.i, %if.then.i.i.i35.i.i %570 = phi ptr [ %.pre.i183.i, %if.then3.i.i.i37.if.then12.i.i.i44_crit_edge.i.i ], [ %567, %if.then.i.i.i35.i.i ] %output_target16.i.i.i45.i.i = getelementptr inbounds i8, ptr %560, i64 32 %571 = load ptr, ptr %output_target16.i.i.i45.i.i, align 8, !tbaa !21 %call17.i.i.i46.i.i = call noundef i32 %570(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp20.i.i12.i.i, ptr noundef %571) #19 %cmp18.i.i.i47.i.i = icmp sgt i32 %call17.i.i.i46.i.i, -1 br i1 %cmp18.i.i.i47.i.i, label %return.sink.split.i.i.i48.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i42.i.i if.else.i.i.i50.i.i: ; preds = %if.end.i.i32.i.i %cmp27.i.i.i51.i.i = icmp ult i64 %561, %562 br i1 %cmp27.i.i.i51.i.i, label %if.then28.i.i.i52.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i42.i.i if.then28.i.i.i52.i.i: ; preds = %if.else.i.i.i50.i.i %sub.i.i.i53.i.i = sub i64 %562, %561 %spec.select.i.i.i54.i.i = call i64 @llvm.umin.i64(i64 %sub.i.i.i53.i.i, i64 2) %572 = load ptr, ptr %560, align 8, !tbaa !15 %add.ptr.i.i342.i.i.i = getelementptr inbounds i8, ptr %572, i64 %561 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i342.i.i.i, ptr nonnull align 2 %prefix.i.i.i, i64 %spec.select.i.i.i54.i.i, i1 false), !alias.scope !241 %573 = load i64, ptr %buff_cur.i.i19.i.i, align 8, !tbaa !19 %add.i.i.i55.i.i = add i64 %573, %spec.select.i.i.i54.i.i br label %return.sink.split.i.i.i48.i.i return.sink.split.i.i.i48.i.i: ; preds = %if.then28.i.i.i52.i.i, %if.then12.i.i.i44.i.i %add.sink.i.i.i49.i.i = phi i64 [ %add.i.i.i55.i.i, %if.then28.i.i.i52.i.i ], [ 0, %if.then12.i.i.i44.i.i ] store i64 %add.sink.i.i.i49.i.i, ptr %buff_cur.i.i19.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i42.i.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i42.i.i: ; preds = %return.sink.split.i.i.i48.i.i, %if.else.i.i.i50.i.i, %if.then12.i.i.i44.i.i, %if.then3.i.i.i37.i.i %retval.3.i.i.i43.i.i = phi i32 [ %call.i.i.i40.i.i, %if.then3.i.i.i37.i.i ], [ %call17.i.i.i46.i.i, %if.then12.i.i.i44.i.i ], [ 0, %if.else.i.i.i50.i.i ], [ 0, %return.sink.split.i.i.i48.i.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp20.i.i12.i.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i.i11.i.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i26.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i26.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i42.i.i, %if.then.i340.i.i.i %retval.0.i341.i.i.i = phi i32 [ 0, %if.then.i340.i.i.i ], [ %retval.3.i.i.i43.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i42.i.i ] %cmp135.i.i.i = icmp sgt i32 %retval.0.i341.i.i.i, -1 br i1 %cmp135.i.i.i, label %if.end138.i.i.i, label %cleanup228.i.i.i if.end138.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i26.i.i %cmp139.i.i.i = icmp sgt i32 %zeroes.0.i.i.i, 0 br i1 %cmp139.i.i.i, label %if.then140.i.i.i, label %if.end150.i.i.i if.then140.i.i.i: ; preds = %if.end138.i.i.i %conv142.i.i.i = zext nneg i32 %zeroes.0.i.i.i to i64 %574 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i345.i.i.i = add nsw i32 %574, %zeroes.0.i.i.i store i32 %add.i345.i.i.i, ptr %chars_written.i, align 8, !tbaa !25 %575 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i346.i.i.i = getelementptr inbounds i8, ptr %575, i64 16 %576 = load i64, ptr %buff_cur.i346.i.i.i, align 8, !tbaa !19 %add2.i.i27.i.i = add i64 %576, %conv142.i.i.i %buff_len.i347.i.i.i = getelementptr inbounds i8, ptr %575, i64 8 %577 = load i64, ptr %buff_len.i347.i.i.i, align 8, !tbaa !18 %cmp.not.i348.i.i.i = icmp ugt i64 %add2.i.i27.i.i, %577 br i1 %cmp.not.i348.i.i.i, label %if.end.i352.i.i.i, label %if.then.i349.i.i.i if.then.i349.i.i.i: ; preds = %if.then140.i.i.i %578 = load ptr, ptr %575, align 8, !tbaa !15 %add.ptr.i350.i.i.i = getelementptr inbounds i8, ptr %578, i64 %576 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i350.i.i.i, i8 48, i64 %conv142.i.i.i, i1 false) %579 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur8.i.i28.i.i = getelementptr inbounds i8, ptr %579, i64 16 %580 = load i64, ptr %buff_cur8.i.i28.i.i, align 8, !tbaa !19 %add9.i.i29.i.i = add i64 %580, %conv142.i.i.i store i64 %add9.i.i29.i.i, ptr %buff_cur8.i.i28.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i30.i.i if.end.i352.i.i.i: ; preds = %if.then140.i.i.i %sub.i879.i = sub i64 %577, %576 %cmp.not.i880.i = icmp eq i64 %sub.i879.i, 0 br i1 %cmp.not.i880.i, label %if.end.i885.i, label %if.then.i881.i if.then.i881.i: ; preds = %if.end.i352.i.i.i %581 = load ptr, ptr %575, align 8, !tbaa !15 %add.ptr.i882.i = getelementptr inbounds i8, ptr %581, i64 %576 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i882.i, i8 48, i64 %sub.i879.i, i1 false) %582 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur7.i883.i = getelementptr inbounds i8, ptr %582, i64 16 %583 = load i64, ptr %buff_cur7.i883.i, align 8, !tbaa !19 %add.i884.i = add i64 %583, %sub.i879.i store i64 %add.i884.i, ptr %buff_cur7.i883.i, align 8, !tbaa !19 br label %if.end.i885.i if.end.i885.i: ; preds = %if.then.i881.i, %if.end.i352.i.i.i call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %mini_buff.i876.i) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %mini_buff.i876.i, i8 48, i64 64, i1 false) br label %while.cond.i888.i while.cond.i888.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i935.i, %if.end.i885.i %written.1.i889.i = phi i64 [ %sub.i879.i, %if.end.i885.i ], [ %add9.i890.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i935.i ] %add9.i890.i = add i64 %written.1.i889.i, 64 %cmp10.i891.i = icmp ult i64 %add9.i890.i, %conv142.i.i.i br i1 %cmp10.i891.i, label %while.body.i925.i, label %while.end.i892.i while.body.i925.i: ; preds = %while.cond.i888.i %584 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp35.i875.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i874.i) store ptr %mini_buff.i876.i, ptr %agg.tmp35.i875.i, align 8 store i64 64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i886.i, align 8 %stream_writer.i.i926.i = getelementptr inbounds i8, ptr %584, i64 24 %585 = load ptr, ptr %stream_writer.i.i926.i, align 8, !tbaa !20 %cmp.not.i.i927.i = icmp eq ptr %585, null %buff_cur26.i.i928.i = getelementptr inbounds i8, ptr %584, i64 16 %586 = load i64, ptr %buff_cur26.i.i928.i, align 8, !tbaa !19 br i1 %cmp.not.i.i927.i, label %if.else.i.i948.i, label %if.then.i.i929.i if.then.i.i929.i: ; preds = %while.body.i925.i %cmp2.not.i.i930.i = icmp eq i64 %586, 0 br i1 %cmp2.not.i.i930.i, label %if.end9.i.i940.i, label %if.then3.i.i931.i if.then3.i.i931.i: ; preds = %if.then.i.i929.i %587 = load ptr, ptr %584, align 8, !tbaa !15 store ptr %587, ptr %agg.tmp.i.i874.i, align 8, !tbaa !91 store i64 %586, ptr %Len.i.i.i.i887.i, align 8, !tbaa !93 %output_target.i.i932.i = getelementptr inbounds i8, ptr %584, i64 32 %588 = load ptr, ptr %output_target.i.i932.i, align 8, !tbaa !21 %call.i.i933.i = call noundef i32 %585(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i874.i, ptr noundef %588) #19 %cmp7.i.i934.i = icmp sgt i32 %call.i.i933.i, -1 br i1 %cmp7.i.i934.i, label %if.then3.i.if.end9.i_crit_edge.i938.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i935.i if.then3.i.if.end9.i_crit_edge.i938.i: ; preds = %if.then3.i.i931.i %.pre.i939.i = load i64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i886.i, align 8, !tbaa !93 br label %if.end9.i.i940.i if.end9.i.i940.i: ; preds = %if.then3.i.if.end9.i_crit_edge.i938.i, %if.then.i.i929.i %589 = phi i64 [ %.pre.i939.i, %if.then3.i.if.end9.i_crit_edge.i938.i ], [ 64, %if.then.i.i929.i ] %cmp11.not.i.i941.i = icmp eq i64 %589, 0 br i1 %cmp11.not.i.i941.i, label %return.sink.split.i.i946.i, label %if.then12.i.i942.i if.then12.i.i942.i: ; preds = %if.end9.i.i940.i %590 = load ptr, ptr %stream_writer.i.i926.i, align 8, !tbaa !20 %output_target16.i.i943.i = getelementptr inbounds i8, ptr %584, i64 32 %591 = load ptr, ptr %output_target16.i.i943.i, align 8, !tbaa !21 %call17.i.i944.i = call noundef i32 %590(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp35.i875.i, ptr noundef %591) #19 %cmp18.i.i945.i = icmp sgt i32 %call17.i.i944.i, -1 br i1 %cmp18.i.i945.i, label %return.sink.split.i.i946.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i935.i if.else.i.i948.i: ; preds = %while.body.i925.i %buff_len.i.i949.i = getelementptr inbounds i8, ptr %584, i64 8 %592 = load i64, ptr %buff_len.i.i949.i, align 8, !tbaa !18 %cmp27.i.i950.i = icmp ult i64 %586, %592 br i1 %cmp27.i.i950.i, label %if.then28.i.i951.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i935.i if.then28.i.i951.i: ; preds = %if.else.i.i948.i %sub.i.i952.i = sub i64 %592, %586 %spec.select.i.i953.i = call i64 @llvm.umin.i64(i64 %sub.i.i952.i, i64 64) %593 = load ptr, ptr %584, align 8, !tbaa !15 %add.ptr.i.i954.i = getelementptr inbounds i8, ptr %593, i64 %586 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i954.i, ptr nonnull align 1 %mini_buff.i876.i, i64 %spec.select.i.i953.i, i1 false), !alias.scope !245 %594 = load i64, ptr %buff_cur26.i.i928.i, align 8, !tbaa !19 %add.i.i955.i = add i64 %594, %spec.select.i.i953.i br label %return.sink.split.i.i946.i return.sink.split.i.i946.i: ; preds = %if.then28.i.i951.i, %if.then12.i.i942.i, %if.end9.i.i940.i %add.sink.i.i947.i = phi i64 [ %add.i.i955.i, %if.then28.i.i951.i ], [ 0, %if.then12.i.i942.i ], [ 0, %if.end9.i.i940.i ] store i64 %add.sink.i.i947.i, ptr %buff_cur26.i.i928.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i935.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i935.i: ; preds = %return.sink.split.i.i946.i, %if.else.i.i948.i, %if.then12.i.i942.i, %if.then3.i.i931.i %retval.3.i.i936.i = phi i32 [ %call.i.i933.i, %if.then3.i.i931.i ], [ %call17.i.i944.i, %if.then12.i.i942.i ], [ 0, %if.else.i.i948.i ], [ 0, %return.sink.split.i.i946.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp35.i875.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i874.i) %cmp12.not.i937.i = icmp eq i32 %retval.3.i.i936.i, 0 br i1 %cmp12.not.i937.i, label %while.cond.i888.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit956.i, !llvm.loop !102 while.end.i892.i: ; preds = %while.cond.i888.i %written.1.i889.i.lcssa = phi i64 [ %written.1.i889.i, %while.cond.i888.i ] %sub16.i893.i = sub i64 %conv142.i.i.i, %written.1.i889.i.lcssa %cond.i6.i.i894.i = call noundef i64 @llvm.umin.i64(i64 %sub16.i893.i, i64 64) %595 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1939.i873.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i40.i872.i) store ptr %mini_buff.i876.i, ptr %agg.tmp1939.i873.i, align 8 store i64 %cond.i6.i.i894.i, ptr %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i895.i, align 8 %stream_writer.i41.i896.i = getelementptr inbounds i8, ptr %595, i64 24 %596 = load ptr, ptr %stream_writer.i41.i896.i, align 8, !tbaa !20 %cmp.not.i42.i897.i = icmp eq ptr %596, null %buff_cur26.i43.i898.i = getelementptr inbounds i8, ptr %595, i64 16 %597 = load i64, ptr %buff_cur26.i43.i898.i, align 8, !tbaa !19 br i1 %cmp.not.i42.i897.i, label %if.else.i61.i917.i, label %if.then.i44.i899.i if.then.i44.i899.i: ; preds = %while.end.i892.i %cmp2.not.i45.i900.i = icmp eq i64 %597, 0 br i1 %cmp2.not.i45.i900.i, label %if.end9.i52.i909.i, label %if.then3.i46.i901.i if.then3.i46.i901.i: ; preds = %if.then.i44.i899.i %598 = load ptr, ptr %595, align 8, !tbaa !15 store ptr %598, ptr %agg.tmp.i40.i872.i, align 8, !tbaa !91 store i64 %597, ptr %Len.i.i.i47.i902.i, align 8, !tbaa !93 %output_target.i48.i903.i = getelementptr inbounds i8, ptr %595, i64 32 %599 = load ptr, ptr %output_target.i48.i903.i, align 8, !tbaa !21 %call.i49.i904.i = call noundef i32 %596(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i40.i872.i, ptr noundef %599) #19 %cmp7.i50.i905.i = icmp sgt i32 %call.i49.i904.i, -1 br i1 %cmp7.i50.i905.i, label %if.end9.i52.i909.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i906.i if.end9.i52.i909.i: ; preds = %if.then3.i46.i901.i, %if.then.i44.i899.i %cmp11.not.i54.i910.i = icmp eq i64 %written.1.i889.i.lcssa, %conv142.i.i.i br i1 %cmp11.not.i54.i910.i, label %return.sink.split.i59.i915.i, label %if.then12.i55.i911.i if.then12.i55.i911.i: ; preds = %if.end9.i52.i909.i %600 = load ptr, ptr %stream_writer.i41.i896.i, align 8, !tbaa !20 %output_target16.i56.i912.i = getelementptr inbounds i8, ptr %595, i64 32 %601 = load ptr, ptr %output_target16.i56.i912.i, align 8, !tbaa !21 %call17.i57.i913.i = call noundef i32 %600(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp1939.i873.i, ptr noundef %601) #19 %cmp18.i58.i914.i = icmp sgt i32 %call17.i57.i913.i, -1 br i1 %cmp18.i58.i914.i, label %return.sink.split.i59.i915.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i906.i if.else.i61.i917.i: ; preds = %while.end.i892.i %buff_len.i62.i918.i = getelementptr inbounds i8, ptr %595, i64 8 %602 = load i64, ptr %buff_len.i62.i918.i, align 8, !tbaa !18 %cmp27.i63.i919.i = icmp ult i64 %597, %602 br i1 %cmp27.i63.i919.i, label %if.then28.i64.i920.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i906.i if.then28.i64.i920.i: ; preds = %if.else.i61.i917.i %sub.i65.i921.i = sub i64 %602, %597 %spec.select.i67.i922.i = call i64 @llvm.umin.i64(i64 %sub.i65.i921.i, i64 %cond.i6.i.i894.i) %603 = load ptr, ptr %595, align 8, !tbaa !15 %add.ptr.i68.i923.i = getelementptr inbounds i8, ptr %603, i64 %597 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i68.i923.i, ptr nonnull align 1 %mini_buff.i876.i, i64 %spec.select.i67.i922.i, i1 false), !alias.scope !249 %604 = load i64, ptr %buff_cur26.i43.i898.i, align 8, !tbaa !19 %add.i69.i924.i = add i64 %604, %spec.select.i67.i922.i br label %return.sink.split.i59.i915.i return.sink.split.i59.i915.i: ; preds = %if.then28.i64.i920.i, %if.then12.i55.i911.i, %if.end9.i52.i909.i %add.sink.i60.i916.i = phi i64 [ %add.i69.i924.i, %if.then28.i64.i920.i ], [ 0, %if.then12.i55.i911.i ], [ 0, %if.end9.i52.i909.i ] store i64 %add.sink.i60.i916.i, ptr %buff_cur26.i43.i898.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i906.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i906.i: ; preds = %return.sink.split.i59.i915.i, %if.else.i61.i917.i, %if.then12.i55.i911.i, %if.then3.i46.i901.i %retval.3.i51.i907.i = phi i32 [ %call.i49.i904.i, %if.then3.i46.i901.i ], [ %call17.i57.i913.i, %if.then12.i55.i911.i ], [ 0, %if.else.i61.i917.i ], [ 0, %return.sink.split.i59.i915.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1939.i873.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i40.i872.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit956.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit956.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i906.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i935.i %retval.2.i908.i = phi i32 [ %retval.3.i51.i907.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i906.i ], [ %retval.3.i.i936.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i935.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %mini_buff.i876.i) #18 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i30.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i30.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit956.i, %if.then.i349.i.i.i %retval.0.i351.i.i.i = phi i32 [ 0, %if.then.i349.i.i.i ], [ %retval.2.i908.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit956.i ] %cmp144.i.i.i = icmp sgt i32 %retval.0.i351.i.i.i, -1 br i1 %cmp144.i.i.i, label %if.end150.i.i.i, label %cleanup228.i.i.i if.end150.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i30.i.i, %if.end138.i.i.i %cmp151.not.i.i.i = icmp eq i64 %553, 0 br i1 %cmp151.not.i.i.i, label %if.end163.i.i.i, label %if.then152.i.i.i if.then152.i.i.i: ; preds = %if.end150.i.i.i %conv.i357.i.i.i = trunc i64 %553 to i32 %605 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i359.i.i.i = add nsw i32 %605, %conv.i357.i.i.i store i32 %add.i359.i.i.i, ptr %chars_written.i, align 8, !tbaa !25 %606 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i360.i.i.i = getelementptr inbounds i8, ptr %606, i64 16 %607 = load i64, ptr %buff_cur.i360.i.i.i, align 8, !tbaa !19 %add3.i361.i.i.i = add i64 %607, %553 %buff_len.i362.i.i.i = getelementptr inbounds i8, ptr %606, i64 8 %608 = load i64, ptr %buff_len.i362.i.i.i, align 8, !tbaa !18 %cmp.not.i363.i.i.i = icmp ugt i64 %add3.i361.i.i.i, %608 br i1 %cmp.not.i363.i.i.i, label %if.end.i369.i.i.i, label %if.then.i364.i.i.i if.then.i364.i.i.i: ; preds = %if.then152.i.i.i %609 = load ptr, ptr %606, align 8, !tbaa !15 %add.ptr.i365.i.i.i = getelementptr inbounds i8, ptr %609, i64 %607 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i365.i.i.i, ptr nonnull align 1 %add.ptr4.i301.i.i.i.i, i64 %553, i1 false), !alias.scope !253 %610 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur13.i366.i.i.i = getelementptr inbounds i8, ptr %610, i64 16 %611 = load i64, ptr %buff_cur13.i366.i.i.i, align 8, !tbaa !19 %add14.i367.i.i.i = add i64 %611, %553 store i64 %add14.i367.i.i.i, ptr %buff_cur13.i366.i.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit398.i.i.i if.end.i369.i.i.i: ; preds = %if.then152.i.i.i call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp20.i355.i.i.i) store ptr %add.ptr4.i301.i.i.i.i, ptr %agg.tmp20.i355.i.i.i, align 8 store i64 %553, ptr %agg.tmp154353.sroa.5.0.agg.tmp20.i355.sroa_idx.i.i.i, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i354.i.i.i) %stream_writer.i.i370.i.i.i = getelementptr inbounds i8, ptr %606, i64 24 %612 = load ptr, ptr %stream_writer.i.i370.i.i.i, align 8, !tbaa !20 %cmp.not.i.i371.i.i.i = icmp eq ptr %612, null br i1 %cmp.not.i.i371.i.i.i, label %if.else.i.i390.i.i.i, label %if.then.i.i372.i.i.i if.then.i.i372.i.i.i: ; preds = %if.end.i369.i.i.i %cmp2.not.i.i373.i.i.i = icmp eq i64 %607, 0 br i1 %cmp2.not.i.i373.i.i.i, label %if.then12.i.i384.i.i.i, label %if.then3.i.i374.i.i.i if.then3.i.i374.i.i.i: ; preds = %if.then.i.i372.i.i.i %613 = load ptr, ptr %606, align 8, !tbaa !15 store ptr %613, ptr %agg.tmp.i.i354.i.i.i, align 8, !tbaa !91 store i64 %607, ptr %Len.i.i.i.i375.i.i.i, align 8, !tbaa !93 %output_target.i.i376.i.i.i = getelementptr inbounds i8, ptr %606, i64 32 %614 = load ptr, ptr %output_target.i.i376.i.i.i, align 8, !tbaa !21 %call.i.i377.i.i.i = call noundef i32 %612(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i354.i.i.i, ptr noundef %614) #19 %cmp7.i.i378.i.i.i = icmp sgt i32 %call.i.i377.i.i.i, -1 br i1 %cmp7.i.i378.i.i.i, label %if.then3.i.i374.i.if.then12.i.i384.i_crit_edge.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i379.i.i.i if.then3.i.i374.i.if.then12.i.i384.i_crit_edge.i.i: ; preds = %if.then3.i.i374.i.i.i %.pre74.i.i = load ptr, ptr %stream_writer.i.i370.i.i.i, align 8, !tbaa !20 br label %if.then12.i.i384.i.i.i if.then12.i.i384.i.i.i: ; preds = %if.then3.i.i374.i.if.then12.i.i384.i_crit_edge.i.i, %if.then.i.i372.i.i.i %615 = phi ptr [ %.pre74.i.i, %if.then3.i.i374.i.if.then12.i.i384.i_crit_edge.i.i ], [ %612, %if.then.i.i372.i.i.i ] %output_target16.i.i385.i.i.i = getelementptr inbounds i8, ptr %606, i64 32 %616 = load ptr, ptr %output_target16.i.i385.i.i.i, align 8, !tbaa !21 %call17.i.i386.i.i.i = call noundef i32 %615(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp20.i355.i.i.i, ptr noundef %616) #19 %cmp18.i.i387.i.i.i = icmp sgt i32 %call17.i.i386.i.i.i, -1 br i1 %cmp18.i.i387.i.i.i, label %return.sink.split.i.i388.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i379.i.i.i if.else.i.i390.i.i.i: ; preds = %if.end.i369.i.i.i %cmp27.i.i391.i.i.i = icmp ult i64 %607, %608 br i1 %cmp27.i.i391.i.i.i, label %if.then28.i.i392.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i379.i.i.i if.then28.i.i392.i.i.i: ; preds = %if.else.i.i390.i.i.i %sub.i.i393.i.i.i = sub i64 %608, %607 %spec.select.i.i395.i.i.i = call i64 @llvm.umin.i64(i64 %sub.i.i393.i.i.i, i64 %553) %617 = load ptr, ptr %606, align 8, !tbaa !15 %add.ptr.i.i396.i.i.i = getelementptr inbounds i8, ptr %617, i64 %607 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i396.i.i.i, ptr nonnull align 1 %add.ptr4.i301.i.i.i.i, i64 %spec.select.i.i395.i.i.i, i1 false), !alias.scope !257 %618 = load i64, ptr %buff_cur.i360.i.i.i, align 8, !tbaa !19 %add.i.i397.i.i.i = add i64 %618, %spec.select.i.i395.i.i.i br label %return.sink.split.i.i388.i.i.i return.sink.split.i.i388.i.i.i: ; preds = %if.then28.i.i392.i.i.i, %if.then12.i.i384.i.i.i %add.sink.i.i389.i.i.i = phi i64 [ %add.i.i397.i.i.i, %if.then28.i.i392.i.i.i ], [ 0, %if.then12.i.i384.i.i.i ] store i64 %add.sink.i.i389.i.i.i, ptr %buff_cur.i360.i.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i379.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i379.i.i.i: ; preds = %return.sink.split.i.i388.i.i.i, %if.else.i.i390.i.i.i, %if.then12.i.i384.i.i.i, %if.then3.i.i374.i.i.i %retval.3.i.i380.i.i.i = phi i32 [ %call.i.i377.i.i.i, %if.then3.i.i374.i.i.i ], [ %call17.i.i386.i.i.i, %if.then12.i.i384.i.i.i ], [ 0, %if.else.i.i390.i.i.i ], [ 0, %return.sink.split.i.i388.i.i.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp20.i355.i.i.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i354.i.i.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit398.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit398.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i379.i.i.i, %if.then.i364.i.i.i %retval.0.i368.i.i.i = phi i32 [ 0, %if.then.i364.i.i.i ], [ %retval.3.i.i380.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i379.i.i.i ] %cmp157.i.i.i = icmp sgt i32 %retval.0.i368.i.i.i, -1 br i1 %cmp157.i.i.i, label %if.end163.i.i.i, label %cleanup228.i.i.i if.end163.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit398.i.i.i, %if.end150.i.i.i %cmp164.i.i.i = icmp sgt i32 %spaces.0.i.i.i, 0 br i1 %cmp164.i.i.i, label %if.then165.i.i.i, label %if.end227.i.i.i if.then165.i.i.i: ; preds = %if.end163.i.i.i %conv167.i.i.i = zext nneg i32 %spaces.0.i.i.i to i64 %619 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i401.i.i.i = add nsw i32 %619, %spaces.0.i.i.i store i32 %add.i401.i.i.i, ptr %chars_written.i, align 8, !tbaa !25 %620 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i402.i.i.i = getelementptr inbounds i8, ptr %620, i64 16 %621 = load i64, ptr %buff_cur.i402.i.i.i, align 8, !tbaa !19 %add2.i403.i.i.i = add i64 %621, %conv167.i.i.i %buff_len.i404.i.i.i = getelementptr inbounds i8, ptr %620, i64 8 %622 = load i64, ptr %buff_len.i404.i.i.i, align 8, !tbaa !18 %cmp.not.i405.i.i.i = icmp ugt i64 %add2.i403.i.i.i, %622 br i1 %cmp.not.i405.i.i.i, label %if.end.i411.i.i.i, label %if.then.i406.i.i.i if.then.i406.i.i.i: ; preds = %if.then165.i.i.i %623 = load ptr, ptr %620, align 8, !tbaa !15 %add.ptr.i407.i.i.i = getelementptr inbounds i8, ptr %623, i64 %621 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i407.i.i.i, i8 32, i64 %conv167.i.i.i, i1 false) %624 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur8.i408.i.i.i = getelementptr inbounds i8, ptr %624, i64 16 %625 = load i64, ptr %buff_cur8.i408.i.i.i, align 8, !tbaa !19 %add9.i409.i.i.i = add i64 %625, %conv167.i.i.i store i64 %add9.i409.i.i.i, ptr %buff_cur8.i408.i.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit413.i.i.i if.end.i411.i.i.i: ; preds = %if.then165.i.i.i %sub.i964.i = sub i64 %622, %621 %cmp.not.i965.i = icmp eq i64 %sub.i964.i, 0 br i1 %cmp.not.i965.i, label %if.end.i970.i, label %if.then.i966.i if.then.i966.i: ; preds = %if.end.i411.i.i.i %626 = load ptr, ptr %620, align 8, !tbaa !15 %add.ptr.i967.i = getelementptr inbounds i8, ptr %626, i64 %621 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i967.i, i8 32, i64 %sub.i964.i, i1 false) %627 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur7.i968.i = getelementptr inbounds i8, ptr %627, i64 16 %628 = load i64, ptr %buff_cur7.i968.i, align 8, !tbaa !19 %add.i969.i = add i64 %628, %sub.i964.i store i64 %add.i969.i, ptr %buff_cur7.i968.i, align 8, !tbaa !19 br label %if.end.i970.i if.end.i970.i: ; preds = %if.then.i966.i, %if.end.i411.i.i.i call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %mini_buff.i961.i) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %mini_buff.i961.i, i8 32, i64 64, i1 false) br label %while.cond.i973.i while.cond.i973.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1020.i, %if.end.i970.i %written.1.i974.i = phi i64 [ %sub.i964.i, %if.end.i970.i ], [ %add9.i975.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1020.i ] %add9.i975.i = add i64 %written.1.i974.i, 64 %cmp10.i976.i = icmp ult i64 %add9.i975.i, %conv167.i.i.i br i1 %cmp10.i976.i, label %while.body.i1010.i, label %while.end.i977.i while.body.i1010.i: ; preds = %while.cond.i973.i %629 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp35.i960.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i959.i) store ptr %mini_buff.i961.i, ptr %agg.tmp35.i960.i, align 8 store i64 64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i971.i, align 8 %stream_writer.i.i1011.i = getelementptr inbounds i8, ptr %629, i64 24 %630 = load ptr, ptr %stream_writer.i.i1011.i, align 8, !tbaa !20 %cmp.not.i.i1012.i = icmp eq ptr %630, null %buff_cur26.i.i1013.i = getelementptr inbounds i8, ptr %629, i64 16 %631 = load i64, ptr %buff_cur26.i.i1013.i, align 8, !tbaa !19 br i1 %cmp.not.i.i1012.i, label %if.else.i.i1033.i, label %if.then.i.i1014.i if.then.i.i1014.i: ; preds = %while.body.i1010.i %cmp2.not.i.i1015.i = icmp eq i64 %631, 0 br i1 %cmp2.not.i.i1015.i, label %if.end9.i.i1025.i, label %if.then3.i.i1016.i if.then3.i.i1016.i: ; preds = %if.then.i.i1014.i %632 = load ptr, ptr %629, align 8, !tbaa !15 store ptr %632, ptr %agg.tmp.i.i959.i, align 8, !tbaa !91 store i64 %631, ptr %Len.i.i.i.i972.i, align 8, !tbaa !93 %output_target.i.i1017.i = getelementptr inbounds i8, ptr %629, i64 32 %633 = load ptr, ptr %output_target.i.i1017.i, align 8, !tbaa !21 %call.i.i1018.i = call noundef i32 %630(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i959.i, ptr noundef %633) #19 %cmp7.i.i1019.i = icmp sgt i32 %call.i.i1018.i, -1 br i1 %cmp7.i.i1019.i, label %if.then3.i.if.end9.i_crit_edge.i1023.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1020.i if.then3.i.if.end9.i_crit_edge.i1023.i: ; preds = %if.then3.i.i1016.i %.pre.i1024.i = load i64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i971.i, align 8, !tbaa !93 br label %if.end9.i.i1025.i if.end9.i.i1025.i: ; preds = %if.then3.i.if.end9.i_crit_edge.i1023.i, %if.then.i.i1014.i %634 = phi i64 [ %.pre.i1024.i, %if.then3.i.if.end9.i_crit_edge.i1023.i ], [ 64, %if.then.i.i1014.i ] %cmp11.not.i.i1026.i = icmp eq i64 %634, 0 br i1 %cmp11.not.i.i1026.i, label %return.sink.split.i.i1031.i, label %if.then12.i.i1027.i if.then12.i.i1027.i: ; preds = %if.end9.i.i1025.i %635 = load ptr, ptr %stream_writer.i.i1011.i, align 8, !tbaa !20 %output_target16.i.i1028.i = getelementptr inbounds i8, ptr %629, i64 32 %636 = load ptr, ptr %output_target16.i.i1028.i, align 8, !tbaa !21 %call17.i.i1029.i = call noundef i32 %635(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp35.i960.i, ptr noundef %636) #19 %cmp18.i.i1030.i = icmp sgt i32 %call17.i.i1029.i, -1 br i1 %cmp18.i.i1030.i, label %return.sink.split.i.i1031.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1020.i if.else.i.i1033.i: ; preds = %while.body.i1010.i %buff_len.i.i1034.i = getelementptr inbounds i8, ptr %629, i64 8 %637 = load i64, ptr %buff_len.i.i1034.i, align 8, !tbaa !18 %cmp27.i.i1035.i = icmp ult i64 %631, %637 br i1 %cmp27.i.i1035.i, label %if.then28.i.i1036.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1020.i if.then28.i.i1036.i: ; preds = %if.else.i.i1033.i %sub.i.i1037.i = sub i64 %637, %631 %spec.select.i.i1038.i = call i64 @llvm.umin.i64(i64 %sub.i.i1037.i, i64 64) %638 = load ptr, ptr %629, align 8, !tbaa !15 %add.ptr.i.i1039.i = getelementptr inbounds i8, ptr %638, i64 %631 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i1039.i, ptr nonnull align 1 %mini_buff.i961.i, i64 %spec.select.i.i1038.i, i1 false), !alias.scope !261 %639 = load i64, ptr %buff_cur26.i.i1013.i, align 8, !tbaa !19 %add.i.i1040.i = add i64 %639, %spec.select.i.i1038.i br label %return.sink.split.i.i1031.i return.sink.split.i.i1031.i: ; preds = %if.then28.i.i1036.i, %if.then12.i.i1027.i, %if.end9.i.i1025.i %add.sink.i.i1032.i = phi i64 [ %add.i.i1040.i, %if.then28.i.i1036.i ], [ 0, %if.then12.i.i1027.i ], [ 0, %if.end9.i.i1025.i ] store i64 %add.sink.i.i1032.i, ptr %buff_cur26.i.i1013.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1020.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1020.i: ; preds = %return.sink.split.i.i1031.i, %if.else.i.i1033.i, %if.then12.i.i1027.i, %if.then3.i.i1016.i %retval.3.i.i1021.i = phi i32 [ %call.i.i1018.i, %if.then3.i.i1016.i ], [ %call17.i.i1029.i, %if.then12.i.i1027.i ], [ 0, %if.else.i.i1033.i ], [ 0, %return.sink.split.i.i1031.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp35.i960.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i959.i) %cmp12.not.i1022.i = icmp eq i32 %retval.3.i.i1021.i, 0 br i1 %cmp12.not.i1022.i, label %while.cond.i973.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit1041.i, !llvm.loop !102 while.end.i977.i: ; preds = %while.cond.i973.i %written.1.i974.i.lcssa = phi i64 [ %written.1.i974.i, %while.cond.i973.i ] %sub16.i978.i = sub i64 %conv167.i.i.i, %written.1.i974.i.lcssa %cond.i6.i.i979.i = call noundef i64 @llvm.umin.i64(i64 %sub16.i978.i, i64 64) %640 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1939.i958.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i40.i957.i) store ptr %mini_buff.i961.i, ptr %agg.tmp1939.i958.i, align 8 store i64 %cond.i6.i.i979.i, ptr %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i980.i, align 8 %stream_writer.i41.i981.i = getelementptr inbounds i8, ptr %640, i64 24 %641 = load ptr, ptr %stream_writer.i41.i981.i, align 8, !tbaa !20 %cmp.not.i42.i982.i = icmp eq ptr %641, null %buff_cur26.i43.i983.i = getelementptr inbounds i8, ptr %640, i64 16 %642 = load i64, ptr %buff_cur26.i43.i983.i, align 8, !tbaa !19 br i1 %cmp.not.i42.i982.i, label %if.else.i61.i1002.i, label %if.then.i44.i984.i if.then.i44.i984.i: ; preds = %while.end.i977.i %cmp2.not.i45.i985.i = icmp eq i64 %642, 0 br i1 %cmp2.not.i45.i985.i, label %if.end9.i52.i994.i, label %if.then3.i46.i986.i if.then3.i46.i986.i: ; preds = %if.then.i44.i984.i %643 = load ptr, ptr %640, align 8, !tbaa !15 store ptr %643, ptr %agg.tmp.i40.i957.i, align 8, !tbaa !91 store i64 %642, ptr %Len.i.i.i47.i987.i, align 8, !tbaa !93 %output_target.i48.i988.i = getelementptr inbounds i8, ptr %640, i64 32 %644 = load ptr, ptr %output_target.i48.i988.i, align 8, !tbaa !21 %call.i49.i989.i = call noundef i32 %641(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i40.i957.i, ptr noundef %644) #19 %cmp7.i50.i990.i = icmp sgt i32 %call.i49.i989.i, -1 br i1 %cmp7.i50.i990.i, label %if.end9.i52.i994.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i991.i if.end9.i52.i994.i: ; preds = %if.then3.i46.i986.i, %if.then.i44.i984.i %cmp11.not.i54.i995.i = icmp eq i64 %written.1.i974.i.lcssa, %conv167.i.i.i br i1 %cmp11.not.i54.i995.i, label %return.sink.split.i59.i1000.i, label %if.then12.i55.i996.i if.then12.i55.i996.i: ; preds = %if.end9.i52.i994.i %645 = load ptr, ptr %stream_writer.i41.i981.i, align 8, !tbaa !20 %output_target16.i56.i997.i = getelementptr inbounds i8, ptr %640, i64 32 %646 = load ptr, ptr %output_target16.i56.i997.i, align 8, !tbaa !21 %call17.i57.i998.i = call noundef i32 %645(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp1939.i958.i, ptr noundef %646) #19 %cmp18.i58.i999.i = icmp sgt i32 %call17.i57.i998.i, -1 br i1 %cmp18.i58.i999.i, label %return.sink.split.i59.i1000.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i991.i if.else.i61.i1002.i: ; preds = %while.end.i977.i %buff_len.i62.i1003.i = getelementptr inbounds i8, ptr %640, i64 8 %647 = load i64, ptr %buff_len.i62.i1003.i, align 8, !tbaa !18 %cmp27.i63.i1004.i = icmp ult i64 %642, %647 br i1 %cmp27.i63.i1004.i, label %if.then28.i64.i1005.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i991.i if.then28.i64.i1005.i: ; preds = %if.else.i61.i1002.i %sub.i65.i1006.i = sub i64 %647, %642 %spec.select.i67.i1007.i = call i64 @llvm.umin.i64(i64 %sub.i65.i1006.i, i64 %cond.i6.i.i979.i) %648 = load ptr, ptr %640, align 8, !tbaa !15 %add.ptr.i68.i1008.i = getelementptr inbounds i8, ptr %648, i64 %642 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i68.i1008.i, ptr nonnull align 1 %mini_buff.i961.i, i64 %spec.select.i67.i1007.i, i1 false), !alias.scope !265 %649 = load i64, ptr %buff_cur26.i43.i983.i, align 8, !tbaa !19 %add.i69.i1009.i = add i64 %649, %spec.select.i67.i1007.i br label %return.sink.split.i59.i1000.i return.sink.split.i59.i1000.i: ; preds = %if.then28.i64.i1005.i, %if.then12.i55.i996.i, %if.end9.i52.i994.i %add.sink.i60.i1001.i = phi i64 [ %add.i69.i1009.i, %if.then28.i64.i1005.i ], [ 0, %if.then12.i55.i996.i ], [ 0, %if.end9.i52.i994.i ] store i64 %add.sink.i60.i1001.i, ptr %buff_cur26.i43.i983.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i991.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i991.i: ; preds = %return.sink.split.i59.i1000.i, %if.else.i61.i1002.i, %if.then12.i55.i996.i, %if.then3.i46.i986.i %retval.3.i51.i992.i = phi i32 [ %call.i49.i989.i, %if.then3.i46.i986.i ], [ %call17.i57.i998.i, %if.then12.i55.i996.i ], [ 0, %if.else.i61.i1002.i ], [ 0, %return.sink.split.i59.i1000.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1939.i958.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i40.i957.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit1041.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit1041.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i991.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1020.i %retval.2.i993.i = phi i32 [ %retval.3.i51.i992.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i991.i ], [ %retval.3.i.i1021.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1020.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %mini_buff.i961.i) #18 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit413.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit413.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit1041.i, %if.then.i406.i.i.i %retval.0.i410.i.i.i = phi i32 [ 0, %if.then.i406.i.i.i ], [ %retval.2.i993.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit1041.i ] %cmp169.i.i.i = icmp sgt i32 %retval.0.i410.i.i.i, -1 br i1 %cmp169.i.i.i, label %if.end227.i.i.i, label %cleanup228.i.i.i if.else176.i.i.i: ; preds = %if.end126.i.i.i %cmp177.i.i.i = icmp sgt i32 %spaces.0.i.i.i, 0 %.pre76.i.i = load ptr, ptr %writer, align 8, !tbaa !22 %.pre88 = load i32, ptr %chars_written.i, align 8, !tbaa !25 br i1 %cmp177.i.i.i, label %if.then178.i.i.i, label %if.then190.i.i.i if.then178.i.i.i: ; preds = %if.else176.i.i.i %conv180.i.i.i = zext nneg i32 %spaces.0.i.i.i to i64 %add.i416.i.i.i = add nsw i32 %.pre88, %spaces.0.i.i.i store i32 %add.i416.i.i.i, ptr %chars_written.i, align 8, !tbaa !25 %buff_cur.i417.i.i.i = getelementptr inbounds i8, ptr %.pre76.i.i, i64 16 %650 = load i64, ptr %buff_cur.i417.i.i.i, align 8, !tbaa !19 %add2.i418.i.i.i = add i64 %650, %conv180.i.i.i %buff_len.i419.i.i.i = getelementptr inbounds i8, ptr %.pre76.i.i, i64 8 %651 = load i64, ptr %buff_len.i419.i.i.i, align 8, !tbaa !18 %cmp.not.i420.i.i.i = icmp ugt i64 %add2.i418.i.i.i, %651 br i1 %cmp.not.i420.i.i.i, label %if.end.i426.i.i.i, label %if.then.i421.i.i.i if.then.i421.i.i.i: ; preds = %if.then178.i.i.i %652 = load ptr, ptr %.pre76.i.i, align 8, !tbaa !15 %add.ptr.i422.i.i.i = getelementptr inbounds i8, ptr %652, i64 %650 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i422.i.i.i, i8 32, i64 %conv180.i.i.i, i1 false) %653 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur8.i423.i.i.i = getelementptr inbounds i8, ptr %653, i64 16 %654 = load i64, ptr %buff_cur8.i423.i.i.i, align 8, !tbaa !19 %add9.i424.i.i.i = add i64 %654, %conv180.i.i.i store i64 %add9.i424.i.i.i, ptr %buff_cur8.i423.i.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.i.i if.end.i426.i.i.i: ; preds = %if.then178.i.i.i %sub.i1049.i = sub i64 %651, %650 %cmp.not.i1050.i = icmp eq i64 %sub.i1049.i, 0 br i1 %cmp.not.i1050.i, label %if.end.i1055.i, label %if.then.i1051.i if.then.i1051.i: ; preds = %if.end.i426.i.i.i %655 = load ptr, ptr %.pre76.i.i, align 8, !tbaa !15 %add.ptr.i1052.i = getelementptr inbounds i8, ptr %655, i64 %650 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i1052.i, i8 32, i64 %sub.i1049.i, i1 false) %656 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur7.i1053.i = getelementptr inbounds i8, ptr %656, i64 16 %657 = load i64, ptr %buff_cur7.i1053.i, align 8, !tbaa !19 %add.i1054.i = add i64 %657, %sub.i1049.i store i64 %add.i1054.i, ptr %buff_cur7.i1053.i, align 8, !tbaa !19 br label %if.end.i1055.i if.end.i1055.i: ; preds = %if.then.i1051.i, %if.end.i426.i.i.i call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %mini_buff.i1046.i) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %mini_buff.i1046.i, i8 32, i64 64, i1 false) br label %while.cond.i1058.i while.cond.i1058.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1105.i, %if.end.i1055.i %written.1.i1059.i = phi i64 [ %sub.i1049.i, %if.end.i1055.i ], [ %add9.i1060.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1105.i ] %add9.i1060.i = add i64 %written.1.i1059.i, 64 %cmp10.i1061.i = icmp ult i64 %add9.i1060.i, %conv180.i.i.i br i1 %cmp10.i1061.i, label %while.body.i1095.i, label %while.end.i1062.i while.body.i1095.i: ; preds = %while.cond.i1058.i %658 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp35.i1045.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i1044.i) store ptr %mini_buff.i1046.i, ptr %agg.tmp35.i1045.i, align 8 store i64 64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i1056.i, align 8 %stream_writer.i.i1096.i = getelementptr inbounds i8, ptr %658, i64 24 %659 = load ptr, ptr %stream_writer.i.i1096.i, align 8, !tbaa !20 %cmp.not.i.i1097.i = icmp eq ptr %659, null %buff_cur26.i.i1098.i = getelementptr inbounds i8, ptr %658, i64 16 %660 = load i64, ptr %buff_cur26.i.i1098.i, align 8, !tbaa !19 br i1 %cmp.not.i.i1097.i, label %if.else.i.i1118.i, label %if.then.i.i1099.i if.then.i.i1099.i: ; preds = %while.body.i1095.i %cmp2.not.i.i1100.i = icmp eq i64 %660, 0 br i1 %cmp2.not.i.i1100.i, label %if.end9.i.i1110.i, label %if.then3.i.i1101.i if.then3.i.i1101.i: ; preds = %if.then.i.i1099.i %661 = load ptr, ptr %658, align 8, !tbaa !15 store ptr %661, ptr %agg.tmp.i.i1044.i, align 8, !tbaa !91 store i64 %660, ptr %Len.i.i.i.i1057.i, align 8, !tbaa !93 %output_target.i.i1102.i = getelementptr inbounds i8, ptr %658, i64 32 %662 = load ptr, ptr %output_target.i.i1102.i, align 8, !tbaa !21 %call.i.i1103.i = call noundef i32 %659(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i1044.i, ptr noundef %662) #19 %cmp7.i.i1104.i = icmp sgt i32 %call.i.i1103.i, -1 br i1 %cmp7.i.i1104.i, label %if.then3.i.if.end9.i_crit_edge.i1108.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1105.i if.then3.i.if.end9.i_crit_edge.i1108.i: ; preds = %if.then3.i.i1101.i %.pre.i1109.i = load i64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i1056.i, align 8, !tbaa !93 br label %if.end9.i.i1110.i if.end9.i.i1110.i: ; preds = %if.then3.i.if.end9.i_crit_edge.i1108.i, %if.then.i.i1099.i %663 = phi i64 [ %.pre.i1109.i, %if.then3.i.if.end9.i_crit_edge.i1108.i ], [ 64, %if.then.i.i1099.i ] %cmp11.not.i.i1111.i = icmp eq i64 %663, 0 br i1 %cmp11.not.i.i1111.i, label %return.sink.split.i.i1116.i, label %if.then12.i.i1112.i if.then12.i.i1112.i: ; preds = %if.end9.i.i1110.i %664 = load ptr, ptr %stream_writer.i.i1096.i, align 8, !tbaa !20 %output_target16.i.i1113.i = getelementptr inbounds i8, ptr %658, i64 32 %665 = load ptr, ptr %output_target16.i.i1113.i, align 8, !tbaa !21 %call17.i.i1114.i = call noundef i32 %664(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp35.i1045.i, ptr noundef %665) #19 %cmp18.i.i1115.i = icmp sgt i32 %call17.i.i1114.i, -1 br i1 %cmp18.i.i1115.i, label %return.sink.split.i.i1116.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1105.i if.else.i.i1118.i: ; preds = %while.body.i1095.i %buff_len.i.i1119.i = getelementptr inbounds i8, ptr %658, i64 8 %666 = load i64, ptr %buff_len.i.i1119.i, align 8, !tbaa !18 %cmp27.i.i1120.i = icmp ult i64 %660, %666 br i1 %cmp27.i.i1120.i, label %if.then28.i.i1121.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1105.i if.then28.i.i1121.i: ; preds = %if.else.i.i1118.i %sub.i.i1122.i = sub i64 %666, %660 %spec.select.i.i1123.i = call i64 @llvm.umin.i64(i64 %sub.i.i1122.i, i64 64) %667 = load ptr, ptr %658, align 8, !tbaa !15 %add.ptr.i.i1124.i = getelementptr inbounds i8, ptr %667, i64 %660 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i1124.i, ptr nonnull align 1 %mini_buff.i1046.i, i64 %spec.select.i.i1123.i, i1 false), !alias.scope !269 %668 = load i64, ptr %buff_cur26.i.i1098.i, align 8, !tbaa !19 %add.i.i1125.i = add i64 %668, %spec.select.i.i1123.i br label %return.sink.split.i.i1116.i return.sink.split.i.i1116.i: ; preds = %if.then28.i.i1121.i, %if.then12.i.i1112.i, %if.end9.i.i1110.i %add.sink.i.i1117.i = phi i64 [ %add.i.i1125.i, %if.then28.i.i1121.i ], [ 0, %if.then12.i.i1112.i ], [ 0, %if.end9.i.i1110.i ] store i64 %add.sink.i.i1117.i, ptr %buff_cur26.i.i1098.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1105.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1105.i: ; preds = %return.sink.split.i.i1116.i, %if.else.i.i1118.i, %if.then12.i.i1112.i, %if.then3.i.i1101.i %retval.3.i.i1106.i = phi i32 [ %call.i.i1103.i, %if.then3.i.i1101.i ], [ %call17.i.i1114.i, %if.then12.i.i1112.i ], [ 0, %if.else.i.i1118.i ], [ 0, %return.sink.split.i.i1116.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp35.i1045.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i1044.i) %cmp12.not.i1107.i = icmp eq i32 %retval.3.i.i1106.i, 0 br i1 %cmp12.not.i1107.i, label %while.cond.i1058.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit1126.i, !llvm.loop !102 while.end.i1062.i: ; preds = %while.cond.i1058.i %written.1.i1059.i.lcssa = phi i64 [ %written.1.i1059.i, %while.cond.i1058.i ] %sub16.i1063.i = sub i64 %conv180.i.i.i, %written.1.i1059.i.lcssa %cond.i6.i.i1064.i = call noundef i64 @llvm.umin.i64(i64 %sub16.i1063.i, i64 64) %669 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1939.i1043.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i40.i1042.i) store ptr %mini_buff.i1046.i, ptr %agg.tmp1939.i1043.i, align 8 store i64 %cond.i6.i.i1064.i, ptr %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i1065.i, align 8 %stream_writer.i41.i1066.i = getelementptr inbounds i8, ptr %669, i64 24 %670 = load ptr, ptr %stream_writer.i41.i1066.i, align 8, !tbaa !20 %cmp.not.i42.i1067.i = icmp eq ptr %670, null %buff_cur26.i43.i1068.i = getelementptr inbounds i8, ptr %669, i64 16 %671 = load i64, ptr %buff_cur26.i43.i1068.i, align 8, !tbaa !19 br i1 %cmp.not.i42.i1067.i, label %if.else.i61.i1087.i, label %if.then.i44.i1069.i if.then.i44.i1069.i: ; preds = %while.end.i1062.i %cmp2.not.i45.i1070.i = icmp eq i64 %671, 0 br i1 %cmp2.not.i45.i1070.i, label %if.end9.i52.i1079.i, label %if.then3.i46.i1071.i if.then3.i46.i1071.i: ; preds = %if.then.i44.i1069.i %672 = load ptr, ptr %669, align 8, !tbaa !15 store ptr %672, ptr %agg.tmp.i40.i1042.i, align 8, !tbaa !91 store i64 %671, ptr %Len.i.i.i47.i1072.i, align 8, !tbaa !93 %output_target.i48.i1073.i = getelementptr inbounds i8, ptr %669, i64 32 %673 = load ptr, ptr %output_target.i48.i1073.i, align 8, !tbaa !21 %call.i49.i1074.i = call noundef i32 %670(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i40.i1042.i, ptr noundef %673) #19 %cmp7.i50.i1075.i = icmp sgt i32 %call.i49.i1074.i, -1 br i1 %cmp7.i50.i1075.i, label %if.end9.i52.i1079.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i1076.i if.end9.i52.i1079.i: ; preds = %if.then3.i46.i1071.i, %if.then.i44.i1069.i %cmp11.not.i54.i1080.i = icmp eq i64 %written.1.i1059.i.lcssa, %conv180.i.i.i br i1 %cmp11.not.i54.i1080.i, label %return.sink.split.i59.i1085.i, label %if.then12.i55.i1081.i if.then12.i55.i1081.i: ; preds = %if.end9.i52.i1079.i %674 = load ptr, ptr %stream_writer.i41.i1066.i, align 8, !tbaa !20 %output_target16.i56.i1082.i = getelementptr inbounds i8, ptr %669, i64 32 %675 = load ptr, ptr %output_target16.i56.i1082.i, align 8, !tbaa !21 %call17.i57.i1083.i = call noundef i32 %674(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp1939.i1043.i, ptr noundef %675) #19 %cmp18.i58.i1084.i = icmp sgt i32 %call17.i57.i1083.i, -1 br i1 %cmp18.i58.i1084.i, label %return.sink.split.i59.i1085.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i1076.i if.else.i61.i1087.i: ; preds = %while.end.i1062.i %buff_len.i62.i1088.i = getelementptr inbounds i8, ptr %669, i64 8 %676 = load i64, ptr %buff_len.i62.i1088.i, align 8, !tbaa !18 %cmp27.i63.i1089.i = icmp ult i64 %671, %676 br i1 %cmp27.i63.i1089.i, label %if.then28.i64.i1090.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i1076.i if.then28.i64.i1090.i: ; preds = %if.else.i61.i1087.i %sub.i65.i1091.i = sub i64 %676, %671 %spec.select.i67.i1092.i = call i64 @llvm.umin.i64(i64 %sub.i65.i1091.i, i64 %cond.i6.i.i1064.i) %677 = load ptr, ptr %669, align 8, !tbaa !15 %add.ptr.i68.i1093.i = getelementptr inbounds i8, ptr %677, i64 %671 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i68.i1093.i, ptr nonnull align 1 %mini_buff.i1046.i, i64 %spec.select.i67.i1092.i, i1 false), !alias.scope !273 %678 = load i64, ptr %buff_cur26.i43.i1068.i, align 8, !tbaa !19 %add.i69.i1094.i = add i64 %678, %spec.select.i67.i1092.i br label %return.sink.split.i59.i1085.i return.sink.split.i59.i1085.i: ; preds = %if.then28.i64.i1090.i, %if.then12.i55.i1081.i, %if.end9.i52.i1079.i %add.sink.i60.i1086.i = phi i64 [ %add.i69.i1094.i, %if.then28.i64.i1090.i ], [ 0, %if.then12.i55.i1081.i ], [ 0, %if.end9.i52.i1079.i ] store i64 %add.sink.i60.i1086.i, ptr %buff_cur26.i43.i1068.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i1076.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i1076.i: ; preds = %return.sink.split.i59.i1085.i, %if.else.i61.i1087.i, %if.then12.i55.i1081.i, %if.then3.i46.i1071.i %retval.3.i51.i1077.i = phi i32 [ %call.i49.i1074.i, %if.then3.i46.i1071.i ], [ %call17.i57.i1083.i, %if.then12.i55.i1081.i ], [ 0, %if.else.i61.i1087.i ], [ 0, %return.sink.split.i59.i1085.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1939.i1043.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i40.i1042.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit1126.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit1126.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i1076.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1105.i %retval.2.i1078.i = phi i32 [ %retval.3.i51.i1077.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i1076.i ], [ %retval.3.i.i1106.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1105.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %mini_buff.i1046.i) #18 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit1126.i, %if.then.i421.i.i.i %retval.0.i425.i.i.i = phi i32 [ 0, %if.then.i421.i.i.i ], [ %retval.2.i1078.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit1126.i ] %cmp182.i.i.i = icmp sgt i32 %retval.0.i425.i.i.i, -1 br i1 %cmp182.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.if.then190.i_crit_edge.i.i, label %cleanup228.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.if.then190.i_crit_edge.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.i.i %.pre75.i.i = load ptr, ptr %writer, align 8, !tbaa !22 %.pre87 = load i32, ptr %chars_written.i, align 8, !tbaa !25 br label %if.then190.i.i.i if.then190.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.if.then190.i_crit_edge.i.i, %if.else176.i.i.i %679 = phi i32 [ %.pre87, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.if.then190.i_crit_edge.i.i ], [ %.pre88, %if.else176.i.i.i ] %680 = phi ptr [ %.pre75.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.if.then190.i_crit_edge.i.i ], [ %.pre76.i.i, %if.else176.i.i.i ] %add.i436.i.i.i = add nsw i32 %679, 2 store i32 %add.i436.i.i.i, ptr %chars_written.i, align 8, !tbaa !25 %buff_cur.i437.i.i.i = getelementptr inbounds i8, ptr %680, i64 16 %681 = load i64, ptr %buff_cur.i437.i.i.i, align 8, !tbaa !19 %add3.i438.i.i.i = add i64 %681, 2 %buff_len.i439.i.i.i = getelementptr inbounds i8, ptr %680, i64 8 %682 = load i64, ptr %buff_len.i439.i.i.i, align 8, !tbaa !18 %cmp.not.i440.i.i.i = icmp ugt i64 %add3.i438.i.i.i, %682 br i1 %cmp.not.i440.i.i.i, label %if.end.i446.i.i.i, label %if.then.i441.i.i.i if.then.i441.i.i.i: ; preds = %if.then190.i.i.i %683 = load ptr, ptr %680, align 8, !tbaa !15 %add.ptr.i442.i.i.i = getelementptr inbounds i8, ptr %683, i64 %681 %684 = load i16, ptr %prefix.i.i.i, align 2, !alias.scope !277 store i16 %684, ptr %add.ptr.i442.i.i.i, align 1, !alias.scope !277 %685 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur13.i443.i.i.i = getelementptr inbounds i8, ptr %685, i64 16 %686 = load i64, ptr %buff_cur13.i443.i.i.i, align 8, !tbaa !19 %add14.i444.i.i.i = add i64 %686, 2 store i64 %add14.i444.i.i.i, ptr %buff_cur13.i443.i.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit475.i.i.i if.end.i446.i.i.i: ; preds = %if.then190.i.i.i call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp20.i432.i.i.i) store ptr %prefix.i.i.i, ptr %agg.tmp20.i432.i.i.i, align 8 store i64 2, ptr %agg.tmp192430.sroa.5.0.agg.tmp20.i432.sroa_idx.i.i.i, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i431.i.i.i) %stream_writer.i.i447.i.i.i = getelementptr inbounds i8, ptr %680, i64 24 %687 = load ptr, ptr %stream_writer.i.i447.i.i.i, align 8, !tbaa !20 %cmp.not.i.i448.i.i.i = icmp eq ptr %687, null br i1 %cmp.not.i.i448.i.i.i, label %if.else.i.i467.i.i.i, label %if.then.i.i449.i.i.i if.then.i.i449.i.i.i: ; preds = %if.end.i446.i.i.i %cmp2.not.i.i450.i.i.i = icmp eq i64 %681, 0 br i1 %cmp2.not.i.i450.i.i.i, label %if.then12.i.i461.i.i.i, label %if.then3.i.i451.i.i.i if.then3.i.i451.i.i.i: ; preds = %if.then.i.i449.i.i.i %688 = load ptr, ptr %680, align 8, !tbaa !15 store ptr %688, ptr %agg.tmp.i.i431.i.i.i, align 8, !tbaa !91 store i64 %681, ptr %Len.i.i.i.i452.i.i.i, align 8, !tbaa !93 %output_target.i.i453.i.i.i = getelementptr inbounds i8, ptr %680, i64 32 %689 = load ptr, ptr %output_target.i.i453.i.i.i, align 8, !tbaa !21 %call.i.i454.i.i.i = call noundef i32 %687(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i431.i.i.i, ptr noundef %689) #19 %cmp7.i.i455.i.i.i = icmp sgt i32 %call.i.i454.i.i.i, -1 br i1 %cmp7.i.i455.i.i.i, label %if.then3.i.i451.i.if.then12.i.i461.i_crit_edge.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i456.i.i.i if.then3.i.i451.i.if.then12.i.i461.i_crit_edge.i.i: ; preds = %if.then3.i.i451.i.i.i %.pre77.i.i = load ptr, ptr %stream_writer.i.i447.i.i.i, align 8, !tbaa !20 br label %if.then12.i.i461.i.i.i if.then12.i.i461.i.i.i: ; preds = %if.then3.i.i451.i.if.then12.i.i461.i_crit_edge.i.i, %if.then.i.i449.i.i.i %690 = phi ptr [ %.pre77.i.i, %if.then3.i.i451.i.if.then12.i.i461.i_crit_edge.i.i ], [ %687, %if.then.i.i449.i.i.i ] %output_target16.i.i462.i.i.i = getelementptr inbounds i8, ptr %680, i64 32 %691 = load ptr, ptr %output_target16.i.i462.i.i.i, align 8, !tbaa !21 %call17.i.i463.i.i.i = call noundef i32 %690(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp20.i432.i.i.i, ptr noundef %691) #19 %cmp18.i.i464.i.i.i = icmp sgt i32 %call17.i.i463.i.i.i, -1 br i1 %cmp18.i.i464.i.i.i, label %return.sink.split.i.i465.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i456.i.i.i if.else.i.i467.i.i.i: ; preds = %if.end.i446.i.i.i %cmp27.i.i468.i.i.i = icmp ult i64 %681, %682 br i1 %cmp27.i.i468.i.i.i, label %if.then28.i.i469.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i456.i.i.i if.then28.i.i469.i.i.i: ; preds = %if.else.i.i467.i.i.i %sub.i.i470.i.i.i = sub i64 %682, %681 %spec.select.i.i472.i.i.i = call i64 @llvm.umin.i64(i64 %sub.i.i470.i.i.i, i64 2) %692 = load ptr, ptr %680, align 8, !tbaa !15 %add.ptr.i.i473.i.i.i = getelementptr inbounds i8, ptr %692, i64 %681 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i473.i.i.i, ptr nonnull align 2 %prefix.i.i.i, i64 %spec.select.i.i472.i.i.i, i1 false), !alias.scope !281 %693 = load i64, ptr %buff_cur.i437.i.i.i, align 8, !tbaa !19 %add.i.i474.i.i.i = add i64 %693, %spec.select.i.i472.i.i.i br label %return.sink.split.i.i465.i.i.i return.sink.split.i.i465.i.i.i: ; preds = %if.then28.i.i469.i.i.i, %if.then12.i.i461.i.i.i %add.sink.i.i466.i.i.i = phi i64 [ %add.i.i474.i.i.i, %if.then28.i.i469.i.i.i ], [ 0, %if.then12.i.i461.i.i.i ] store i64 %add.sink.i.i466.i.i.i, ptr %buff_cur.i437.i.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i456.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i456.i.i.i: ; preds = %return.sink.split.i.i465.i.i.i, %if.else.i.i467.i.i.i, %if.then12.i.i461.i.i.i, %if.then3.i.i451.i.i.i %retval.3.i.i457.i.i.i = phi i32 [ %call.i.i454.i.i.i, %if.then3.i.i451.i.i.i ], [ %call17.i.i463.i.i.i, %if.then12.i.i461.i.i.i ], [ 0, %if.else.i.i467.i.i.i ], [ 0, %return.sink.split.i.i465.i.i.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp20.i432.i.i.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i431.i.i.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit475.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit475.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i456.i.i.i, %if.then.i441.i.i.i %retval.0.i445.i.i.i = phi i32 [ 0, %if.then.i441.i.i.i ], [ %retval.3.i.i457.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i456.i.i.i ] %cmp195.i.i.i = icmp sgt i32 %retval.0.i445.i.i.i, -1 br i1 %cmp195.i.i.i, label %if.end201.i.i.i, label %cleanup228.i.i.i if.end201.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit475.i.i.i %cmp202.i.i.i = icmp sgt i32 %zeroes.0.i.i.i, 0 br i1 %cmp202.i.i.i, label %if.then203.i.i.i, label %if.end213.i.i.i if.then203.i.i.i: ; preds = %if.end201.i.i.i %conv205.i.i.i = zext nneg i32 %zeroes.0.i.i.i to i64 %694 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i478.i.i.i = add nsw i32 %694, %zeroes.0.i.i.i store i32 %add.i478.i.i.i, ptr %chars_written.i, align 8, !tbaa !25 %695 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i479.i.i.i = getelementptr inbounds i8, ptr %695, i64 16 %696 = load i64, ptr %buff_cur.i479.i.i.i, align 8, !tbaa !19 %add2.i480.i.i.i = add i64 %696, %conv205.i.i.i %buff_len.i481.i.i.i = getelementptr inbounds i8, ptr %695, i64 8 %697 = load i64, ptr %buff_len.i481.i.i.i, align 8, !tbaa !18 %cmp.not.i482.i.i.i = icmp ugt i64 %add2.i480.i.i.i, %697 br i1 %cmp.not.i482.i.i.i, label %if.end.i488.i.i.i, label %if.then.i483.i.i.i if.then.i483.i.i.i: ; preds = %if.then203.i.i.i %698 = load ptr, ptr %695, align 8, !tbaa !15 %add.ptr.i484.i.i.i = getelementptr inbounds i8, ptr %698, i64 %696 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i484.i.i.i, i8 48, i64 %conv205.i.i.i, i1 false) %699 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur8.i485.i.i.i = getelementptr inbounds i8, ptr %699, i64 16 %700 = load i64, ptr %buff_cur8.i485.i.i.i, align 8, !tbaa !19 %add9.i486.i.i.i = add i64 %700, %conv205.i.i.i store i64 %add9.i486.i.i.i, ptr %buff_cur8.i485.i.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit490.i.i.i if.end.i488.i.i.i: ; preds = %if.then203.i.i.i %sub.i1134.i = sub i64 %697, %696 %cmp.not.i1135.i = icmp eq i64 %sub.i1134.i, 0 br i1 %cmp.not.i1135.i, label %if.end.i1140.i, label %if.then.i1136.i if.then.i1136.i: ; preds = %if.end.i488.i.i.i %701 = load ptr, ptr %695, align 8, !tbaa !15 %add.ptr.i1137.i = getelementptr inbounds i8, ptr %701, i64 %696 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i1137.i, i8 48, i64 %sub.i1134.i, i1 false) %702 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur7.i1138.i = getelementptr inbounds i8, ptr %702, i64 16 %703 = load i64, ptr %buff_cur7.i1138.i, align 8, !tbaa !19 %add.i1139.i = add i64 %703, %sub.i1134.i store i64 %add.i1139.i, ptr %buff_cur7.i1138.i, align 8, !tbaa !19 br label %if.end.i1140.i if.end.i1140.i: ; preds = %if.then.i1136.i, %if.end.i488.i.i.i call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %mini_buff.i1131.i) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %mini_buff.i1131.i, i8 48, i64 64, i1 false) br label %while.cond.i1143.i while.cond.i1143.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1190.i, %if.end.i1140.i %written.1.i1144.i = phi i64 [ %sub.i1134.i, %if.end.i1140.i ], [ %add9.i1145.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1190.i ] %add9.i1145.i = add i64 %written.1.i1144.i, 64 %cmp10.i1146.i = icmp ult i64 %add9.i1145.i, %conv205.i.i.i br i1 %cmp10.i1146.i, label %while.body.i1180.i, label %while.end.i1147.i while.body.i1180.i: ; preds = %while.cond.i1143.i %704 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp35.i1130.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i1129.i) store ptr %mini_buff.i1131.i, ptr %agg.tmp35.i1130.i, align 8 store i64 64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i1141.i, align 8 %stream_writer.i.i1181.i = getelementptr inbounds i8, ptr %704, i64 24 %705 = load ptr, ptr %stream_writer.i.i1181.i, align 8, !tbaa !20 %cmp.not.i.i1182.i = icmp eq ptr %705, null %buff_cur26.i.i1183.i = getelementptr inbounds i8, ptr %704, i64 16 %706 = load i64, ptr %buff_cur26.i.i1183.i, align 8, !tbaa !19 br i1 %cmp.not.i.i1182.i, label %if.else.i.i1203.i, label %if.then.i.i1184.i if.then.i.i1184.i: ; preds = %while.body.i1180.i %cmp2.not.i.i1185.i = icmp eq i64 %706, 0 br i1 %cmp2.not.i.i1185.i, label %if.end9.i.i1195.i, label %if.then3.i.i1186.i if.then3.i.i1186.i: ; preds = %if.then.i.i1184.i %707 = load ptr, ptr %704, align 8, !tbaa !15 store ptr %707, ptr %agg.tmp.i.i1129.i, align 8, !tbaa !91 store i64 %706, ptr %Len.i.i.i.i1142.i, align 8, !tbaa !93 %output_target.i.i1187.i = getelementptr inbounds i8, ptr %704, i64 32 %708 = load ptr, ptr %output_target.i.i1187.i, align 8, !tbaa !21 %call.i.i1188.i = call noundef i32 %705(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i1129.i, ptr noundef %708) #19 %cmp7.i.i1189.i = icmp sgt i32 %call.i.i1188.i, -1 br i1 %cmp7.i.i1189.i, label %if.then3.i.if.end9.i_crit_edge.i1193.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1190.i if.then3.i.if.end9.i_crit_edge.i1193.i: ; preds = %if.then3.i.i1186.i %.pre.i1194.i = load i64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i1141.i, align 8, !tbaa !93 br label %if.end9.i.i1195.i if.end9.i.i1195.i: ; preds = %if.then3.i.if.end9.i_crit_edge.i1193.i, %if.then.i.i1184.i %709 = phi i64 [ %.pre.i1194.i, %if.then3.i.if.end9.i_crit_edge.i1193.i ], [ 64, %if.then.i.i1184.i ] %cmp11.not.i.i1196.i = icmp eq i64 %709, 0 br i1 %cmp11.not.i.i1196.i, label %return.sink.split.i.i1201.i, label %if.then12.i.i1197.i if.then12.i.i1197.i: ; preds = %if.end9.i.i1195.i %710 = load ptr, ptr %stream_writer.i.i1181.i, align 8, !tbaa !20 %output_target16.i.i1198.i = getelementptr inbounds i8, ptr %704, i64 32 %711 = load ptr, ptr %output_target16.i.i1198.i, align 8, !tbaa !21 %call17.i.i1199.i = call noundef i32 %710(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp35.i1130.i, ptr noundef %711) #19 %cmp18.i.i1200.i = icmp sgt i32 %call17.i.i1199.i, -1 br i1 %cmp18.i.i1200.i, label %return.sink.split.i.i1201.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1190.i if.else.i.i1203.i: ; preds = %while.body.i1180.i %buff_len.i.i1204.i = getelementptr inbounds i8, ptr %704, i64 8 %712 = load i64, ptr %buff_len.i.i1204.i, align 8, !tbaa !18 %cmp27.i.i1205.i = icmp ult i64 %706, %712 br i1 %cmp27.i.i1205.i, label %if.then28.i.i1206.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1190.i if.then28.i.i1206.i: ; preds = %if.else.i.i1203.i %sub.i.i1207.i = sub i64 %712, %706 %spec.select.i.i1208.i = call i64 @llvm.umin.i64(i64 %sub.i.i1207.i, i64 64) %713 = load ptr, ptr %704, align 8, !tbaa !15 %add.ptr.i.i1209.i = getelementptr inbounds i8, ptr %713, i64 %706 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i1209.i, ptr nonnull align 1 %mini_buff.i1131.i, i64 %spec.select.i.i1208.i, i1 false), !alias.scope !285 %714 = load i64, ptr %buff_cur26.i.i1183.i, align 8, !tbaa !19 %add.i.i1210.i = add i64 %714, %spec.select.i.i1208.i br label %return.sink.split.i.i1201.i return.sink.split.i.i1201.i: ; preds = %if.then28.i.i1206.i, %if.then12.i.i1197.i, %if.end9.i.i1195.i %add.sink.i.i1202.i = phi i64 [ %add.i.i1210.i, %if.then28.i.i1206.i ], [ 0, %if.then12.i.i1197.i ], [ 0, %if.end9.i.i1195.i ] store i64 %add.sink.i.i1202.i, ptr %buff_cur26.i.i1183.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1190.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1190.i: ; preds = %return.sink.split.i.i1201.i, %if.else.i.i1203.i, %if.then12.i.i1197.i, %if.then3.i.i1186.i %retval.3.i.i1191.i = phi i32 [ %call.i.i1188.i, %if.then3.i.i1186.i ], [ %call17.i.i1199.i, %if.then12.i.i1197.i ], [ 0, %if.else.i.i1203.i ], [ 0, %return.sink.split.i.i1201.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp35.i1130.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i1129.i) %cmp12.not.i1192.i = icmp eq i32 %retval.3.i.i1191.i, 0 br i1 %cmp12.not.i1192.i, label %while.cond.i1143.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit1211.i, !llvm.loop !102 while.end.i1147.i: ; preds = %while.cond.i1143.i %written.1.i1144.i.lcssa = phi i64 [ %written.1.i1144.i, %while.cond.i1143.i ] %sub16.i1148.i = sub i64 %conv205.i.i.i, %written.1.i1144.i.lcssa %cond.i6.i.i1149.i = call noundef i64 @llvm.umin.i64(i64 %sub16.i1148.i, i64 64) %715 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1939.i1128.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i40.i1127.i) store ptr %mini_buff.i1131.i, ptr %agg.tmp1939.i1128.i, align 8 store i64 %cond.i6.i.i1149.i, ptr %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i1150.i, align 8 %stream_writer.i41.i1151.i = getelementptr inbounds i8, ptr %715, i64 24 %716 = load ptr, ptr %stream_writer.i41.i1151.i, align 8, !tbaa !20 %cmp.not.i42.i1152.i = icmp eq ptr %716, null %buff_cur26.i43.i1153.i = getelementptr inbounds i8, ptr %715, i64 16 %717 = load i64, ptr %buff_cur26.i43.i1153.i, align 8, !tbaa !19 br i1 %cmp.not.i42.i1152.i, label %if.else.i61.i1172.i, label %if.then.i44.i1154.i if.then.i44.i1154.i: ; preds = %while.end.i1147.i %cmp2.not.i45.i1155.i = icmp eq i64 %717, 0 br i1 %cmp2.not.i45.i1155.i, label %if.end9.i52.i1164.i, label %if.then3.i46.i1156.i if.then3.i46.i1156.i: ; preds = %if.then.i44.i1154.i %718 = load ptr, ptr %715, align 8, !tbaa !15 store ptr %718, ptr %agg.tmp.i40.i1127.i, align 8, !tbaa !91 store i64 %717, ptr %Len.i.i.i47.i1157.i, align 8, !tbaa !93 %output_target.i48.i1158.i = getelementptr inbounds i8, ptr %715, i64 32 %719 = load ptr, ptr %output_target.i48.i1158.i, align 8, !tbaa !21 %call.i49.i1159.i = call noundef i32 %716(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i40.i1127.i, ptr noundef %719) #19 %cmp7.i50.i1160.i = icmp sgt i32 %call.i49.i1159.i, -1 br i1 %cmp7.i50.i1160.i, label %if.end9.i52.i1164.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i1161.i if.end9.i52.i1164.i: ; preds = %if.then3.i46.i1156.i, %if.then.i44.i1154.i %cmp11.not.i54.i1165.i = icmp eq i64 %written.1.i1144.i.lcssa, %conv205.i.i.i br i1 %cmp11.not.i54.i1165.i, label %return.sink.split.i59.i1170.i, label %if.then12.i55.i1166.i if.then12.i55.i1166.i: ; preds = %if.end9.i52.i1164.i %720 = load ptr, ptr %stream_writer.i41.i1151.i, align 8, !tbaa !20 %output_target16.i56.i1167.i = getelementptr inbounds i8, ptr %715, i64 32 %721 = load ptr, ptr %output_target16.i56.i1167.i, align 8, !tbaa !21 %call17.i57.i1168.i = call noundef i32 %720(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp1939.i1128.i, ptr noundef %721) #19 %cmp18.i58.i1169.i = icmp sgt i32 %call17.i57.i1168.i, -1 br i1 %cmp18.i58.i1169.i, label %return.sink.split.i59.i1170.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i1161.i if.else.i61.i1172.i: ; preds = %while.end.i1147.i %buff_len.i62.i1173.i = getelementptr inbounds i8, ptr %715, i64 8 %722 = load i64, ptr %buff_len.i62.i1173.i, align 8, !tbaa !18 %cmp27.i63.i1174.i = icmp ult i64 %717, %722 br i1 %cmp27.i63.i1174.i, label %if.then28.i64.i1175.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i1161.i if.then28.i64.i1175.i: ; preds = %if.else.i61.i1172.i %sub.i65.i1176.i = sub i64 %722, %717 %spec.select.i67.i1177.i = call i64 @llvm.umin.i64(i64 %sub.i65.i1176.i, i64 %cond.i6.i.i1149.i) %723 = load ptr, ptr %715, align 8, !tbaa !15 %add.ptr.i68.i1178.i = getelementptr inbounds i8, ptr %723, i64 %717 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i68.i1178.i, ptr nonnull align 1 %mini_buff.i1131.i, i64 %spec.select.i67.i1177.i, i1 false), !alias.scope !289 %724 = load i64, ptr %buff_cur26.i43.i1153.i, align 8, !tbaa !19 %add.i69.i1179.i = add i64 %724, %spec.select.i67.i1177.i br label %return.sink.split.i59.i1170.i return.sink.split.i59.i1170.i: ; preds = %if.then28.i64.i1175.i, %if.then12.i55.i1166.i, %if.end9.i52.i1164.i %add.sink.i60.i1171.i = phi i64 [ %add.i69.i1179.i, %if.then28.i64.i1175.i ], [ 0, %if.then12.i55.i1166.i ], [ 0, %if.end9.i52.i1164.i ] store i64 %add.sink.i60.i1171.i, ptr %buff_cur26.i43.i1153.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i1161.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i1161.i: ; preds = %return.sink.split.i59.i1170.i, %if.else.i61.i1172.i, %if.then12.i55.i1166.i, %if.then3.i46.i1156.i %retval.3.i51.i1162.i = phi i32 [ %call.i49.i1159.i, %if.then3.i46.i1156.i ], [ %call17.i57.i1168.i, %if.then12.i55.i1166.i ], [ 0, %if.else.i61.i1172.i ], [ 0, %return.sink.split.i59.i1170.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1939.i1128.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i40.i1127.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit1211.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit1211.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i1161.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1190.i %retval.2.i1163.i = phi i32 [ %retval.3.i51.i1162.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i1161.i ], [ %retval.3.i.i1191.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1190.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %mini_buff.i1131.i) #18 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit490.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit490.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit1211.i, %if.then.i483.i.i.i %retval.0.i487.i.i.i = phi i32 [ 0, %if.then.i483.i.i.i ], [ %retval.2.i1163.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit1211.i ] %cmp207.i.i.i = icmp sgt i32 %retval.0.i487.i.i.i, -1 br i1 %cmp207.i.i.i, label %if.end213.i.i.i, label %cleanup228.i.i.i if.end213.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit490.i.i.i, %if.end201.i.i.i %cmp214.not.i.i.i = icmp eq i64 %553, 0 br i1 %cmp214.not.i.i.i, label %if.end227.i.i.i, label %if.then215.i.i.i if.then215.i.i.i: ; preds = %if.end213.i.i.i %conv.i495.i.i.i = trunc i64 %553 to i32 %725 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i497.i.i.i = add nsw i32 %725, %conv.i495.i.i.i store i32 %add.i497.i.i.i, ptr %chars_written.i, align 8, !tbaa !25 %726 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i498.i.i.i = getelementptr inbounds i8, ptr %726, i64 16 %727 = load i64, ptr %buff_cur.i498.i.i.i, align 8, !tbaa !19 %add3.i499.i.i.i = add i64 %727, %553 %buff_len.i500.i.i.i = getelementptr inbounds i8, ptr %726, i64 8 %728 = load i64, ptr %buff_len.i500.i.i.i, align 8, !tbaa !18 %cmp.not.i501.i.i.i = icmp ugt i64 %add3.i499.i.i.i, %728 br i1 %cmp.not.i501.i.i.i, label %if.end.i507.i.i.i, label %if.then.i502.i.i.i if.then.i502.i.i.i: ; preds = %if.then215.i.i.i %729 = load ptr, ptr %726, align 8, !tbaa !15 %add.ptr.i503.i.i.i = getelementptr inbounds i8, ptr %729, i64 %727 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i503.i.i.i, ptr nonnull align 1 %add.ptr4.i301.i.i.i.i, i64 %553, i1 false), !alias.scope !293 %730 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur13.i504.i.i.i = getelementptr inbounds i8, ptr %730, i64 16 %731 = load i64, ptr %buff_cur13.i504.i.i.i, align 8, !tbaa !19 %add14.i505.i.i.i = add i64 %731, %553 store i64 %add14.i505.i.i.i, ptr %buff_cur13.i504.i.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit536.i.i.i if.end.i507.i.i.i: ; preds = %if.then215.i.i.i call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp20.i493.i.i.i) store ptr %add.ptr4.i301.i.i.i.i, ptr %agg.tmp20.i493.i.i.i, align 8 store i64 %553, ptr %agg.tmp217491.sroa.5.0.agg.tmp20.i493.sroa_idx.i.i.i, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i492.i.i.i) %stream_writer.i.i508.i.i.i = getelementptr inbounds i8, ptr %726, i64 24 %732 = load ptr, ptr %stream_writer.i.i508.i.i.i, align 8, !tbaa !20 %cmp.not.i.i509.i.i.i = icmp eq ptr %732, null br i1 %cmp.not.i.i509.i.i.i, label %if.else.i.i528.i.i.i, label %if.then.i.i510.i.i.i if.then.i.i510.i.i.i: ; preds = %if.end.i507.i.i.i %cmp2.not.i.i511.i.i.i = icmp eq i64 %727, 0 br i1 %cmp2.not.i.i511.i.i.i, label %if.then12.i.i522.i.i.i, label %if.then3.i.i512.i.i.i if.then3.i.i512.i.i.i: ; preds = %if.then.i.i510.i.i.i %733 = load ptr, ptr %726, align 8, !tbaa !15 store ptr %733, ptr %agg.tmp.i.i492.i.i.i, align 8, !tbaa !91 store i64 %727, ptr %Len.i.i.i.i513.i.i.i, align 8, !tbaa !93 %output_target.i.i514.i.i.i = getelementptr inbounds i8, ptr %726, i64 32 %734 = load ptr, ptr %output_target.i.i514.i.i.i, align 8, !tbaa !21 %call.i.i515.i.i.i = call noundef i32 %732(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i492.i.i.i, ptr noundef %734) #19 %cmp7.i.i516.i.i.i = icmp sgt i32 %call.i.i515.i.i.i, -1 br i1 %cmp7.i.i516.i.i.i, label %if.then3.i.i512.i.if.then12.i.i522.i_crit_edge.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i517.i.i.i if.then3.i.i512.i.if.then12.i.i522.i_crit_edge.i.i: ; preds = %if.then3.i.i512.i.i.i %.pre78.i.i = load ptr, ptr %stream_writer.i.i508.i.i.i, align 8, !tbaa !20 br label %if.then12.i.i522.i.i.i if.then12.i.i522.i.i.i: ; preds = %if.then3.i.i512.i.if.then12.i.i522.i_crit_edge.i.i, %if.then.i.i510.i.i.i %735 = phi ptr [ %.pre78.i.i, %if.then3.i.i512.i.if.then12.i.i522.i_crit_edge.i.i ], [ %732, %if.then.i.i510.i.i.i ] %output_target16.i.i523.i.i.i = getelementptr inbounds i8, ptr %726, i64 32 %736 = load ptr, ptr %output_target16.i.i523.i.i.i, align 8, !tbaa !21 %call17.i.i524.i.i.i = call noundef i32 %735(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp20.i493.i.i.i, ptr noundef %736) #19 %cmp18.i.i525.i.i.i = icmp sgt i32 %call17.i.i524.i.i.i, -1 br i1 %cmp18.i.i525.i.i.i, label %return.sink.split.i.i526.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i517.i.i.i if.else.i.i528.i.i.i: ; preds = %if.end.i507.i.i.i %cmp27.i.i529.i.i.i = icmp ult i64 %727, %728 br i1 %cmp27.i.i529.i.i.i, label %if.then28.i.i530.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i517.i.i.i if.then28.i.i530.i.i.i: ; preds = %if.else.i.i528.i.i.i %sub.i.i531.i.i.i = sub i64 %728, %727 %spec.select.i.i533.i.i.i = call i64 @llvm.umin.i64(i64 %sub.i.i531.i.i.i, i64 %553) %737 = load ptr, ptr %726, align 8, !tbaa !15 %add.ptr.i.i534.i.i.i = getelementptr inbounds i8, ptr %737, i64 %727 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i534.i.i.i, ptr nonnull align 1 %add.ptr4.i301.i.i.i.i, i64 %spec.select.i.i533.i.i.i, i1 false), !alias.scope !297 %738 = load i64, ptr %buff_cur.i498.i.i.i, align 8, !tbaa !19 %add.i.i535.i.i.i = add i64 %738, %spec.select.i.i533.i.i.i br label %return.sink.split.i.i526.i.i.i return.sink.split.i.i526.i.i.i: ; preds = %if.then28.i.i530.i.i.i, %if.then12.i.i522.i.i.i %add.sink.i.i527.i.i.i = phi i64 [ %add.i.i535.i.i.i, %if.then28.i.i530.i.i.i ], [ 0, %if.then12.i.i522.i.i.i ] store i64 %add.sink.i.i527.i.i.i, ptr %buff_cur.i498.i.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i517.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i517.i.i.i: ; preds = %return.sink.split.i.i526.i.i.i, %if.else.i.i528.i.i.i, %if.then12.i.i522.i.i.i, %if.then3.i.i512.i.i.i %retval.3.i.i518.i.i.i = phi i32 [ %call.i.i515.i.i.i, %if.then3.i.i512.i.i.i ], [ %call17.i.i524.i.i.i, %if.then12.i.i522.i.i.i ], [ 0, %if.else.i.i528.i.i.i ], [ 0, %return.sink.split.i.i526.i.i.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp20.i493.i.i.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i492.i.i.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit536.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit536.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i517.i.i.i, %if.then.i502.i.i.i %retval.0.i506.i.i.i = phi i32 [ 0, %if.then.i502.i.i.i ], [ %retval.3.i.i518.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i517.i.i.i ] %cmp220.i.i.i = icmp sgt i32 %retval.0.i506.i.i.i, -1 br i1 %cmp220.i.i.i, label %if.end227.i.i.i, label %cleanup228.i.i.i if.end227.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit536.i.i.i, %if.end213.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit413.i.i.i, %if.end163.i.i.i br label %cleanup228.i.i.i cleanup228.i.i.i: ; preds = %if.end227.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit536.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit490.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit475.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit413.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit398.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i30.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i26.i.i %retval.14.i.i.i = phi i32 [ 0, %if.end227.i.i.i ], [ %retval.0.i410.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit413.i.i.i ], [ %retval.0.i368.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit398.i.i.i ], [ %retval.0.i351.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i30.i.i ], [ %retval.0.i341.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i26.i.i ], [ %retval.0.i506.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit536.i.i.i ], [ %retval.0.i487.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit490.i.i.i ], [ %retval.0.i445.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit475.i.i.i ], [ %retval.0.i425.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.i.i ] call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %prefix.i.i.i) #18 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11convert_intEPNS0_6WriterERKNS0_13FormatSectionE.exit.i.i _ZN22__llvm_libc_19_0_0_git11printf_core11convert_intEPNS0_6WriterERKNS0_13FormatSectionE.exit.i.i: ; preds = %cleanup228.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.i.i.i %retval.15.i.i.i = phi i32 [ %retval.14.i.i.i, %cleanup228.i.i.i ], [ -4, %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.i.i.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %buf.i.i.i) #18 br label %if.end sw.default.i28: ; preds = %if.end.i9 %conv.i199.i = trunc i64 %cur_section.sroa.18.0 to i32 %739 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i201.i = add nsw i32 %739, %conv.i199.i store i32 %add.i201.i, ptr %chars_written.i, align 8, !tbaa !25 %740 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i202.i = getelementptr inbounds i8, ptr %740, i64 16 %741 = load i64, ptr %buff_cur.i202.i, align 8, !tbaa !19 %add3.i203.i = add i64 %741, %cur_section.sroa.18.0 %buff_len.i204.i = getelementptr inbounds i8, ptr %740, i64 8 %742 = load i64, ptr %buff_len.i204.i, align 8, !tbaa !18 %cmp.not.i205.i = icmp ugt i64 %add3.i203.i, %742 br i1 %cmp.not.i205.i, label %if.end.i211.i, label %if.then.i206.i if.then.i206.i: ; preds = %sw.default.i28 %743 = load ptr, ptr %740, align 8, !tbaa !15 %add.ptr.i207.i = getelementptr inbounds i8, ptr %743, i64 %741 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i207.i, ptr nonnull align 1 %cur_section.sroa.14.0, i64 %cur_section.sroa.18.0, i1 false), !alias.scope !301 %744 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur13.i208.i = getelementptr inbounds i8, ptr %744, i64 16 %745 = load i64, ptr %buff_cur13.i208.i, align 8, !tbaa !19 %add14.i209.i = add i64 %745, %cur_section.sroa.18.0 store i64 %add14.i209.i, ptr %buff_cur13.i208.i, align 8, !tbaa !19 br label %if.end if.end.i211.i: ; preds = %sw.default.i28 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp20.i197.i) store ptr %cur_section.sroa.14.0, ptr %agg.tmp20.i197.i, align 8 store i64 %cur_section.sroa.18.0, ptr %agg.tmp11195.sroa.5.0.agg.tmp20.i197.sroa_idx.i, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i196.i) %stream_writer.i.i212.i = getelementptr inbounds i8, ptr %740, i64 24 %746 = load ptr, ptr %stream_writer.i.i212.i, align 8, !tbaa !20 %cmp.not.i.i213.i = icmp eq ptr %746, null br i1 %cmp.not.i.i213.i, label %if.else.i.i232.i, label %if.then.i.i214.i if.then.i.i214.i: ; preds = %if.end.i211.i %cmp2.not.i.i215.i = icmp eq i64 %741, 0 br i1 %cmp2.not.i.i215.i, label %if.then12.i.i226.i, label %if.then3.i.i216.i if.then3.i.i216.i: ; preds = %if.then.i.i214.i %747 = load ptr, ptr %740, align 8, !tbaa !15 store ptr %747, ptr %agg.tmp.i.i196.i, align 8, !tbaa !91 store i64 %741, ptr %Len.i.i.i.i217.i, align 8, !tbaa !93 %output_target.i.i218.i = getelementptr inbounds i8, ptr %740, i64 32 %748 = load ptr, ptr %output_target.i.i218.i, align 8, !tbaa !21 %call.i.i219.i = call noundef i32 %746(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i196.i, ptr noundef %748) #19 %cmp7.i.i220.i = icmp sgt i32 %call.i.i219.i, -1 br i1 %cmp7.i.i220.i, label %if.then12.i.i226.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i221.i if.then12.i.i226.i: ; preds = %if.then3.i.i216.i, %if.then.i.i214.i %749 = load ptr, ptr %stream_writer.i.i212.i, align 8, !tbaa !20 %output_target16.i.i227.i = getelementptr inbounds i8, ptr %740, i64 32 %750 = load ptr, ptr %output_target16.i.i227.i, align 8, !tbaa !21 %call17.i.i228.i = call noundef i32 %749(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp20.i197.i, ptr noundef %750) #19 %cmp18.i.i229.i = icmp sgt i32 %call17.i.i228.i, -1 br i1 %cmp18.i.i229.i, label %return.sink.split.i.i230.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i221.i if.else.i.i232.i: ; preds = %if.end.i211.i %cmp27.i.i233.i = icmp ult i64 %741, %742 br i1 %cmp27.i.i233.i, label %if.then28.i.i234.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i221.i if.then28.i.i234.i: ; preds = %if.else.i.i232.i %sub.i.i235.i = sub i64 %742, %741 %spec.select.i.i237.i = call i64 @llvm.umin.i64(i64 %sub.i.i235.i, i64 %cur_section.sroa.18.0) %751 = load ptr, ptr %740, align 8, !tbaa !15 %add.ptr.i.i238.i = getelementptr inbounds i8, ptr %751, i64 %741 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i238.i, ptr nonnull align 1 %cur_section.sroa.14.0, i64 %spec.select.i.i237.i, i1 false), !alias.scope !305 %752 = load i64, ptr %buff_cur.i202.i, align 8, !tbaa !19 %add.i.i239.i = add i64 %752, %spec.select.i.i237.i br label %return.sink.split.i.i230.i return.sink.split.i.i230.i: ; preds = %if.then28.i.i234.i, %if.then12.i.i226.i %add.sink.i.i231.i = phi i64 [ %add.i.i239.i, %if.then28.i.i234.i ], [ 0, %if.then12.i.i226.i ] store i64 %add.sink.i.i231.i, ptr %buff_cur.i202.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i221.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i221.i: ; preds = %return.sink.split.i.i230.i, %if.else.i.i232.i, %if.then12.i.i226.i, %if.then3.i.i216.i %retval.3.i.i222.i = phi i32 [ %call.i.i219.i, %if.then3.i.i216.i ], [ %call17.i.i228.i, %if.then12.i.i226.i ], [ 0, %if.else.i.i232.i ], [ 0, %return.sink.split.i.i230.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp20.i197.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i196.i) br label %if.end if.else: ; preds = %for.body %conv.i = trunc i64 %cur_section.sroa.18.0 to i32 %753 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i73 = add nsw i32 %753, %conv.i store i32 %add.i73, ptr %chars_written.i, align 8, !tbaa !25 %754 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i = getelementptr inbounds i8, ptr %754, i64 16 %755 = load i64, ptr %buff_cur.i, align 8, !tbaa !19 %add3.i = add i64 %755, %cur_section.sroa.18.0 %buff_len.i = getelementptr inbounds i8, ptr %754, i64 8 %756 = load i64, ptr %buff_len.i, align 8, !tbaa !18 %cmp.not.i = icmp ugt i64 %add3.i, %756 br i1 %cmp.not.i, label %if.end.i, label %if.then.i74 if.then.i74: ; preds = %if.else %757 = load ptr, ptr %754, align 8, !tbaa !15 %add.ptr.i = getelementptr inbounds i8, ptr %757, i64 %755 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i, ptr nonnull align 1 %cur_section.sroa.14.0, i64 %cur_section.sroa.18.0, i1 false), !alias.scope !309 %758 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur13.i = getelementptr inbounds i8, ptr %758, i64 16 %759 = load i64, ptr %buff_cur13.i, align 8, !tbaa !19 %add14.i = add i64 %759, %cur_section.sroa.18.0 store i64 %add14.i, ptr %buff_cur13.i, align 8, !tbaa !19 br label %if.end if.end.i: ; preds = %if.else call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp20.i) store ptr %cur_section.sroa.14.0, ptr %agg.tmp20.i, align 8 store i64 %cur_section.sroa.18.0, ptr %agg.tmp72.sroa.5.0.agg.tmp20.i.sroa_idx, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i) %stream_writer.i.i = getelementptr inbounds i8, ptr %754, i64 24 %760 = load ptr, ptr %stream_writer.i.i, align 8, !tbaa !20 %cmp.not.i.i = icmp eq ptr %760, null br i1 %cmp.not.i.i, label %if.else.i.i77, label %if.then.i.i75 if.then.i.i75: ; preds = %if.end.i %cmp2.not.i.i = icmp eq i64 %755, 0 br i1 %cmp2.not.i.i, label %if.end9.i.i, label %if.then3.i.i if.then3.i.i: ; preds = %if.then.i.i75 %761 = load ptr, ptr %754, align 8, !tbaa !15 store ptr %761, ptr %agg.tmp.i.i, align 8, !tbaa !91 store i64 %755, ptr %Len.i.i.i.i, align 8, !tbaa !93 %output_target.i.i = getelementptr inbounds i8, ptr %754, i64 32 %762 = load ptr, ptr %output_target.i.i, align 8, !tbaa !21 %call.i.i = call noundef i32 %760(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i, ptr noundef %762) #19 %cmp7.i.i = icmp sgt i32 %call.i.i, -1 br i1 %cmp7.i.i, label %if.then3.i.i.if.end9.i.i_crit_edge, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i if.then3.i.i.if.end9.i.i_crit_edge: ; preds = %if.then3.i.i %.pre = load i64, ptr %agg.tmp72.sroa.5.0.agg.tmp20.i.sroa_idx, align 8, !tbaa !93 br label %if.end9.i.i if.end9.i.i: ; preds = %if.then3.i.i.if.end9.i.i_crit_edge, %if.then.i.i75 %763 = phi i64 [ %.pre, %if.then3.i.i.if.end9.i.i_crit_edge ], [ 1, %if.then.i.i75 ] %cmp11.not.i.i = icmp eq i64 %763, 0 br i1 %cmp11.not.i.i, label %return.sink.split.i.i, label %if.then12.i.i76 if.then12.i.i76: ; preds = %if.end9.i.i %764 = load ptr, ptr %stream_writer.i.i, align 8, !tbaa !20 %output_target16.i.i = getelementptr inbounds i8, ptr %754, i64 32 %765 = load ptr, ptr %output_target16.i.i, align 8, !tbaa !21 %call17.i.i = call noundef i32 %764(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp20.i, ptr noundef %765) #19 %cmp18.i.i = icmp sgt i32 %call17.i.i, -1 br i1 %cmp18.i.i, label %return.sink.split.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i if.else.i.i77: ; preds = %if.end.i %cmp27.i.i = icmp ult i64 %755, %756 br i1 %cmp27.i.i, label %if.then28.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i if.then28.i.i: ; preds = %if.else.i.i77 %sub.i.i78 = sub i64 %756, %755 %spec.select.i.i = call i64 @llvm.umin.i64(i64 %sub.i.i78, i64 %cur_section.sroa.18.0) %766 = load ptr, ptr %754, align 8, !tbaa !15 %add.ptr.i.i = getelementptr inbounds i8, ptr %766, i64 %755 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i, ptr nonnull align 1 %cur_section.sroa.14.0, i64 %spec.select.i.i, i1 false), !alias.scope !313 %767 = load i64, ptr %buff_cur.i, align 8, !tbaa !19 %add.i.i79 = add i64 %767, %spec.select.i.i br label %return.sink.split.i.i return.sink.split.i.i: ; preds = %if.then28.i.i, %if.then12.i.i76, %if.end9.i.i %add.sink.i.i = phi i64 [ %add.i.i79, %if.then28.i.i ], [ 0, %if.then12.i.i76 ], [ 0, %if.end9.i.i ] store i64 %add.sink.i.i, ptr %buff_cur.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i: ; preds = %return.sink.split.i.i, %if.else.i.i77, %if.then12.i.i76, %if.then3.i.i %retval.3.i.i = phi i32 [ %call.i.i, %if.then3.i.i ], [ %call17.i.i, %if.then12.i.i76 ], [ 0, %if.else.i.i77 ], [ 0, %return.sink.split.i.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp20.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i) br label %if.end if.end: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i, %if.then.i74, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i221.i, %if.then.i206.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11convert_intEPNS0_6WriterERKNS0_13FormatSectionE.exit.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core14convert_stringEPNS0_6WriterERKNS0_13FormatSectionE.exit.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11convert_intEPNS0_6WriterERKNS0_13FormatSectionE.exit.i, %if.end44.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit102.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i121.i, %if.end32.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit78.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEc.exit.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i55.i, %if.then.i40.i %result.0 = phi i32 [ 0, %if.then.i74 ], [ %retval.3.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i ], [ %retval.15.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11convert_intEPNS0_6WriterERKNS0_13FormatSectionE.exit.i ], [ 0, %if.then.i40.i ], [ %retval.3.i.i56.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i55.i ], [ 0, %if.end32.i.i ], [ %retval.0.i75.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit78.i.i ], [ %retval.0.i62.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEc.exit.i.i ], [ %retval.0.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.i ], [ 0, %if.end44.i.i ], [ %retval.0.i99.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit102.i.i ], [ %retval.0.i86.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i.i ], [ %retval.0.i.i122.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i121.i ], [ %retval.4.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core14convert_stringEPNS0_6WriterERKNS0_13FormatSectionE.exit.i.i ], [ %retval.15.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11convert_intEPNS0_6WriterERKNS0_13FormatSectionE.exit.i.i ], [ 0, %if.then.i206.i ], [ %retval.3.i.i222.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i221.i ] %cmp = icmp sgt i32 %result.0, -1 br i1 %cmp, label %for.inc, label %cleanup9 for.inc: ; preds = %if.end %768 = load i64, ptr %0, align 8, !tbaa !72 %769 = load ptr, ptr %parser, align 8, !tbaa !64 %arrayidx.i81 = getelementptr inbounds i8, ptr %769, i64 %768 %770 = load i8, ptr %arrayidx.i81, align 1, !tbaa !26 %cmp.i82 = icmp eq i8 %770, 37 br i1 %cmp.i82, label %if.then.i126, label %while.cond.i83 if.then.i126: ; preds = %for.inc %inc.i127 = add i64 %768, 1 store i64 %inc.i127, ptr %0, align 8, !tbaa !72 br label %while.body.i.i128 while.body.i.i128: ; preds = %if.end.i.i135, %if.then.i126 %771 = phi i64 [ %inc.i127, %if.then.i126 ], [ %778, %if.end.i.i135 ] %flags.033.i.i129 = phi i8 [ 0, %if.then.i126 ], [ %flags.1.i.i134, %if.end.i.i135 ] %arrayidx.i.i130 = getelementptr inbounds i8, ptr %769, i64 %771 %772 = load i8, ptr %arrayidx.i.i130, align 1, !tbaa !26 switch i8 %772, label %sw.epilog.i.i132 [ i8 45, label %sw.bb.i.i490 i8 43, label %sw.bb4.i.i489 i8 32, label %sw.bb8.i.i488 i8 35, label %sw.bb12.i.i487 i8 48, label %sw.bb16.i.i131 ] sw.bb.i.i490: ; preds = %while.body.i.i128 %773 = or i8 %flags.033.i.i129, 1 br label %sw.epilog.i.i132 sw.bb4.i.i489: ; preds = %while.body.i.i128 %774 = or i8 %flags.033.i.i129, 2 br label %sw.epilog.i.i132 sw.bb8.i.i488: ; preds = %while.body.i.i128 %775 = or i8 %flags.033.i.i129, 4 br label %sw.epilog.i.i132 sw.bb12.i.i487: ; preds = %while.body.i.i128 %776 = or i8 %flags.033.i.i129, 8 br label %sw.epilog.i.i132 sw.bb16.i.i131: ; preds = %while.body.i.i128 %777 = or i8 %flags.033.i.i129, 16 br label %sw.epilog.i.i132 sw.epilog.i.i132: ; preds = %sw.bb16.i.i131, %sw.bb12.i.i487, %sw.bb8.i.i488, %sw.bb4.i.i489, %sw.bb.i.i490, %while.body.i.i128 %found_flag.1.off0.i.i133 = phi i1 [ true, %sw.bb16.i.i131 ], [ true, %sw.bb12.i.i487 ], [ true, %sw.bb8.i.i488 ], [ true, %sw.bb4.i.i489 ], [ true, %sw.bb.i.i490 ], [ false, %while.body.i.i128 ] %flags.1.i.i134 = phi i8 [ %777, %sw.bb16.i.i131 ], [ %776, %sw.bb12.i.i487 ], [ %775, %sw.bb8.i.i488 ], [ %774, %sw.bb4.i.i489 ], [ %773, %sw.bb.i.i490 ], [ %flags.033.i.i129, %while.body.i.i128 ] br i1 %found_flag.1.off0.i.i133, label %if.then.i.i485, label %if.end.i.i135 if.then.i.i485: ; preds = %sw.epilog.i.i132 %inc.i.i486 = add i64 %771, 1 store i64 %inc.i.i486, ptr %0, align 8, !tbaa !57 br label %if.end.i.i135 if.end.i.i135: ; preds = %if.then.i.i485, %sw.epilog.i.i132 %778 = phi i64 [ %inc.i.i486, %if.then.i.i485 ], [ %771, %sw.epilog.i.i132 ] br i1 %found_flag.1.off0.i.i133, label %while.body.i.i128, label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE11parse_flagsEPm.exit.i136, !llvm.loop !73 _ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE11parse_flagsEPm.exit.i136: ; preds = %if.end.i.i135 %.lcssa149 = phi i64 [ %778, %if.end.i.i135 ] %flags.1.i.i134.lcssa = phi i8 [ %flags.1.i.i134, %if.end.i.i135 ] %arrayidx7.i137 = getelementptr inbounds i8, ptr %769, i64 %.lcssa149 %779 = load i8, ptr %arrayidx7.i137, align 1, !tbaa !26 %cmp9.i138 = icmp eq i8 %779, 42 br i1 %cmp9.i138, label %if.then10.i479, label %if.else.i139 if.then10.i479: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE11parse_flagsEPm.exit.i136 %inc12.i480 = add i64 %.lcssa149, 1 store i64 %inc12.i480, ptr %0, align 8, !tbaa !72 %argp.cur.i.i.i482 = load ptr, ptr %1, align 8 %780 = getelementptr inbounds i8, ptr %argp.cur.i.i.i482, i64 3 %argp.cur.aligned.i.i.i483 = call align 4 ptr @llvm.ptrmask.p0.i64(ptr nonnull %780, i64 -4) %argp.next.i.i.i484 = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i.i483, i64 4 store ptr %argp.next.i.i.i484, ptr %1, align 8 %781 = load i32, ptr %argp.cur.aligned.i.i.i483, align 4, !tbaa !74 br label %if.end29.i143 if.else.i139: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE11parse_flagsEPm.exit.i136 %conv8.i140 = sext i8 %779 to i32 %sub.i.i141 = add nsw i32 %conv8.i140, -48 %cmp.i.i142 = icmp ult i32 %sub.i.i141, 10 br i1 %cmp.i.i142, label %land.rhs.i.i.i411, label %if.end29.i143 land.rhs.i.i.i411: ; preds = %while.body.i.i.i414, %if.else.i139 %src_cur.06.i.i.i412 = phi i64 [ %inc.i.i.i415, %while.body.i.i.i414 ], [ 0, %if.else.i139 ] %arrayidx.i.i.i413 = getelementptr inbounds i8, ptr %arrayidx7.i137, i64 %src_cur.06.i.i.i412 %782 = load i8, ptr %arrayidx.i.i.i413, align 1, !tbaa !26, !alias.scope !317 switch i8 %782, label %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i420 [ i8 32, label %while.body.i.i.i414 i8 13, label %while.body.i.i.i414 i8 12, label %while.body.i.i.i414 i8 11, label %while.body.i.i.i414 i8 10, label %while.body.i.i.i414 i8 9, label %while.body.i.i.i414 ] while.body.i.i.i414: ; preds = %land.rhs.i.i.i411, %land.rhs.i.i.i411, %land.rhs.i.i.i411, %land.rhs.i.i.i411, %land.rhs.i.i.i411, %land.rhs.i.i.i411 %inc.i.i.i415 = add nuw i64 %src_cur.06.i.i.i412, 1 %exitcond.not.i.i.i416 = icmp eq i64 %inc.i.i.i415, -1 br i1 %exitcond.not.i.i.i416, label %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i417, label %land.rhs.i.i.i411, !llvm.loop !78 while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i417: ; preds = %while.body.i.i.i414 %add.ptr.i.phi.trans.insert.i.i418 = getelementptr inbounds i8, ptr %arrayidx7.i137, i64 -1 %.pre.i.i419 = load i8, ptr %add.ptr.i.phi.trans.insert.i.i418, align 1, !tbaa !26, !alias.scope !317 br label %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i420 _ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i420: ; preds = %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i417, %land.rhs.i.i.i411 %783 = phi i8 [ %.pre.i.i419, %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i417 ], [ %782, %land.rhs.i.i.i411 ] %src_cur.0.lcssa.i.i.i421 = phi i64 [ -1, %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i417 ], [ %src_cur.06.i.i.i412, %land.rhs.i.i.i411 ] switch i8 %783, label %if.end14.i.i424 [ i8 43, label %if.then12.i.i422 i8 45, label %if.then12.i.i422 ] if.then12.i.i422: ; preds = %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i420, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i420 %inc.i219.i423 = add i64 %src_cur.0.lcssa.i.i.i421, 1 %784 = icmp eq i8 %783, 43 br label %if.end14.i.i424 if.end14.i.i424: ; preds = %if.then12.i.i422, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i420 %result_sign.0.i.i425 = phi i1 [ %784, %if.then12.i.i422 ], [ true, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i420 ] %src_cur.0.i.i426 = phi i64 [ %inc.i219.i423, %if.then12.i.i422 ], [ %src_cur.0.lcssa.i.i.i421, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i420 ] %cond.i.i427 = select i1 %result_sign.0.i.i425, i64 2147483647, i64 2147483648 br label %while.cond.i.i428 while.cond.i.i428: ; preds = %cleanup.i.i461, %if.end14.i.i424 %error_val.0.i.i429 = phi i32 [ 0, %if.end14.i.i424 ], [ %error_val.3.i.i462, %cleanup.i.i461 ] %src_cur.2.i.i430 = phi i64 [ %src_cur.0.i.i426, %if.end14.i.i424 ], [ %src_cur.3.i.i463, %cleanup.i.i461 ] %is_number.0.off0.i.i431 = phi i1 [ false, %if.end14.i.i424 ], [ %is_number.1.off0.i.i464, %cleanup.i.i461 ] %result.0.i.i432 = phi i64 [ 0, %if.end14.i.i424 ], [ %result.3.i.i465, %cleanup.i.i461 ] %cmp30.i.not.i433 = icmp eq i64 %src_cur.2.i.i430, -1 br i1 %cmp30.i.not.i433, label %while.end.i.i443, label %land.rhs.i.i434 land.rhs.i.i434: ; preds = %while.cond.i.i428 %arrayidx31.i.i435 = getelementptr inbounds i8, ptr %arrayidx7.i137, i64 %src_cur.2.i.i430 %785 = load i8, ptr %arrayidx31.i.i435, align 1, !tbaa !26, !alias.scope !317 %conv32.i.i436 = sext i8 %785 to i32 %or.i.i.i.i437 = or i32 %conv32.i.i436, 32 %sub.i.i.i.i438 = add nsw i32 %or.i.i.i.i437, -97 %cmp.i.i148.i.i439 = icmp ult i32 %sub.i.i.i.i438, 26 %sub.i3.i.i.i440 = add nsw i32 %conv32.i.i436, -48 %cmp.i4.i.i.i441 = icmp ult i32 %sub.i3.i.i.i440, 10 %spec.select.i149.i.i442 = select i1 %cmp.i.i148.i.i439, i1 true, i1 %cmp.i4.i.i.i441 br i1 %spec.select.i149.i.i442, label %while.body.i220.i456, label %while.end.i.i443 while.body.i220.i456: ; preds = %land.rhs.i.i434 %sub6.i.i.i457 = add nsw i32 %or.i.i.i.i437, -87 %spec.select.i154.i.i458 = select i1 %cmp.i.i148.i.i439, i32 %sub6.i.i.i457, i32 0 %spec.select163.i.i459 = select i1 %cmp.i4.i.i.i441, i32 %sub.i3.i.i.i440, i32 %spec.select.i154.i.i458 %cmp36.not.not.i.i460 = icmp slt i32 %spec.select163.i.i459, 10 br i1 %cmp36.not.not.i.i460, label %if.end38.i.i466, label %cleanup.i.i461 if.end38.i.i466: ; preds = %while.body.i220.i456 %inc39.i.i467 = add nuw i64 %src_cur.2.i.i430, 1 %cmp40.i.i468 = icmp eq i64 %result.0.i.i432, %cond.i.i427 br i1 %cmp40.i.i468, label %cleanup.i.i461, label %if.end42.i.i469, !llvm.loop !79 if.end42.i.i469: ; preds = %if.end38.i.i466 %cmp43.i.i470 = icmp ugt i64 %result.0.i.i432, 214748364 %mul.i.i471 = mul i64 %result.0.i.i432, 10 %result.1.i.i472 = select i1 %cmp43.i.i470, i64 %cond.i.i427, i64 %mul.i.i471 %conv47.i.i473 = sext i32 %spec.select163.i.i459 to i64 %sub48.i.i474 = sub nsw i64 %cond.i.i427, %conv47.i.i473 %cmp49.i.i475 = icmp ugt i64 %result.1.i.i472, %sub48.i.i474 %add53.i.i476 = add i64 %result.1.i.i472, %conv47.i.i473 %786 = or i1 %cmp43.i.i470, %cmp49.i.i475 %error_val.2.i.i477 = select i1 %786, i32 34, i32 %error_val.0.i.i429 %result.2.i.i478 = select i1 %cmp49.i.i475, i64 %cond.i.i427, i64 %add53.i.i476 br label %cleanup.i.i461 cleanup.i.i461: ; preds = %if.end42.i.i469, %if.end38.i.i466, %while.body.i220.i456 %error_val.3.i.i462 = phi i32 [ %error_val.2.i.i477, %if.end42.i.i469 ], [ %error_val.0.i.i429, %while.body.i220.i456 ], [ 34, %if.end38.i.i466 ] %src_cur.3.i.i463 = phi i64 [ %inc39.i.i467, %if.end42.i.i469 ], [ %src_cur.2.i.i430, %while.body.i220.i456 ], [ %inc39.i.i467, %if.end38.i.i466 ] %is_number.1.off0.i.i464 = phi i1 [ true, %if.end42.i.i469 ], [ %is_number.0.off0.i.i431, %while.body.i220.i456 ], [ true, %if.end38.i.i466 ] %result.3.i.i465 = phi i64 [ %result.2.i.i478, %if.end42.i.i469 ], [ %result.0.i.i432, %while.body.i220.i456 ], [ %cond.i.i427, %if.end38.i.i466 ] br i1 %cmp36.not.not.i.i460, label %while.cond.i.i428, label %while.end.i.i443 while.end.i.i443: ; preds = %cleanup.i.i461, %land.rhs.i.i434, %while.cond.i.i428 %error_val.4.i.i444 = phi i32 [ %error_val.3.i.i462, %cleanup.i.i461 ], [ %error_val.0.i.i429, %land.rhs.i.i434 ], [ %error_val.0.i.i429, %while.cond.i.i428 ] %src_cur.4.i.i445 = phi i64 [ %src_cur.3.i.i463, %cleanup.i.i461 ], [ %src_cur.2.i.i430, %land.rhs.i.i434 ], [ -1, %while.cond.i.i428 ] %is_number.2.off0.i.i446 = phi i1 [ %is_number.1.off0.i.i464, %cleanup.i.i461 ], [ %is_number.0.off0.i.i431, %land.rhs.i.i434 ], [ %is_number.0.off0.i.i431, %while.cond.i.i428 ] %result.4.i.i447 = phi i64 [ %result.3.i.i465, %cleanup.i.i461 ], [ %result.0.i.i432, %land.rhs.i.i434 ], [ %result.0.i.i432, %while.cond.i.i428 ] %cond56.i.i448 = select i1 %is_number.2.off0.i.i446, i64 %src_cur.4.i.i445, i64 0 %cmp57.i.i449 = icmp eq i32 %error_val.4.i.i444, 34 %conv67.i.i450 = trunc i64 %result.4.i.i447 to i32 %sub70.i.i451 = sub i32 0, %conv67.i.i450 %cond72.i.i452 = select i1 %result_sign.0.i.i425, i32 %conv67.i.i450, i32 %sub70.i.i451 %..i.i453 = select i1 %result_sign.0.i.i425, i32 2147483647, i32 -2147483648 %retval.sroa.0.0.i.i454 = select i1 %cmp57.i.i449, i32 %..i.i453, i32 %cond72.i.i452 %add.i455 = add i64 %cond56.i.i448, %.lcssa149 store i64 %add.i455, ptr %0, align 8, !tbaa !72 br label %if.end29.i143 if.end29.i143: ; preds = %while.end.i.i443, %if.else.i139, %if.then10.i479 %787 = phi i64 [ %inc12.i480, %if.then10.i479 ], [ %add.i455, %while.end.i.i443 ], [ %.lcssa149, %if.else.i139 ] %retval.sroa.34.0.i144 = phi i32 [ %781, %if.then10.i479 ], [ %retval.sroa.0.0.i.i454, %while.end.i.i443 ], [ 0, %if.else.i139 ] %spec.select.i145 = call i32 @llvm.abs.i32(i32 %retval.sroa.34.0.i144, i1 true) %retval.sroa.34.0.lobit.i146 = lshr i32 %retval.sroa.34.0.i144, 31 %788 = trunc nuw nsw i32 %retval.sroa.34.0.lobit.i146 to i8 %spec.select365.i147 = or i8 %flags.1.i.i134.lcssa, %788 %arrayidx42.i148 = getelementptr inbounds i8, ptr %769, i64 %787 %789 = load i8, ptr %arrayidx42.i148, align 1, !tbaa !26 %cmp44.i149 = icmp eq i8 %789, 46 br i1 %cmp44.i149, label %if.then45.i330, label %if.end82.i150 if.then45.i330: ; preds = %if.end29.i143 %inc47.i331 = add i64 %787, 1 store i64 %inc47.i331, ptr %0, align 8, !tbaa !72 %arrayidx51.i332 = getelementptr inbounds i8, ptr %769, i64 %inc47.i331 %790 = load i8, ptr %arrayidx51.i332, align 1, !tbaa !26 %cmp53.i333 = icmp eq i8 %790, 42 br i1 %cmp53.i333, label %if.then54.i405, label %if.else61.i334 if.then54.i405: ; preds = %if.then45.i330 %inc56.i406 = add i64 %787, 2 store i64 %inc56.i406, ptr %0, align 8, !tbaa !72 %argp.cur.i.i222.i408 = load ptr, ptr %1, align 8 %791 = getelementptr inbounds i8, ptr %argp.cur.i.i222.i408, i64 3 %argp.cur.aligned.i.i223.i409 = call align 4 ptr @llvm.ptrmask.p0.i64(ptr nonnull %791, i64 -4) %argp.next.i.i224.i410 = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i223.i409, i64 4 store ptr %argp.next.i.i224.i410, ptr %1, align 8 %792 = load i32, ptr %argp.cur.aligned.i.i223.i409, align 4, !tbaa !74 br label %if.end82.i150 if.else61.i334: ; preds = %if.then45.i330 %conv52.i335 = sext i8 %790 to i32 %sub.i225.i336 = add nsw i32 %conv52.i335, -48 %cmp.i226.i337 = icmp ult i32 %sub.i225.i336, 10 br i1 %cmp.i226.i337, label %land.rhs.i.i228.i338, label %if.end82.i150 land.rhs.i.i228.i338: ; preds = %while.body.i.i231.i341, %if.else61.i334 %src_cur.06.i.i229.i339 = phi i64 [ %inc.i.i232.i342, %while.body.i.i231.i341 ], [ 0, %if.else61.i334 ] %arrayidx.i.i230.i340 = getelementptr inbounds i8, ptr %arrayidx51.i332, i64 %src_cur.06.i.i229.i339 %793 = load i8, ptr %arrayidx.i.i230.i340, align 1, !tbaa !26, !alias.scope !320 switch i8 %793, label %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i237.i346 [ i8 32, label %while.body.i.i231.i341 i8 13, label %while.body.i.i231.i341 i8 12, label %while.body.i.i231.i341 i8 11, label %while.body.i.i231.i341 i8 10, label %while.body.i.i231.i341 i8 9, label %while.body.i.i231.i341 ] while.body.i.i231.i341: ; preds = %land.rhs.i.i228.i338, %land.rhs.i.i228.i338, %land.rhs.i.i228.i338, %land.rhs.i.i228.i338, %land.rhs.i.i228.i338, %land.rhs.i.i228.i338 %inc.i.i232.i342 = add nuw i64 %src_cur.06.i.i229.i339, 1 %exitcond.not.i.i233.i343 = icmp eq i64 %inc.i.i232.i342, -1 br i1 %exitcond.not.i.i233.i343, label %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i234.i344, label %land.rhs.i.i228.i338, !llvm.loop !78 while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i234.i344: ; preds = %while.body.i.i231.i341 %.pre.i236.i345 = load i8, ptr %arrayidx42.i148, align 1, !tbaa !26, !alias.scope !320 br label %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i237.i346 _ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i237.i346: ; preds = %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i234.i344, %land.rhs.i.i228.i338 %794 = phi i8 [ %.pre.i236.i345, %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i234.i344 ], [ %793, %land.rhs.i.i228.i338 ] %src_cur.0.lcssa.i.i238.i347 = phi i64 [ -1, %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i234.i344 ], [ %src_cur.06.i.i229.i339, %land.rhs.i.i228.i338 ] switch i8 %794, label %if.end14.i241.i350 [ i8 43, label %if.then12.i239.i348 i8 45, label %if.then12.i239.i348 ] if.then12.i239.i348: ; preds = %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i237.i346, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i237.i346 %inc.i240.i349 = add i64 %src_cur.0.lcssa.i.i238.i347, 1 %795 = icmp eq i8 %794, 43 br label %if.end14.i241.i350 if.end14.i241.i350: ; preds = %if.then12.i239.i348, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i237.i346 %result_sign.0.i242.i351 = phi i1 [ %795, %if.then12.i239.i348 ], [ true, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i237.i346 ] %src_cur.0.i243.i352 = phi i64 [ %inc.i240.i349, %if.then12.i239.i348 ], [ %src_cur.0.lcssa.i.i238.i347, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i237.i346 ] %cond.i244.i353 = select i1 %result_sign.0.i242.i351, i64 2147483647, i64 2147483648 br label %while.cond.i248.i354 while.cond.i248.i354: ; preds = %cleanup.i286.i387, %if.end14.i241.i350 %error_val.0.i249.i355 = phi i32 [ 0, %if.end14.i241.i350 ], [ %error_val.3.i287.i388, %cleanup.i286.i387 ] %src_cur.2.i250.i356 = phi i64 [ %src_cur.0.i243.i352, %if.end14.i241.i350 ], [ %src_cur.3.i288.i389, %cleanup.i286.i387 ] %is_number.0.off0.i251.i357 = phi i1 [ false, %if.end14.i241.i350 ], [ %is_number.1.off0.i289.i390, %cleanup.i286.i387 ] %result.0.i252.i358 = phi i64 [ 0, %if.end14.i241.i350 ], [ %result.3.i290.i391, %cleanup.i286.i387 ] %cmp30.i253.not.i359 = icmp eq i64 %src_cur.2.i250.i356, -1 br i1 %cmp30.i253.not.i359, label %while.end.i254.i369, label %land.rhs.i272.i360 land.rhs.i272.i360: ; preds = %while.cond.i248.i354 %arrayidx31.i273.i361 = getelementptr inbounds i8, ptr %arrayidx51.i332, i64 %src_cur.2.i250.i356 %796 = load i8, ptr %arrayidx31.i273.i361, align 1, !tbaa !26, !alias.scope !320 %conv32.i274.i362 = sext i8 %796 to i32 %or.i.i.i275.i363 = or i32 %conv32.i274.i362, 32 %sub.i.i.i276.i364 = add nsw i32 %or.i.i.i275.i363, -97 %cmp.i.i148.i277.i365 = icmp ult i32 %sub.i.i.i276.i364, 26 %sub.i3.i.i278.i366 = add nsw i32 %conv32.i274.i362, -48 %cmp.i4.i.i279.i367 = icmp ult i32 %sub.i3.i.i278.i366, 10 %spec.select.i149.i280.i368 = select i1 %cmp.i.i148.i277.i365, i1 true, i1 %cmp.i4.i.i279.i367 br i1 %spec.select.i149.i280.i368, label %while.body.i281.i382, label %while.end.i254.i369 while.body.i281.i382: ; preds = %land.rhs.i272.i360 %sub6.i.i282.i383 = add nsw i32 %or.i.i.i275.i363, -87 %spec.select.i154.i283.i384 = select i1 %cmp.i.i148.i277.i365, i32 %sub6.i.i282.i383, i32 0 %spec.select163.i284.i385 = select i1 %cmp.i4.i.i279.i367, i32 %sub.i3.i.i278.i366, i32 %spec.select.i154.i283.i384 %cmp36.not.not.i285.i386 = icmp slt i32 %spec.select163.i284.i385, 10 br i1 %cmp36.not.not.i285.i386, label %if.end38.i291.i392, label %cleanup.i286.i387 if.end38.i291.i392: ; preds = %while.body.i281.i382 %inc39.i292.i393 = add nuw i64 %src_cur.2.i250.i356, 1 %cmp40.i293.i394 = icmp eq i64 %result.0.i252.i358, %cond.i244.i353 br i1 %cmp40.i293.i394, label %cleanup.i286.i387, label %if.end42.i294.i395, !llvm.loop !79 if.end42.i294.i395: ; preds = %if.end38.i291.i392 %cmp43.i295.i396 = icmp ugt i64 %result.0.i252.i358, 214748364 %mul.i296.i397 = mul i64 %result.0.i252.i358, 10 %result.1.i297.i398 = select i1 %cmp43.i295.i396, i64 %cond.i244.i353, i64 %mul.i296.i397 %conv47.i298.i399 = sext i32 %spec.select163.i284.i385 to i64 %sub48.i299.i400 = sub nsw i64 %cond.i244.i353, %conv47.i298.i399 %cmp49.i300.i401 = icmp ugt i64 %result.1.i297.i398, %sub48.i299.i400 %add53.i301.i402 = add i64 %result.1.i297.i398, %conv47.i298.i399 %797 = or i1 %cmp43.i295.i396, %cmp49.i300.i401 %error_val.2.i302.i403 = select i1 %797, i32 34, i32 %error_val.0.i249.i355 %result.2.i303.i404 = select i1 %cmp49.i300.i401, i64 %cond.i244.i353, i64 %add53.i301.i402 br label %cleanup.i286.i387 cleanup.i286.i387: ; preds = %if.end42.i294.i395, %if.end38.i291.i392, %while.body.i281.i382 %error_val.3.i287.i388 = phi i32 [ %error_val.2.i302.i403, %if.end42.i294.i395 ], [ %error_val.0.i249.i355, %while.body.i281.i382 ], [ 34, %if.end38.i291.i392 ] %src_cur.3.i288.i389 = phi i64 [ %inc39.i292.i393, %if.end42.i294.i395 ], [ %src_cur.2.i250.i356, %while.body.i281.i382 ], [ %inc39.i292.i393, %if.end38.i291.i392 ] %is_number.1.off0.i289.i390 = phi i1 [ true, %if.end42.i294.i395 ], [ %is_number.0.off0.i251.i357, %while.body.i281.i382 ], [ true, %if.end38.i291.i392 ] %result.3.i290.i391 = phi i64 [ %result.2.i303.i404, %if.end42.i294.i395 ], [ %result.0.i252.i358, %while.body.i281.i382 ], [ %cond.i244.i353, %if.end38.i291.i392 ] br i1 %cmp36.not.not.i285.i386, label %while.cond.i248.i354, label %while.end.i254.i369 while.end.i254.i369: ; preds = %cleanup.i286.i387, %land.rhs.i272.i360, %while.cond.i248.i354 %error_val.4.i255.i370 = phi i32 [ %error_val.3.i287.i388, %cleanup.i286.i387 ], [ %error_val.0.i249.i355, %land.rhs.i272.i360 ], [ %error_val.0.i249.i355, %while.cond.i248.i354 ] %src_cur.4.i256.i371 = phi i64 [ %src_cur.3.i288.i389, %cleanup.i286.i387 ], [ %src_cur.2.i250.i356, %land.rhs.i272.i360 ], [ -1, %while.cond.i248.i354 ] %is_number.2.off0.i257.i372 = phi i1 [ %is_number.1.off0.i289.i390, %cleanup.i286.i387 ], [ %is_number.0.off0.i251.i357, %land.rhs.i272.i360 ], [ %is_number.0.off0.i251.i357, %while.cond.i248.i354 ] %result.4.i258.i373 = phi i64 [ %result.3.i290.i391, %cleanup.i286.i387 ], [ %result.0.i252.i358, %land.rhs.i272.i360 ], [ %result.0.i252.i358, %while.cond.i248.i354 ] %cond56.i259.i374 = select i1 %is_number.2.off0.i257.i372, i64 %src_cur.4.i256.i371, i64 0 %cmp57.i260.i375 = icmp eq i32 %error_val.4.i255.i370, 34 %conv67.i262.i376 = trunc i64 %result.4.i258.i373 to i32 %sub70.i263.i377 = sub i32 0, %conv67.i262.i376 %cond72.i264.i378 = select i1 %result_sign.0.i242.i351, i32 %conv67.i262.i376, i32 %sub70.i263.i377 %..i271.i379 = select i1 %result_sign.0.i242.i351, i32 2147483647, i32 -2147483648 %retval.sroa.0.0.i266.i380 = select i1 %cmp57.i260.i375, i32 %..i271.i379, i32 %cond72.i264.i378 %add78.i381 = add i64 %cond56.i259.i374, %inc47.i331 store i64 %add78.i381, ptr %0, align 8, !tbaa !72 br label %if.end82.i150 if.end82.i150: ; preds = %while.end.i254.i369, %if.else61.i334, %if.then54.i405, %if.end29.i143 %798 = phi i64 [ %inc56.i406, %if.then54.i405 ], [ %add78.i381, %while.end.i254.i369 ], [ %inc47.i331, %if.else61.i334 ], [ %787, %if.end29.i143 ] %retval.sroa.41.0.i151 = phi i32 [ %792, %if.then54.i405 ], [ %retval.sroa.0.0.i266.i380, %while.end.i254.i369 ], [ 0, %if.else61.i334 ], [ -1, %if.end29.i143 ] %arrayidx.i305.i152 = getelementptr inbounds i8, ptr %769, i64 %798 %799 = load i8, ptr %arrayidx.i305.i152, align 1, !tbaa !26 switch i8 %799, label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 [ i8 108, label %sw.bb.i312.i323 i8 119, label %sw.bb8.i308.i242 i8 104, label %sw.bb34.i.i235 i8 76, label %sw.bb48.i.i233 i8 106, label %sw.bb52.i.i231 i8 122, label %sw.bb56.i.i229 i8 116, label %sw.bb60.i.i153 ] sw.bb.i312.i323: ; preds = %if.end82.i150 %add.i.i324 = add i64 %798, 1 %arrayidx3.i.i325 = getelementptr inbounds i8, ptr %769, i64 %add.i.i324 %800 = load i8, ptr %arrayidx3.i.i325, align 1, !tbaa !26 %cmp.i313.i326 = icmp eq i8 %800, 108 br i1 %cmp.i313.i326, label %if.then.i314.i328, label %if.else.i.i327 if.then.i314.i328: ; preds = %sw.bb.i312.i323 %add5.i.i329 = add i64 %798, 2 store i64 %add5.i.i329, ptr %0, align 8, !tbaa !57 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 if.else.i.i327: ; preds = %sw.bb.i312.i323 store i64 %add.i.i324, ptr %0, align 8, !tbaa !57 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 sw.bb8.i308.i242: ; preds = %if.end82.i150 %add11.i.i243 = add i64 %798, 1 %arrayidx12.i.i244 = getelementptr inbounds i8, ptr %769, i64 %add11.i.i243 %801 = load i8, ptr %arrayidx12.i.i244, align 1, !tbaa !26 %cmp14.i.i245 = icmp eq i8 %801, 102 %add16.i.i246 = add i64 %798, 2 %storemerge.i.i247 = select i1 %cmp14.i.i245, i64 %add16.i.i246, i64 %add11.i.i243 %lm9.0.i.i248 = select i1 %cmp14.i.i245, i32 9, i32 8 store i64 %storemerge.i.i247, ptr %0, align 8, !tbaa !57 %arrayidx20.i.i249 = getelementptr inbounds i8, ptr %769, i64 %storemerge.i.i247 %802 = load i8, ptr %arrayidx20.i.i249, align 1, !tbaa !26 %conv21.i.i250 = sext i8 %802 to i32 %sub.i.i.i251 = add nsw i32 %conv21.i.i250, -48 %cmp.i.i.i252 = icmp ult i32 %sub.i.i.i251, 10 br i1 %cmp.i.i.i252, label %land.rhs.i.i.i.i253, label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 land.rhs.i.i.i.i253: ; preds = %while.body.i.i.i.i256, %sw.bb8.i308.i242 %src_cur.06.i.i.i.i254 = phi i64 [ %inc.i.i.i.i257, %while.body.i.i.i.i256 ], [ 0, %sw.bb8.i308.i242 ] %arrayidx.i.i.i.i255 = getelementptr inbounds i8, ptr %arrayidx20.i.i249, i64 %src_cur.06.i.i.i.i254 %803 = load i8, ptr %arrayidx.i.i.i.i255, align 1, !tbaa !26, !alias.scope !323 switch i8 %803, label %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i.i262 [ i8 32, label %while.body.i.i.i.i256 i8 13, label %while.body.i.i.i.i256 i8 12, label %while.body.i.i.i.i256 i8 11, label %while.body.i.i.i.i256 i8 10, label %while.body.i.i.i.i256 i8 9, label %while.body.i.i.i.i256 ] while.body.i.i.i.i256: ; preds = %land.rhs.i.i.i.i253, %land.rhs.i.i.i.i253, %land.rhs.i.i.i.i253, %land.rhs.i.i.i.i253, %land.rhs.i.i.i.i253, %land.rhs.i.i.i.i253 %inc.i.i.i.i257 = add nuw i64 %src_cur.06.i.i.i.i254, 1 %exitcond.not.i.i.i.i258 = icmp eq i64 %inc.i.i.i.i257, -1 br i1 %exitcond.not.i.i.i.i258, label %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i.i259, label %land.rhs.i.i.i.i253, !llvm.loop !78 while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i.i259: ; preds = %while.body.i.i.i.i256 %add.ptr.i.phi.trans.insert.i.i.i260 = getelementptr inbounds i8, ptr %arrayidx20.i.i249, i64 -1 %.pre.i.i.i261 = load i8, ptr %add.ptr.i.phi.trans.insert.i.i.i260, align 1, !tbaa !26, !alias.scope !323 br label %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i.i262 _ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i.i262: ; preds = %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i.i259, %land.rhs.i.i.i.i253 %804 = phi i8 [ %.pre.i.i.i261, %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i.i259 ], [ %803, %land.rhs.i.i.i.i253 ] %src_cur.0.lcssa.i.i.i.i263 = phi i64 [ -1, %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i.i259 ], [ %src_cur.06.i.i.i.i254, %land.rhs.i.i.i.i253 ] switch i8 %804, label %if.end14.i.i.i266 [ i8 43, label %if.then12.i.i.i264 i8 45, label %if.then12.i.i.i264 ] if.then12.i.i.i264: ; preds = %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i.i262, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i.i262 %inc.i.i309.i265 = add i64 %src_cur.0.lcssa.i.i.i.i263, 1 %805 = icmp eq i8 %804, 43 br label %if.end14.i.i.i266 if.end14.i.i.i266: ; preds = %if.then12.i.i.i264, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i.i262 %result_sign.0.i.i.i267 = phi i1 [ %805, %if.then12.i.i.i264 ], [ true, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i.i262 ] %src_cur.0.i.i.i268 = phi i64 [ %inc.i.i309.i265, %if.then12.i.i.i264 ], [ %src_cur.0.lcssa.i.i.i.i263, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i.i262 ] %cond.i.i.i269 = select i1 %result_sign.0.i.i.i267, i64 2147483647, i64 2147483648 br label %while.cond.i.i.i270 while.cond.i.i.i270: ; preds = %cleanup.i.i.i305, %if.end14.i.i.i266 %error_val.0.i.i.i271 = phi i32 [ 0, %if.end14.i.i.i266 ], [ %error_val.3.i.i.i306, %cleanup.i.i.i305 ] %src_cur.2.i.i.i272 = phi i64 [ %src_cur.0.i.i.i268, %if.end14.i.i.i266 ], [ %src_cur.3.i.i.i307, %cleanup.i.i.i305 ] %is_number.0.off0.i.i.i273 = phi i1 [ false, %if.end14.i.i.i266 ], [ %is_number.1.off0.i.i.i308, %cleanup.i.i.i305 ] %result.0.i.i.i274 = phi i64 [ 0, %if.end14.i.i.i266 ], [ %result.3.i.i.i309, %cleanup.i.i.i305 ] %cmp30.i.not.i.i275 = icmp eq i64 %src_cur.2.i.i.i272, -1 br i1 %cmp30.i.not.i.i275, label %while.end.i.i.i285, label %land.rhs.i.i310.i276 land.rhs.i.i310.i276: ; preds = %while.cond.i.i.i270 %arrayidx31.i.i.i277 = getelementptr inbounds i8, ptr %arrayidx20.i.i249, i64 %src_cur.2.i.i.i272 %806 = load i8, ptr %arrayidx31.i.i.i277, align 1, !tbaa !26, !alias.scope !323 %conv32.i.i.i278 = sext i8 %806 to i32 %or.i.i.i.i.i279 = or i32 %conv32.i.i.i278, 32 %sub.i.i.i.i.i280 = add nsw i32 %or.i.i.i.i.i279, -97 %cmp.i.i148.i.i.i281 = icmp ult i32 %sub.i.i.i.i.i280, 26 %sub.i3.i.i.i.i282 = add nsw i32 %conv32.i.i.i278, -48 %cmp.i4.i.i.i.i283 = icmp ult i32 %sub.i3.i.i.i.i282, 10 %spec.select.i149.i.i.i284 = select i1 %cmp.i.i148.i.i.i281, i1 true, i1 %cmp.i4.i.i.i.i283 br i1 %spec.select.i149.i.i.i284, label %while.body.i.i311.i300, label %while.end.i.i.i285 while.body.i.i311.i300: ; preds = %land.rhs.i.i310.i276 %sub6.i.i.i.i301 = add nsw i32 %or.i.i.i.i.i279, -87 %spec.select.i154.i.i.i302 = select i1 %cmp.i.i148.i.i.i281, i32 %sub6.i.i.i.i301, i32 0 %spec.select163.i.i.i303 = select i1 %cmp.i4.i.i.i.i283, i32 %sub.i3.i.i.i.i282, i32 %spec.select.i154.i.i.i302 %cmp36.not.not.i.i.i304 = icmp slt i32 %spec.select163.i.i.i303, 10 br i1 %cmp36.not.not.i.i.i304, label %if.end38.i.i.i310, label %cleanup.i.i.i305 if.end38.i.i.i310: ; preds = %while.body.i.i311.i300 %inc39.i.i.i311 = add nuw i64 %src_cur.2.i.i.i272, 1 %cmp40.i.i.i312 = icmp eq i64 %result.0.i.i.i274, %cond.i.i.i269 br i1 %cmp40.i.i.i312, label %cleanup.i.i.i305, label %if.end42.i.i.i313, !llvm.loop !79 if.end42.i.i.i313: ; preds = %if.end38.i.i.i310 %cmp43.i.i.i314 = icmp ugt i64 %result.0.i.i.i274, 214748364 %mul.i.i.i315 = mul i64 %result.0.i.i.i274, 10 %result.1.i.i.i316 = select i1 %cmp43.i.i.i314, i64 %cond.i.i.i269, i64 %mul.i.i.i315 %conv47.i.i.i317 = sext i32 %spec.select163.i.i.i303 to i64 %sub48.i.i.i318 = sub nsw i64 %cond.i.i.i269, %conv47.i.i.i317 %cmp49.i.i.i319 = icmp ugt i64 %result.1.i.i.i316, %sub48.i.i.i318 %add53.i.i.i320 = add i64 %result.1.i.i.i316, %conv47.i.i.i317 %807 = or i1 %cmp43.i.i.i314, %cmp49.i.i.i319 %error_val.2.i.i.i321 = select i1 %807, i32 34, i32 %error_val.0.i.i.i271 %result.2.i.i.i322 = select i1 %cmp49.i.i.i319, i64 %cond.i.i.i269, i64 %add53.i.i.i320 br label %cleanup.i.i.i305 cleanup.i.i.i305: ; preds = %if.end42.i.i.i313, %if.end38.i.i.i310, %while.body.i.i311.i300 %error_val.3.i.i.i306 = phi i32 [ %error_val.2.i.i.i321, %if.end42.i.i.i313 ], [ %error_val.0.i.i.i271, %while.body.i.i311.i300 ], [ 34, %if.end38.i.i.i310 ] %src_cur.3.i.i.i307 = phi i64 [ %inc39.i.i.i311, %if.end42.i.i.i313 ], [ %src_cur.2.i.i.i272, %while.body.i.i311.i300 ], [ %inc39.i.i.i311, %if.end38.i.i.i310 ] %is_number.1.off0.i.i.i308 = phi i1 [ true, %if.end42.i.i.i313 ], [ %is_number.0.off0.i.i.i273, %while.body.i.i311.i300 ], [ true, %if.end38.i.i.i310 ] %result.3.i.i.i309 = phi i64 [ %result.2.i.i.i322, %if.end42.i.i.i313 ], [ %result.0.i.i.i274, %while.body.i.i311.i300 ], [ %cond.i.i.i269, %if.end38.i.i.i310 ] br i1 %cmp36.not.not.i.i.i304, label %while.cond.i.i.i270, label %while.end.i.i.i285 while.end.i.i.i285: ; preds = %cleanup.i.i.i305, %land.rhs.i.i310.i276, %while.cond.i.i.i270 %error_val.4.i.i.i286 = phi i32 [ %error_val.3.i.i.i306, %cleanup.i.i.i305 ], [ %error_val.0.i.i.i271, %land.rhs.i.i310.i276 ], [ %error_val.0.i.i.i271, %while.cond.i.i.i270 ] %src_cur.4.i.i.i287 = phi i64 [ %src_cur.3.i.i.i307, %cleanup.i.i.i305 ], [ %src_cur.2.i.i.i272, %land.rhs.i.i310.i276 ], [ -1, %while.cond.i.i.i270 ] %is_number.2.off0.i.i.i288 = phi i1 [ %is_number.1.off0.i.i.i308, %cleanup.i.i.i305 ], [ %is_number.0.off0.i.i.i273, %land.rhs.i.i310.i276 ], [ %is_number.0.off0.i.i.i273, %while.cond.i.i.i270 ] %result.4.i.i.i289 = phi i64 [ %result.3.i.i.i309, %cleanup.i.i.i305 ], [ %result.0.i.i.i274, %land.rhs.i.i310.i276 ], [ %result.0.i.i.i274, %while.cond.i.i.i270 ] %cond56.i.i.i290 = select i1 %is_number.2.off0.i.i.i288, i64 %src_cur.4.i.i.i287, i64 0 %cmp57.i.i.i291 = icmp eq i32 %error_val.4.i.i.i286, 34 %conv67.i.i.i292 = trunc i64 %result.4.i.i.i289 to i32 %sub70.i.i.i293 = sub i32 0, %conv67.i.i.i292 %cond72.i.i.i294 = select i1 %result_sign.0.i.i.i267, i32 %conv67.i.i.i292, i32 %sub70.i.i.i293 %..i.i.i295 = select i1 %result_sign.0.i.i.i267, i32 2147483647, i32 -2147483648 %retval.sroa.0.0.i.i.i296 = select i1 %cmp57.i.i.i291, i32 %..i.i.i295, i32 %cond72.i.i.i294 %add26.i.i297 = add i64 %cond56.i.i.i290, %storemerge.i.i247 store i64 %add26.i.i297, ptr %0, align 8, !tbaa !57 %.sroa.speculated.i.i298 = call i32 @llvm.smax.i32(i32 %retval.sroa.0.0.i.i.i296, i32 0) %conv30.i.i299 = zext nneg i32 %.sroa.speculated.i.i298 to i64 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 sw.bb34.i.i235: ; preds = %if.end82.i150 %add36.i.i236 = add i64 %798, 1 %arrayidx37.i.i237 = getelementptr inbounds i8, ptr %769, i64 %add36.i.i236 %808 = load i8, ptr %arrayidx37.i.i237, align 1, !tbaa !26 %cmp39.i.i238 = icmp eq i8 %808, 104 br i1 %cmp39.i.i238, label %if.then40.i.i240, label %if.else44.i.i239 if.then40.i.i240: ; preds = %sw.bb34.i.i235 %add41.i.i241 = add i64 %798, 2 store i64 %add41.i.i241, ptr %0, align 8, !tbaa !57 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 if.else44.i.i239: ; preds = %sw.bb34.i.i235 store i64 %add36.i.i236, ptr %0, align 8, !tbaa !57 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 sw.bb48.i.i233: ; preds = %if.end82.i150 %inc49.i.i234 = add i64 %798, 1 store i64 %inc49.i.i234, ptr %0, align 8, !tbaa !57 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 sw.bb52.i.i231: ; preds = %if.end82.i150 %inc53.i.i232 = add i64 %798, 1 store i64 %inc53.i.i232, ptr %0, align 8, !tbaa !57 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 sw.bb56.i.i229: ; preds = %if.end82.i150 %inc57.i.i230 = add i64 %798, 1 store i64 %inc57.i.i230, ptr %0, align 8, !tbaa !57 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 sw.bb60.i.i153: ; preds = %if.end82.i150 %inc61.i.i154 = add i64 %798, 1 store i64 %inc61.i.i154, ptr %0, align 8, !tbaa !57 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 _ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155: ; preds = %sw.bb60.i.i153, %sw.bb56.i.i229, %sw.bb52.i.i231, %sw.bb48.i.i233, %if.else44.i.i239, %if.then40.i.i240, %while.end.i.i.i285, %sw.bb8.i308.i242, %if.else.i.i327, %if.then.i314.i328, %if.end82.i150 %809 = phi i64 [ %inc61.i.i154, %sw.bb60.i.i153 ], [ %inc57.i.i230, %sw.bb56.i.i229 ], [ %inc53.i.i232, %sw.bb52.i.i231 ], [ %inc49.i.i234, %sw.bb48.i.i233 ], [ %add41.i.i241, %if.then40.i.i240 ], [ %add36.i.i236, %if.else44.i.i239 ], [ %add5.i.i329, %if.then.i314.i328 ], [ %add.i.i324, %if.else.i.i327 ], [ %storemerge.i.i247, %sw.bb8.i308.i242 ], [ %add26.i.i297, %while.end.i.i.i285 ], [ %798, %if.end82.i150 ] %retval.sroa.0.1.i.i156 = phi i32 [ 6, %sw.bb60.i.i153 ], [ 5, %sw.bb56.i.i229 ], [ 4, %sw.bb52.i.i231 ], [ 7, %sw.bb48.i.i233 ], [ 0, %if.then40.i.i240 ], [ 1, %if.else44.i.i239 ], [ 3, %if.then.i314.i328 ], [ 2, %if.else.i.i327 ], [ %lm9.0.i.i248, %sw.bb8.i308.i242 ], [ %lm9.0.i.i248, %while.end.i.i.i285 ], [ 10, %if.end82.i150 ] %retval.sroa.12.1.i.i157 = phi i64 [ 0, %sw.bb60.i.i153 ], [ 0, %sw.bb56.i.i229 ], [ 0, %sw.bb52.i.i231 ], [ 0, %sw.bb48.i.i233 ], [ 0, %if.then40.i.i240 ], [ 0, %if.else44.i.i239 ], [ 0, %if.then.i314.i328 ], [ 0, %if.else.i.i327 ], [ 0, %sw.bb8.i308.i242 ], [ %conv30.i.i299, %while.end.i.i.i285 ], [ 0, %if.end82.i150 ] %arrayidx87.i158 = getelementptr inbounds i8, ptr %769, i64 %809 %810 = load i8, ptr %arrayidx87.i158, align 1, !tbaa !26 switch i8 %810, label %sw.default.i228 [ i8 37, label %sw.epilog181.i164 i8 99, label %sw.bb94.i222 i8 100, label %sw.bb99.i176 i8 105, label %sw.bb99.i176 i8 111, label %sw.bb99.i176 i8 120, label %sw.bb99.i176 i8 88, label %sw.bb99.i176 i8 117, label %sw.bb99.i176 i8 98, label %sw.bb99.i176 i8 66, label %sw.bb99.i176 i8 112, label %sw.bb171.i171 i8 115, label %sw.bb175.i159 ] sw.bb94.i222: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 %argp.cur.i.i316.i224 = load ptr, ptr %1, align 8 %811 = getelementptr inbounds i8, ptr %argp.cur.i.i316.i224, i64 3 %argp.cur.aligned.i.i317.i225 = call align 4 ptr @llvm.ptrmask.p0.i64(ptr nonnull %811, i64 -4) %argp.next.i.i318.i226 = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i317.i225, i64 4 store ptr %argp.next.i.i318.i226, ptr %1, align 8 %812 = load i32, ptr %argp.cur.aligned.i.i317.i225, align 4, !tbaa !74 %conv98.i227 = sext i32 %812 to i64 br label %sw.epilog181.i164 sw.bb99.i176: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 switch i32 %retval.sroa.0.1.i.i156, label %default.unreachable [ i32 0, label %sw.bb101.i215 i32 1, label %sw.bb101.i215 i32 10, label %sw.bb101.i215 i32 2, label %sw.bb107.i210 i32 3, label %sw.bb112.i205 i32 7, label %sw.bb112.i205 i32 4, label %sw.bb117.i200 i32 5, label %sw.bb122.i195 i32 6, label %sw.bb127.i190 i32 8, label %sw.bb132.i177 i32 9, label %sw.bb132.i177 ] sw.bb101.i215: ; preds = %sw.bb99.i176, %sw.bb99.i176, %sw.bb99.i176 %argp.cur.i.i320.i217 = load ptr, ptr %1, align 8 %813 = getelementptr inbounds i8, ptr %argp.cur.i.i320.i217, i64 3 %argp.cur.aligned.i.i321.i218 = call align 4 ptr @llvm.ptrmask.p0.i64(ptr nonnull %813, i64 -4) %argp.next.i.i322.i219 = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i321.i218, i64 4 store ptr %argp.next.i.i322.i219, ptr %1, align 8 %814 = load i32, ptr %argp.cur.aligned.i.i321.i218, align 4, !tbaa !74 %conv105.i220 = sext i32 %814 to i64 br label %sw.epilog181.i164 sw.bb107.i210: ; preds = %sw.bb99.i176 %argp.cur.i.i324.i212 = load ptr, ptr %1, align 8 %815 = getelementptr inbounds i8, ptr %argp.cur.i.i324.i212, i64 7 %argp.cur.aligned.i.i325.i213 = call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %815, i64 -8) %argp.next.i.i326.i214 = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i325.i213, i64 8 store ptr %argp.next.i.i326.i214, ptr %1, align 8 %816 = load i64, ptr %argp.cur.aligned.i.i325.i213, align 8, !tbaa !57 br label %sw.epilog181.i164 sw.bb112.i205: ; preds = %sw.bb99.i176, %sw.bb99.i176 %argp.cur.i.i328.i207 = load ptr, ptr %1, align 8 %817 = getelementptr inbounds i8, ptr %argp.cur.i.i328.i207, i64 7 %argp.cur.aligned.i.i329.i208 = call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %817, i64 -8) %argp.next.i.i330.i209 = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i329.i208, i64 8 store ptr %argp.next.i.i330.i209, ptr %1, align 8 %818 = load i64, ptr %argp.cur.aligned.i.i329.i208, align 8, !tbaa !42 br label %sw.epilog181.i164 sw.bb117.i200: ; preds = %sw.bb99.i176 %argp.cur.i.i332.i202 = load ptr, ptr %1, align 8 %819 = getelementptr inbounds i8, ptr %argp.cur.i.i332.i202, i64 7 %argp.cur.aligned.i.i333.i203 = call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %819, i64 -8) %argp.next.i.i334.i204 = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i333.i203, i64 8 store ptr %argp.next.i.i334.i204, ptr %1, align 8 %820 = load i64, ptr %argp.cur.aligned.i.i333.i203, align 8, !tbaa !42 br label %sw.epilog181.i164 sw.bb122.i195: ; preds = %sw.bb99.i176 %argp.cur.i.i336.i197 = load ptr, ptr %1, align 8 %821 = getelementptr inbounds i8, ptr %argp.cur.i.i336.i197, i64 7 %argp.cur.aligned.i.i337.i198 = call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %821, i64 -8) %argp.next.i.i338.i199 = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i337.i198, i64 8 store ptr %argp.next.i.i338.i199, ptr %1, align 8 %822 = load i64, ptr %argp.cur.aligned.i.i337.i198, align 8, !tbaa !57 br label %sw.epilog181.i164 sw.bb127.i190: ; preds = %sw.bb99.i176 %argp.cur.i.i340.i192 = load ptr, ptr %1, align 8 %823 = getelementptr inbounds i8, ptr %argp.cur.i.i340.i192, i64 7 %argp.cur.aligned.i.i341.i193 = call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %823, i64 -8) %argp.next.i.i342.i194 = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i341.i193, i64 8 store ptr %argp.next.i.i342.i194, ptr %1, align 8 %824 = load i64, ptr %argp.cur.aligned.i.i341.i193, align 8, !tbaa !57 br label %sw.epilog181.i164 sw.bb132.i177: ; preds = %sw.bb99.i176, %sw.bb99.i176 %cmp134.i178 = icmp eq i64 %retval.sroa.12.1.i.i157, 0 br i1 %cmp134.i178, label %sw.epilog181.i164, label %if.else137.i179 if.else137.i179: ; preds = %sw.bb132.i177 %cmp139.i180 = icmp ult i64 %retval.sroa.12.1.i.i157, 33 %argp.cur.i.i344.i182 = load ptr, ptr %1, align 8 br i1 %cmp139.i180, label %if.then140.i186, label %if.else146.i183 if.then140.i186: ; preds = %if.else137.i179 %825 = getelementptr inbounds i8, ptr %argp.cur.i.i344.i182, i64 3 %argp.cur.aligned.i.i345.i187 = call align 4 ptr @llvm.ptrmask.p0.i64(ptr nonnull %825, i64 -4) %argp.next.i.i346.i188 = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i345.i187, i64 4 store ptr %argp.next.i.i346.i188, ptr %1, align 8 %826 = load i32, ptr %argp.cur.aligned.i.i345.i187, align 4, !tbaa !74 %conv144.i189 = sext i32 %826 to i64 br label %sw.epilog181.i164 if.else146.i183: ; preds = %if.else137.i179 %827 = getelementptr inbounds i8, ptr %argp.cur.i.i344.i182, i64 7 %argp.cur.aligned.i.i349.i184 = call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %827, i64 -8) %argp.next.i.i350.i185 = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i349.i184, i64 8 store ptr %argp.next.i.i350.i185, ptr %1, align 8 %828 = load i64, ptr %argp.cur.aligned.i.i349.i184, align 8, !tbaa !26 br label %sw.epilog181.i164 sw.bb171.i171: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 %argp.cur.i.i356.i173 = load ptr, ptr %1, align 8 %829 = getelementptr inbounds i8, ptr %argp.cur.i.i356.i173, i64 7 %argp.cur.aligned.i.i357.i174 = call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %829, i64 -8) %argp.next.i.i358.i175 = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i357.i174, i64 8 store ptr %argp.next.i.i358.i175, ptr %1, align 8 %830 = load ptr, ptr %argp.cur.aligned.i.i357.i174, align 8, !tbaa !11 br label %sw.epilog181.i164 sw.bb175.i159: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 %argp.cur.i.i360.i161 = load ptr, ptr %1, align 8 %831 = getelementptr inbounds i8, ptr %argp.cur.i.i360.i161, i64 7 %argp.cur.aligned.i.i361.i162 = call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %831, i64 -8) %argp.next.i.i362.i163 = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i361.i162, i64 8 store ptr %argp.next.i.i362.i163, ptr %1, align 8 %832 = load ptr, ptr %argp.cur.aligned.i.i361.i162, align 8, !tbaa !11 br label %sw.epilog181.i164 sw.default.i228: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 br label %sw.epilog181.i164 sw.epilog181.i164: ; preds = %sw.default.i228, %sw.bb175.i159, %sw.bb171.i171, %if.else146.i183, %if.then140.i186, %sw.bb132.i177, %sw.bb127.i190, %sw.bb122.i195, %sw.bb117.i200, %sw.bb112.i205, %sw.bb107.i210, %sw.bb101.i215, %sw.bb94.i222, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 %retval.sroa.58.0.i165 = phi ptr [ inttoptr (i64 -6148914691236517206 to ptr), %sw.default.i228 ], [ %832, %sw.bb175.i159 ], [ %830, %sw.bb171.i171 ], [ inttoptr (i64 -6148914691236517206 to ptr), %if.then140.i186 ], [ inttoptr (i64 -6148914691236517206 to ptr), %sw.bb127.i190 ], [ inttoptr (i64 -6148914691236517206 to ptr), %sw.bb122.i195 ], [ inttoptr (i64 -6148914691236517206 to ptr), %sw.bb117.i200 ], [ inttoptr (i64 -6148914691236517206 to ptr), %sw.bb112.i205 ], [ inttoptr (i64 -6148914691236517206 to ptr), %sw.bb107.i210 ], [ inttoptr (i64 -6148914691236517206 to ptr), %sw.bb101.i215 ], [ inttoptr (i64 -6148914691236517206 to ptr), %sw.bb94.i222 ], [ inttoptr (i64 -6148914691236517206 to ptr), %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 ], [ inttoptr (i64 -6148914691236517206 to ptr), %sw.bb132.i177 ], [ inttoptr (i64 -6148914691236517206 to ptr), %if.else146.i183 ] %retval.sroa.47.0.i166 = phi i64 [ -6148914691236517206, %sw.default.i228 ], [ -6148914691236517206, %sw.bb175.i159 ], [ -6148914691236517206, %sw.bb171.i171 ], [ %conv144.i189, %if.then140.i186 ], [ %824, %sw.bb127.i190 ], [ %822, %sw.bb122.i195 ], [ %820, %sw.bb117.i200 ], [ %818, %sw.bb112.i205 ], [ %816, %sw.bb107.i210 ], [ %conv105.i220, %sw.bb101.i215 ], [ %conv98.i227, %sw.bb94.i222 ], [ -6148914691236517206, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 ], [ -6148914691236517206, %sw.bb132.i177 ], [ %828, %if.else146.i183 ] %retval.sroa.0.0.i167.off0 = phi i1 [ false, %sw.default.i228 ], [ true, %sw.bb175.i159 ], [ true, %sw.bb171.i171 ], [ true, %if.then140.i186 ], [ true, %sw.bb127.i190 ], [ true, %sw.bb122.i195 ], [ true, %sw.bb117.i200 ], [ true, %sw.bb112.i205 ], [ true, %sw.bb107.i210 ], [ true, %sw.bb101.i215 ], [ true, %sw.bb94.i222 ], [ true, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 ], [ false, %sw.bb132.i177 ], [ true, %if.else146.i183 ] %833 = load i8, ptr %arrayidx87.i158, align 1, !tbaa !26 %cmp186.not.i168 = icmp eq i8 %833, 0 br i1 %cmp186.not.i168, label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491, label %if.then187.i169 if.then187.i169: ; preds = %sw.epilog181.i164 %inc189.i170 = add i64 %809, 1 store i64 %inc189.i170, ptr %0, align 8, !tbaa !72 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491 while.cond.i83: ; preds = %while.body.i122, %for.inc %834 = phi i8 [ %.pre.i125, %while.body.i122 ], [ %770, %for.inc ] %835 = phi i64 [ %inc204.i123, %while.body.i122 ], [ %768, %for.inc ] switch i8 %834, label %while.body.i122 [ i8 37, label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491 i8 0, label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491 ] while.body.i122: ; preds = %while.cond.i83 %inc204.i123 = add i64 %835, 1 store i64 %inc204.i123, ptr %0, align 8, !tbaa !72 %arrayidx195.phi.trans.insert.i124 = getelementptr inbounds i8, ptr %769, i64 %inc204.i123 %.pre.i125 = load i8, ptr %arrayidx195.phi.trans.insert.i124, align 1, !tbaa !26 br label %while.cond.i83, !llvm.loop !86 _ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491: ; preds = %while.cond.i83, %while.cond.i83, %if.then187.i169, %sw.epilog181.i164 %836 = phi i64 [ %809, %sw.epilog181.i164 ], [ %inc189.i170, %if.then187.i169 ], [ %835, %while.cond.i83 ], [ %835, %while.cond.i83 ] %retval.sroa.61.0.i84 = phi i8 [ %810, %sw.epilog181.i164 ], [ %810, %if.then187.i169 ], [ -86, %while.cond.i83 ], [ -86, %while.cond.i83 ] %retval.sroa.58.1.i85 = phi ptr [ %retval.sroa.58.0.i165, %sw.epilog181.i164 ], [ %retval.sroa.58.0.i165, %if.then187.i169 ], [ inttoptr (i64 -6148914691236517206 to ptr), %while.cond.i83 ], [ inttoptr (i64 -6148914691236517206 to ptr), %while.cond.i83 ] %retval.sroa.47.1.i86 = phi i64 [ %retval.sroa.47.0.i166, %sw.epilog181.i164 ], [ %retval.sroa.47.0.i166, %if.then187.i169 ], [ -6148914691236517206, %while.cond.i83 ], [ -6148914691236517206, %while.cond.i83 ] %retval.sroa.41.1.i87 = phi i32 [ %retval.sroa.41.0.i151, %sw.epilog181.i164 ], [ %retval.sroa.41.0.i151, %if.then187.i169 ], [ -1, %while.cond.i83 ], [ -1, %while.cond.i83 ] %retval.sroa.34.2.i88 = phi i32 [ %spec.select.i145, %sw.epilog181.i164 ], [ %spec.select.i145, %if.then187.i169 ], [ 0, %while.cond.i83 ], [ 0, %while.cond.i83 ] %retval.sroa.31.0.i89 = phi i64 [ %retval.sroa.12.1.i.i157, %sw.epilog181.i164 ], [ %retval.sroa.12.1.i.i157, %if.then187.i169 ], [ 0, %while.cond.i83 ], [ 0, %while.cond.i83 ] %retval.sroa.28.0.i90 = phi i32 [ %retval.sroa.0.1.i.i156, %sw.epilog181.i164 ], [ %retval.sroa.0.1.i.i156, %if.then187.i169 ], [ 10, %while.cond.i83 ], [ 10, %while.cond.i83 ] %retval.sroa.20.1.i91 = phi i8 [ %spec.select365.i147, %sw.epilog181.i164 ], [ %spec.select365.i147, %if.then187.i169 ], [ 0, %while.cond.i83 ], [ 0, %while.cond.i83 ] %retval.sroa.0.1.i92.off0 = phi i1 [ %retval.sroa.0.0.i167.off0, %sw.epilog181.i164 ], [ %retval.sroa.0.0.i167.off0, %if.then187.i169 ], [ false, %while.cond.i83 ], [ false, %while.cond.i83 ] %sub210.i93 = sub i64 %836, %768 %cmp.i71 = icmp eq i64 %sub210.i93, 0 br i1 %cmp.i71, label %cleanup9, label %for.body, !llvm.loop !326 cleanup9: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491, %if.end, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit call void @llvm.va_end.p0(ptr nonnull %1) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %parser) #18 ret void } ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write) declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #15 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare ptr @llvm.ptrmask.p0.i64(ptr, i64) #5 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare i32 @llvm.abs.i32(i32, i1 immarg) #5 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare i32 @llvm.smax.i32(i32, i32) #5 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare i64 @llvm.abs.i64(i64, i1 immarg) #5 ; Function Attrs: convergent mustprogress noreturn nounwind define internal fastcc void @_ZN22__llvm_libc_19_0_0_git8internal4exitEi(i32 noundef %status) unnamed_addr #14 { entry: %status.addr = alloca i32, align 4 %port = alloca %"struct.__llvm_libc_19_0_0_git::rpc::Port", align 8 store i32 %status, ptr %status.addr, align 4, !tbaa !74 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %port) #18 %0 = getelementptr inbounds i8, ptr %port, i64 8 %1 = getelementptr inbounds i8, ptr %port, i64 16 %2 = getelementptr inbounds i8, ptr %port, i64 20 %3 = getelementptr inbounds i8, ptr %port, i64 24 %4 = getelementptr inbounds i8, ptr %port, i64 28 %5 = getelementptr inbounds i8, ptr %port, i64 29 %6 = getelementptr inbounds i8, ptr %port, i64 30 %7 = getelementptr inbounds i8, ptr %port, i64 31 %call = tail call fastcc <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> @_ZN22__llvm_libc_19_0_0_git3rpc6Client4openILt1EEENS0_4PortILb0EEEv() #24 %newret = extractvalue <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> %call, 0 %newret1 = extractvalue <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> %call, 1 %newret3 = extractvalue <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> %call, 2 %newret5 = extractvalue <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> %call, 3 %newret7 = extractvalue <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> %call, 4 %newret9 = extractvalue <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> %call, 5 %newret11 = extractvalue <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> %call, 6 %newret13 = extractvalue <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> %call, 7 store ptr %newret, ptr %port, align 8 store i64 %newret1, ptr %0, align 8 store i32 %newret3, ptr %1, align 8 store i32 %newret5, ptr %2, align 4 store i32 %newret7, ptr %3, align 8 store i8 %newret9, ptr %4, align 4 store i8 %newret11, ptr %5, align 1 %.fca.0.extract = extractvalue [2 x i8] %newret13, 0 store i8 %.fca.0.extract, ptr %6, align 2 %.fca.1.extract = extractvalue [2 x i8] %newret13, 1 store i8 %.fca.1.extract, ptr %7, align 1 call fastcc void @"_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE13send_and_recvIZNS_8internal4exitEiE3$_0ZNS4_4exitEiE3$_1EEvT_T0_"(ptr noundef nonnull align 8 dereferenceable(30) %port) #24 call fastcc void @"_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS_8internal4exitEiE3$_2EEvT_"(ptr noundef nonnull align 8 dereferenceable(30) %port, ptr nonnull %status.addr) #24 call fastcc void @_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE5closeEv(ptr noundef nonnull align 8 dereferenceable(30) %port) #24 call void @llvm.nvvm.exit() unreachable } ; Function Attrs: convergent inlinehint mustprogress norecurse nounwind define internal fastcc <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> @_ZN22__llvm_libc_19_0_0_git3rpc6Client4openILt1EEENS0_4PortILb0EEEv() unnamed_addr #16 comdat align 2 !type !327 { entry: %0 = tail call noundef i32 @llvm.nvvm.read.ptx.sreg.smid() %1 = tail call range(i32 0, 32) i32 @llvm.nvvm.read.ptx.sreg.laneid() %sh_prom.i = zext nneg i32 %1 to i64 %shl.i = shl nuw nsw i64 1, %sh_prom.i br label %for.cond for.cond: ; preds = %cleanup27, %entry %retval.sroa.6.0 = phi i32 [ undef, %entry ], [ %retval.sroa.6.1, %cleanup27 ] %retval.sroa.2.0 = phi i64 [ undef, %entry ], [ %retval.sroa.2.1, %cleanup27 ] %retval.sroa.8.0 = phi i32 [ undef, %entry ], [ %retval.sroa.8.1, %cleanup27 ] %index.0 = phi i32 [ %0, %entry ], [ %inc, %cleanup27 ] %2 = load i32, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, align 8, !tbaa !29 %cmp.not = icmp ult i32 %index.0, %2 %spec.store.select = select i1 %cmp.not, i32 %index.0, i32 0 %3 = tail call i32 @llvm.nvvm.activemask() %conv.i = zext i32 %3 to i64 %and.i = and i64 %shl.i, %conv.i %tobool.i = icmp ne i64 %and.i, 0 %div8.i.i = lshr i32 %spec.store.select, 5 %4 = and i32 %spec.store.select, 31 %idxprom.i.i = zext nneg i32 %div8.i.i to i64 %arrayidx.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, i64 40), i64 %idxprom.i.i %conv4.i.i = zext i1 %tobool.i to i32 %shl.i.i = shl nuw i32 %conv4.i.i, %4 %5 = atomicrmw or ptr %arrayidx.i.i, i32 %shl.i.i monotonic, align 4 %shl5.i.i = shl nuw i32 1, %4 %and.i.i = and i32 %shl5.i.i, %5 %tobool3.i = icmp ne i32 %and.i.i, 0 %6 = tail call i32 @llvm.nvvm.vote.ballot.sync(i32 %3, i1 %tobool3.i) %cmp.i.not = icmp eq i32 %6, %3 br i1 %cmp.i.not, label %cleanup27, label %if.then.i if.then.i: ; preds = %for.cond tail call void @llvm.nvvm.membar.sys() %7 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, i64 8), align 8, !tbaa !32 %idxprom.i = zext i32 %spec.store.select to i64 %arrayidx.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr %7, i64 %idxprom.i %8 = load atomic i32, ptr %arrayidx.i monotonic, align 4 %9 = tail call range(i32 0, 33) i32 @llvm.cttz.i32(i32 %3, i1 true) %iszero.i.i = icmp eq i32 %3, 0 %sub.i.i = select i1 %iszero.i.i, i32 -1, i32 %9 %10 = tail call noundef i32 @llvm.nvvm.shfl.sync.idx.i32(i32 %3, i32 %8, i32 %sub.i.i, i32 31) %11 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, i64 16), align 8, !tbaa !33 %arrayidx.i46 = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr %11, i64 %idxprom.i %12 = load atomic i32, ptr %arrayidx.i46 monotonic, align 4 %13 = tail call noundef i32 @llvm.nvvm.shfl.sync.idx.i32(i32 %3, i32 %12, i32 %sub.i.i, i32 31) %cmp.i49.not = icmp eq i32 %10, %13 br i1 %cmp.i49.not, label %if.end15, label %if.then13 if.then13: ; preds = %if.then.i tail call void @llvm.nvvm.membar.sys() %14 = tail call range(i64 0, 65) i64 @llvm.cttz.i64(i64 %conv.i, i1 true) %iszero.i.i.i = icmp ne i32 %3, 0 %cmp2.i.i = icmp eq i64 %14, %sh_prom.i %cmp.i.i = select i1 %iszero.i.i.i, i1 %cmp2.i.i, i1 false %conv4.i.i54 = zext i1 %cmp.i.i to i32 %shl.i.i55 = shl nuw i32 %conv4.i.i54, %4 %xor.i.i = xor i32 %shl.i.i55, -1 %15 = atomicrmw and ptr %arrayidx.i.i, i32 %xor.i.i monotonic, align 4 tail call void @llvm.nvvm.bar.warp.sync(i32 %3) br label %cleanup27 if.end15: ; preds = %if.then.i %16 = tail call range(i64 0, 65) i64 @llvm.cttz.i64(i64 %conv.i, i1 true) %iszero.i.i57 = icmp ne i32 %3, 0 %cmp2.i = icmp eq i64 %16, %sh_prom.i %cmp.i58 = select i1 %iszero.i.i57, i1 %cmp2.i, i1 false br i1 %cmp.i58, label %if.then17, label %if.end23 if.then17: ; preds = %if.end15 %17 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, i64 24), align 8, !tbaa !34 %opcode = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::rpc::Header", ptr %17, i64 %idxprom.i, i32 1 store i16 1, ptr %opcode, align 8, !tbaa !35 %arrayidx22 = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::rpc::Header", ptr %17, i64 %idxprom.i store i64 %conv.i, ptr %arrayidx22, align 8, !tbaa !39 br label %if.end23 if.end23: ; preds = %if.then17, %if.end15 tail call void @llvm.nvvm.bar.warp.sync(i32 %3) br label %cleanup27 cleanup27: ; preds = %if.end23, %if.then13, %for.cond %retval.sroa.6.1 = phi i32 [ %retval.sroa.6.0, %if.then13 ], [ %spec.store.select, %if.end23 ], [ %retval.sroa.6.0, %for.cond ] %retval.sroa.2.1 = phi i64 [ %retval.sroa.2.0, %if.then13 ], [ %conv.i, %if.end23 ], [ %retval.sroa.2.0, %for.cond ] %retval.sroa.8.1 = phi i32 [ %retval.sroa.8.0, %if.then13 ], [ %10, %if.end23 ], [ %retval.sroa.8.0, %for.cond ] %cond = phi i1 [ true, %if.then13 ], [ false, %if.end23 ], [ true, %for.cond ] %inc = add i32 %spec.store.select, 1 br i1 %cond, label %for.cond, label %cleanup28, !llvm.loop !328 cleanup28: ; preds = %cleanup27 %retval.sroa.6.1.lcssa = phi i32 [ %retval.sroa.6.1, %cleanup27 ] %retval.sroa.2.1.lcssa = phi i64 [ %retval.sroa.2.1, %cleanup27 ] %retval.sroa.8.1.lcssa = phi i32 [ %retval.sroa.8.1, %cleanup27 ] %newret2 = insertvalue <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> <{ ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, i64 poison, i32 poison, i32 poison, i32 poison, i8 poison, i8 poison, [2 x i8] poison }>, i64 %retval.sroa.2.1.lcssa, 1 %newret4 = insertvalue <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> %newret2, i32 32, 2 %newret6 = insertvalue <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> %newret4, i32 %retval.sroa.6.1.lcssa, 3 %newret8 = insertvalue <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> %newret6, i32 %retval.sroa.8.1.lcssa, 4 %newret10 = insertvalue <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> %newret8, i8 0, 5 %newret12 = insertvalue <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> %newret10, i8 1, 6 %newret14 = insertvalue <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> %newret12, [2 x i8] undef, 7 ret <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> %newret14 } ; Function Attrs: convergent inlinehint mustprogress norecurse nounwind define internal fastcc void @"_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE13send_and_recvIZNS_8internal4exitEiE3$_0ZNS4_4exitEiE3$_1EEvT_T0_"(ptr nocapture noundef nonnull align 8 dereferenceable(30) %this) unnamed_addr #16 align 2 !type !329 { entry: %owns_buffer.i = getelementptr inbounds i8, ptr %this, i64 29 %0 = load i8, ptr %owns_buffer.i, align 1, !tbaa !331, !range !334, !noundef !335 %loadedv.i = trunc nuw i8 %0 to i1 br i1 %loadedv.i, label %cond.true.i, label %cond.false.i cond.true.i: ; preds = %entry %out.i = getelementptr inbounds i8, ptr %this, i64 24 %1 = load i32, ptr %out.i, align 8, !tbaa !336 br label %cond.end.i cond.false.i: ; preds = %entry %2 = load ptr, ptr %this, align 8, !tbaa !337 %lane_mask.i = getelementptr inbounds i8, ptr %this, i64 8 %3 = load i64, ptr %lane_mask.i, align 8, !tbaa !338 %index.i = getelementptr inbounds i8, ptr %this, i64 20 %4 = load i32, ptr %index.i, align 4, !tbaa !339 %inbox.i.i = getelementptr inbounds i8, ptr %2, i64 8 %5 = load ptr, ptr %inbox.i.i, align 8, !tbaa !32 %idxprom.i.i = zext i32 %4 to i64 %arrayidx.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr %5, i64 %idxprom.i.i %6 = load atomic i32, ptr %arrayidx.i.i monotonic, align 4 %conv.i.i.i = trunc i64 %3 to i32 %7 = tail call range(i32 0, 33) i32 @llvm.cttz.i32(i32 %conv.i.i.i, i1 true) %iszero.i.i.i = icmp eq i32 %conv.i.i.i, 0 %sub.i.i.i = select i1 %iszero.i.i.i, i32 -1, i32 %7 %8 = tail call noundef i32 @llvm.nvvm.shfl.sync.idx.i32(i32 %conv.i.i.i, i32 %6, i32 %sub.i.i.i, i32 31) %out5.phi.trans.insert.i = getelementptr inbounds i8, ptr %this, i64 24 %.pre.i = load i32, ptr %out5.phi.trans.insert.i, align 8, !tbaa !336 br label %cond.end.i cond.end.i: ; preds = %cond.false.i, %cond.true.i %9 = phi i32 [ %1, %cond.true.i ], [ %.pre.i, %cond.false.i ] %cond.i = phi i32 [ %1, %cond.true.i ], [ %8, %cond.false.i ] %index4.i = getelementptr inbounds i8, ptr %this, i64 20 %cmp.i.not3.i.i = icmp eq i32 %cond.i, %9 br i1 %cmp.i.not3.i.i, label %"_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS_8internal4exitEiE3$_0EEvT_.exit", label %while.body.lr.ph.i.i while.body.lr.ph.i.i: ; preds = %cond.end.i %10 = load i32, ptr %index4.i, align 4, !tbaa !339 %lane_mask3.i = getelementptr inbounds i8, ptr %this, i64 8 %11 = load i64, ptr %lane_mask3.i, align 8, !tbaa !338 %12 = load ptr, ptr %this, align 8, !tbaa !337 %inbox.i.i.i = getelementptr inbounds i8, ptr %12, i64 8 %13 = load ptr, ptr %inbox.i.i.i, align 8, !tbaa !32 %idxprom.i.i.i = zext i32 %10 to i64 %arrayidx.i.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr %13, i64 %idxprom.i.i.i %conv.i.i.i.i = trunc i64 %11 to i32 %14 = tail call range(i32 0, 33) i32 @llvm.cttz.i32(i32 %conv.i.i.i.i, i1 true) %iszero.i.i.i.i = icmp eq i32 %conv.i.i.i.i, 0 %sub.i.i.i.i = select i1 %iszero.i.i.i.i, i32 -1, i32 %14 br label %while.body.i.i while.body.i.i: ; preds = %while.body.i.i, %while.body.lr.ph.i.i %15 = load atomic i32, ptr %arrayidx.i.i.i monotonic, align 4 %16 = tail call noundef i32 @llvm.nvvm.shfl.sync.idx.i32(i32 %conv.i.i.i.i, i32 %15, i32 %sub.i.i.i.i, i32 31) %cmp.i.not.i.i = icmp eq i32 %16, %9 br i1 %cmp.i.not.i.i, label %"_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS_8internal4exitEiE3$_0EEvT_.exit", label %while.body.i.i, !llvm.loop !340 "_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS_8internal4exitEiE3$_0EEvT_.exit": ; preds = %while.body.i.i, %cond.end.i %out5.i = getelementptr inbounds i8, ptr %this, i64 24 tail call void @llvm.nvvm.membar.sys() %17 = load ptr, ptr %this, align 8, !tbaa !337 %18 = load i32, ptr %index4.i, align 4, !tbaa !339 %idxprom.i = zext i32 %18 to i64 %19 = load i32, ptr %out5.i, align 8, !tbaa !336 %tobool.not.i.i = icmp eq i32 %19, 0 %conv.i.i = zext i1 %tobool.not.i.i to i32 tail call void @llvm.nvvm.membar.sys() %outbox.i.i = getelementptr inbounds i8, ptr %17, i64 16 %20 = load ptr, ptr %outbox.i.i, align 8, !tbaa !33 %arrayidx.i24.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr %20, i64 %idxprom.i store atomic i32 %conv.i.i, ptr %arrayidx.i24.i monotonic, align 4 store i32 %conv.i.i, ptr %out5.i, align 8, !tbaa !336 store i8 0, ptr %owns_buffer.i, align 1, !tbaa !331 %receive.i = getelementptr inbounds i8, ptr %this, i64 28 store i8 0, ptr %receive.i, align 4, !tbaa !341 %21 = load ptr, ptr %this, align 8, !tbaa !337 %lane_mask.i9 = getelementptr inbounds i8, ptr %this, i64 8 %22 = load i64, ptr %lane_mask.i9, align 8, !tbaa !338 %23 = load i32, ptr %index4.i, align 4, !tbaa !339 %inbox.i.i10 = getelementptr inbounds i8, ptr %21, i64 8 %24 = load ptr, ptr %inbox.i.i10, align 8, !tbaa !32 %idxprom.i22.i = zext i32 %23 to i64 %arrayidx.i23.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr %24, i64 %idxprom.i22.i %25 = load atomic i32, ptr %arrayidx.i23.i monotonic, align 4 %conv.i.i.i11 = trunc i64 %22 to i32 %26 = tail call range(i32 0, 33) i32 @llvm.cttz.i32(i32 %conv.i.i.i11, i1 true) %iszero.i.i.i12 = icmp eq i32 %conv.i.i.i11, 0 %sub.i.i.i13 = select i1 %iszero.i.i.i12, i32 -1, i32 %26 %27 = tail call noundef i32 @llvm.nvvm.shfl.sync.idx.i32(i32 %conv.i.i.i11, i32 %25, i32 %sub.i.i.i13, i32 31) %cmp.i.not3.i.i16 = icmp eq i32 %27, %conv.i.i br i1 %cmp.i.not3.i.i16, label %"_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4recvIZNS_8internal4exitEiE3$_1EEvT_.exit", label %while.body.i.i24 while.body.i.i24: ; preds = %while.body.i.i24, %"_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS_8internal4exitEiE3$_0EEvT_.exit" %28 = load atomic i32, ptr %arrayidx.i23.i monotonic, align 4 %29 = tail call noundef i32 @llvm.nvvm.shfl.sync.idx.i32(i32 %conv.i.i.i11, i32 %28, i32 %sub.i.i.i13, i32 31) %cmp.i.not.i.i25 = icmp eq i32 %29, %conv.i.i br i1 %cmp.i.not.i.i25, label %"_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4recvIZNS_8internal4exitEiE3$_1EEvT_.exit", label %while.body.i.i24, !llvm.loop !340 "_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4recvIZNS_8internal4exitEiE3$_1EEvT_.exit": ; preds = %while.body.i.i24, %"_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS_8internal4exitEiE3$_0EEvT_.exit" tail call void @llvm.nvvm.membar.sys() store i8 1, ptr %receive.i, align 4, !tbaa !341 store i8 1, ptr %owns_buffer.i, align 1, !tbaa !331 ret void } ; Function Attrs: convergent inlinehint mustprogress norecurse nounwind define internal fastcc void @"_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS_8internal4exitEiE3$_2EEvT_"(ptr nocapture noundef nonnull align 8 dereferenceable(30) %this, ptr nocapture readonly %fill.0.val) unnamed_addr #16 align 2 !type !342 { entry: %owns_buffer = getelementptr inbounds i8, ptr %this, i64 29 %0 = load i8, ptr %owns_buffer, align 1, !tbaa !331, !range !334, !noundef !335 %loadedv = trunc nuw i8 %0 to i1 br i1 %loadedv, label %cond.true, label %cond.false cond.true: ; preds = %entry %out = getelementptr inbounds i8, ptr %this, i64 24 %1 = load i32, ptr %out, align 8, !tbaa !336 br label %cond.end cond.false: ; preds = %entry %2 = load ptr, ptr %this, align 8, !tbaa !337 %lane_mask = getelementptr inbounds i8, ptr %this, i64 8 %3 = load i64, ptr %lane_mask, align 8, !tbaa !338 %index = getelementptr inbounds i8, ptr %this, i64 20 %4 = load i32, ptr %index, align 4, !tbaa !339 %inbox.i = getelementptr inbounds i8, ptr %2, i64 8 %5 = load ptr, ptr %inbox.i, align 8, !tbaa !32 %idxprom.i = zext i32 %4 to i64 %arrayidx.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr %5, i64 %idxprom.i %6 = load atomic i32, ptr %arrayidx.i monotonic, align 4 %conv.i.i = trunc i64 %3 to i32 %7 = tail call range(i32 0, 33) i32 @llvm.cttz.i32(i32 %conv.i.i, i1 true) %iszero.i.i = icmp eq i32 %conv.i.i, 0 %sub.i.i = select i1 %iszero.i.i, i32 -1, i32 %7 %8 = tail call noundef i32 @llvm.nvvm.shfl.sync.idx.i32(i32 %conv.i.i, i32 %6, i32 %sub.i.i, i32 31) %out5.phi.trans.insert = getelementptr inbounds i8, ptr %this, i64 24 %.pre = load i32, ptr %out5.phi.trans.insert, align 8, !tbaa !336 br label %cond.end cond.end: ; preds = %cond.false, %cond.true %9 = phi i32 [ %1, %cond.true ], [ %.pre, %cond.false ] %cond = phi i32 [ %1, %cond.true ], [ %8, %cond.false ] %index4 = getelementptr inbounds i8, ptr %this, i64 20 %cmp.i.not3.i = icmp eq i32 %cond, %9 br i1 %cmp.i.not3.i, label %_ZN22__llvm_libc_19_0_0_git3rpc7ProcessILb0EE18wait_for_ownershipEyjjj.exit, label %while.body.lr.ph.i while.body.lr.ph.i: ; preds = %cond.end %10 = load i32, ptr %index4, align 4, !tbaa !339 %lane_mask3 = getelementptr inbounds i8, ptr %this, i64 8 %11 = load i64, ptr %lane_mask3, align 8, !tbaa !338 %12 = load ptr, ptr %this, align 8, !tbaa !337 %inbox.i.i = getelementptr inbounds i8, ptr %12, i64 8 %13 = load ptr, ptr %inbox.i.i, align 8, !tbaa !32 %idxprom.i.i = zext i32 %10 to i64 %arrayidx.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr %13, i64 %idxprom.i.i %conv.i.i.i = trunc i64 %11 to i32 %14 = tail call range(i32 0, 33) i32 @llvm.cttz.i32(i32 %conv.i.i.i, i1 true) %iszero.i.i.i = icmp eq i32 %conv.i.i.i, 0 %sub.i.i.i = select i1 %iszero.i.i.i, i32 -1, i32 %14 br label %while.body.i while.body.i: ; preds = %while.body.i, %while.body.lr.ph.i %15 = load atomic i32, ptr %arrayidx.i.i monotonic, align 4 %16 = tail call noundef i32 @llvm.nvvm.shfl.sync.idx.i32(i32 %conv.i.i.i, i32 %15, i32 %sub.i.i.i, i32 31) %cmp.i.not.i = icmp eq i32 %16, %9 br i1 %cmp.i.not.i, label %_ZN22__llvm_libc_19_0_0_git3rpc7ProcessILb0EE18wait_for_ownershipEyjjj.exit, label %while.body.i, !llvm.loop !340 _ZN22__llvm_libc_19_0_0_git3rpc7ProcessILb0EE18wait_for_ownershipEyjjj.exit: ; preds = %while.body.i, %cond.end %out5 = getelementptr inbounds i8, ptr %this, i64 24 tail call void @llvm.nvvm.membar.sys() %lane_size = getelementptr inbounds i8, ptr %this, i64 16 %17 = load i32, ptr %lane_size, align 8, !tbaa !344 %18 = load ptr, ptr %this, align 8, !tbaa !337 %19 = load i32, ptr %index4, align 4, !tbaa !339 %packet.i = getelementptr inbounds i8, ptr %18, i64 32 %20 = load ptr, ptr %packet.i, align 8, !tbaa !41 %mul.i = mul i32 %19, %17 %idxprom.i19 = zext i32 %mul.i to i64 %arrayidx.i20 = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::rpc::Buffer", ptr %20, i64 %idxprom.i19 %21 = tail call noundef range(i32 0, 32) i32 @llvm.nvvm.read.ptx.sreg.laneid() %idxprom.i21 = zext nneg i32 %21 to i64 %arrayidx.i22 = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::rpc::Buffer", ptr %arrayidx.i20, i64 %idxprom.i21 %.val.val.i = load i32, ptr %fill.0.val, align 4, !tbaa !74 store i32 %.val.val.i, ptr %arrayidx.i22, align 8, !tbaa !74 %22 = load i32, ptr %index4, align 4, !tbaa !339 %23 = load i32, ptr %out5, align 8, !tbaa !336 %tobool.not.i = icmp eq i32 %23, 0 %conv.i = zext i1 %tobool.not.i to i32 tail call void @llvm.nvvm.membar.sys() %outbox.i = getelementptr inbounds i8, ptr %18, i64 16 %24 = load ptr, ptr %outbox.i, align 8, !tbaa !33 %idxprom.i23 = zext i32 %22 to i64 %arrayidx.i24 = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr %24, i64 %idxprom.i23 store atomic i32 %conv.i, ptr %arrayidx.i24 monotonic, align 4 store i32 %conv.i, ptr %out5, align 8, !tbaa !336 store i8 0, ptr %owns_buffer, align 1, !tbaa !331 %receive = getelementptr inbounds i8, ptr %this, i64 28 store i8 0, ptr %receive, align 4, !tbaa !341 ret void } ; Function Attrs: convergent inlinehint mustprogress norecurse nounwind define internal fastcc void @_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE5closeEv(ptr nocapture noundef nonnull readonly align 8 dereferenceable(30) %this) unnamed_addr #16 comdat align 2 !type !345 { entry: %lane_mask = getelementptr inbounds i8, ptr %this, i64 8 %0 = load i64, ptr %lane_mask, align 8, !tbaa !338 %conv.i = trunc i64 %0 to i32 tail call void @llvm.nvvm.bar.warp.sync(i32 %conv.i) %1 = load ptr, ptr %this, align 8, !tbaa !337 %2 = load i64, ptr %lane_mask, align 8, !tbaa !338 %index5 = getelementptr inbounds i8, ptr %this, i64 20 %3 = load i32, ptr %index5, align 4, !tbaa !339 tail call void @llvm.nvvm.membar.sys() %lock.i = getelementptr inbounds i8, ptr %1, i64 40 %4 = tail call noundef range(i32 0, 32) i32 @llvm.nvvm.read.ptx.sreg.laneid() %conv.i.i = zext nneg i32 %4 to i64 %5 = tail call range(i64 0, 65) i64 @llvm.cttz.i64(i64 %2, i1 true) %iszero.i.i.i = icmp ne i64 %2, 0 %cmp2.i.i = icmp eq i64 %5, %conv.i.i %cmp.i.i = select i1 %iszero.i.i.i, i1 %cmp2.i.i, i1 false %div8.i.i = lshr i32 %3, 5 %6 = and i32 %3, 31 %idxprom.i.i = zext nneg i32 %div8.i.i to i64 %arrayidx.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr %lock.i, i64 %idxprom.i.i %conv4.i.i = zext i1 %cmp.i.i to i32 %shl.i.i = shl nuw i32 %conv4.i.i, %6 %xor.i.i = xor i32 %shl.i.i, -1 %7 = atomicrmw and ptr %arrayidx.i.i, i32 %xor.i.i monotonic, align 4 %conv.i4.i = trunc i64 %2 to i32 tail call void @llvm.nvvm.bar.warp.sync(i32 %conv.i4.i) ret void } ; Function Attrs: convergent noreturn nounwind memory(inaccessiblemem: readwrite) declare void @llvm.nvvm.exit() #17 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare i32 @llvm.usub.sat.i32(i32, i32) #5 attributes #0 = { noinline nounwind optnone "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="sm_89" "target-features"="+ptx84,+sm_89" } attributes #1 = { convergent mustprogress nounwind "frame-pointer"="all" "no-builtin-bcmp" "no-builtin-bzero" "no-builtin-memcmp" "no-builtin-memcpy" "no-builtin-memmove" "no-builtin-memset" "no-builtin-strcmp" "no-builtin-strlen" "no-builtin-strstr" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+ptx63" } attributes #2 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } attributes #3 = { nocallback nofree nosync nounwind willreturn } attributes #4 = { convergent mustprogress norecurse nounwind "frame-pointer"="all" "no-builtin-bcmp" "no-builtin-bzero" "no-builtin-memcmp" "no-builtin-memcpy" "no-builtin-memmove" "no-builtin-memset" "no-builtin-strcmp" "no-builtin-strlen" "no-builtin-strstr" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+ptx63" } attributes #5 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) } attributes #6 = { convergent nocallback nounwind memory(inaccessiblemem: readwrite) } attributes #7 = { nocallback nounwind } attributes #8 = { convergent nocallback nounwind } attributes #9 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) } attributes #10 = { convergent mustprogress nounwind "frame-pointer"="all" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+ptx63" } attributes #11 = { mustprogress nounwind "frame-pointer"="all" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+ptx63" } attributes #12 = { convergent mustprogress noreturn nounwind "frame-pointer"="all" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+ptx63" } attributes #13 = { convergent inlinehint mustprogress nounwind "frame-pointer"="all" "no-builtin-bcmp" "no-builtin-bzero" "no-builtin-memcmp" "no-builtin-memcpy" "no-builtin-memmove" "no-builtin-memset" "no-builtin-strcmp" "no-builtin-strlen" "no-builtin-strstr" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+ptx63" } attributes #14 = { convergent mustprogress noreturn nounwind "frame-pointer"="all" "no-builtin-bcmp" "no-builtin-bzero" "no-builtin-memcmp" "no-builtin-memcpy" "no-builtin-memmove" "no-builtin-memset" "no-builtin-strcmp" "no-builtin-strlen" "no-builtin-strstr" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+ptx63" } attributes #15 = { nocallback nofree nounwind willreturn memory(argmem: write) } attributes #16 = { convergent inlinehint mustprogress norecurse nounwind "frame-pointer"="all" "no-builtin-bcmp" "no-builtin-bzero" "no-builtin-memcmp" "no-builtin-memcpy" "no-builtin-memmove" "no-builtin-memset" "no-builtin-strcmp" "no-builtin-strlen" "no-builtin-strstr" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+ptx63" } attributes #17 = { convergent noreturn nounwind memory(inaccessiblemem: readwrite) } attributes #18 = { nounwind } attributes #19 = { convergent nounwind "no-builtin-bcmp" "no-builtin-bzero" "no-builtin-memcmp" "no-builtin-memcpy" "no-builtin-memmove" "no-builtin-memset" "no-builtin-strcmp" "no-builtin-strlen" "no-builtin-strstr" } attributes #20 = { convergent nobuiltin nounwind "no-builtins" } attributes #21 = { nobuiltin nounwind "no-builtins" } attributes #22 = { convergent nobuiltin noreturn nounwind "no-builtins" } attributes #23 = { convergent noreturn nounwind "no-builtin-bcmp" "no-builtin-bzero" "no-builtin-memcmp" "no-builtin-memcpy" "no-builtin-memmove" "no-builtin-memset" "no-builtin-strcmp" "no-builtin-strlen" "no-builtin-strstr" } attributes #24 = { convergent "no-builtin-bcmp" "no-builtin-bzero" "no-builtin-memcmp" "no-builtin-memcpy" "no-builtin-memmove" "no-builtin-memset" "no-builtin-strcmp" "no-builtin-strlen" "no-builtin-strstr" } !llvm.ident = !{!0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0} !llvm.module.flags = !{!1, !2, !3, !4, !5, !6} !nvvm.annotations = !{!7, !8, !9} !llvm.linker.options = !{} !0 = !{!"clang version 19.0.0git"} !1 = !{i32 1, !"wchar_size", i32 4} !2 = !{i32 7, !"frame-pointer", i32 2} !3 = !{i32 1, !"ThinLTO", i32 0} !4 = !{i32 1, !"EnableSplitLTOUnit", i32 1} !5 = !{i32 8, !"PIC Level", i32 0} !6 = !{i32 7, !"PIE Level", i32 1} !7 = !{ptr @_begin, !"kernel", i32 1} !8 = !{ptr @_start, !"kernel", i32 1} !9 = !{ptr @_end, !"kernel", i32 1} !10 = !{!"auto-init"} !11 = !{!12, !12, i64 0} !12 = !{!"any pointer", !13, i64 0} !13 = !{!"omnipotent char", !14, i64 0} !14 = !{!"Simple C++ TBAA"} !15 = !{!16, !12, i64 0} !16 = !{!"_ZTSN22__llvm_libc_19_0_0_git11printf_core11WriteBufferE", !12, i64 0, !17, i64 8, !17, i64 16, !12, i64 24, !12, i64 32} !17 = !{!"long", !13, i64 0} !18 = !{!16, !17, i64 8} !19 = !{!16, !17, i64 16} !20 = !{!16, !12, i64 24} !21 = !{!16, !12, i64 32} !22 = !{!23, !12, i64 0} !23 = !{!"_ZTSN22__llvm_libc_19_0_0_git11printf_core6WriterE", !12, i64 0, !24, i64 8} !24 = !{!"int", !13, i64 0} !25 = !{!23, !24, i64 8} !26 = !{!13, !13, i64 0} !27 = distinct !{!27, !28} !28 = !{!"llvm.loop.mustprogress"} !29 = !{!30, !24, i64 0} !30 = !{!"_ZTSN22__llvm_libc_19_0_0_git3rpc6ClientE", !31, i64 0} !31 = !{!"_ZTSN22__llvm_libc_19_0_0_git3rpc7ProcessILb0EEE", !24, i64 0, !12, i64 8, !12, i64 16, !12, i64 24, !12, i64 32, !13, i64 40} !32 = !{!31, !12, i64 8} !33 = !{!31, !12, i64 16} !34 = !{!30, !12, i64 24} !35 = !{!36, !38, i64 8} !36 = !{!"_ZTSN22__llvm_libc_19_0_0_git3rpc6HeaderE", !37, i64 0, !38, i64 8} !37 = !{!"long long", !13, i64 0} !38 = !{!"short", !13, i64 0} !39 = !{!36, !37, i64 0} !40 = distinct !{!40, !28} !41 = !{!31, !12, i64 32} !42 = !{!37, !37, i64 0} !43 = !{!44, !46} !44 = distinct !{!44, !45, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !45 = distinct !{!45, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !46 = distinct !{!46, !45, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !47 = !{!31, !12, i64 24} !48 = distinct !{!48, !28} !49 = !{!50, !52} !50 = distinct !{!50, !51, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !51 = distinct !{!51, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !52 = distinct !{!52, !51, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !53 = distinct !{!53, !28} !54 = !{!55, !17, i64 1024} !55 = !{!"_ZTSN22__llvm_libc_19_0_0_git11FixedVectorINS_10AtExitUnitELm64EEE", !56, i64 0, !17, i64 1024} !56 = !{!"_ZTSN22__llvm_libc_19_0_0_git3cpp5arrayINS_10AtExitUnitELm64EEE", !13, i64 0} !57 = !{!17, !17, i64 0} !58 = distinct !{!58, !28} !59 = distinct !{!59, !28} !60 = !{!61, !12, i64 0} !61 = !{!"_ZTSN22__llvm_libc_19_0_0_git10AtExitUnitE", !12, i64 0, !12, i64 8} !62 = !{!61, !12, i64 8} !63 = distinct !{!63, !28} !64 = !{!65, !12, i64 0} !65 = !{!"_ZTSN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEEE", !12, i64 0, !17, i64 8, !66, i64 16} !66 = !{!"_ZTSN22__llvm_libc_19_0_0_git8internal7ArgListE", !12, i64 0} !67 = !{!68, !70} !68 = distinct !{!68, !69, !"_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEEC2EPKcRS3_: %new_str"} !69 = distinct !{!69, !"_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEEC2EPKcRS3_"} !70 = distinct !{!70, !71, !"_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEEC1EPKcRS3_: %new_str"} !71 = distinct !{!71, !"_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEEC1EPKcRS3_"} !72 = !{!65, !17, i64 8} !73 = distinct !{!73, !28} !74 = !{!24, !24, i64 0} !75 = !{!76} !76 = distinct !{!76, !77, !"_ZN22__llvm_libc_19_0_0_git8internal12strtointegerIiEENS_14StrToNumResultIT_EEPKcim: %src"} !77 = distinct !{!77, !"_ZN22__llvm_libc_19_0_0_git8internal12strtointegerIiEENS_14StrToNumResultIT_EEPKcim"} !78 = distinct !{!78, !28} !79 = distinct !{!79, !28} !80 = !{!81} !81 = distinct !{!81, !82, !"_ZN22__llvm_libc_19_0_0_git8internal12strtointegerIiEENS_14StrToNumResultIT_EEPKcim: %src"} !82 = distinct !{!82, !"_ZN22__llvm_libc_19_0_0_git8internal12strtointegerIiEENS_14StrToNumResultIT_EEPKcim"} !83 = !{!84} !84 = distinct !{!84, !85, !"_ZN22__llvm_libc_19_0_0_git8internal12strtointegerIiEENS_14StrToNumResultIT_EEPKcim: %src"} !85 = distinct !{!85, !"_ZN22__llvm_libc_19_0_0_git8internal12strtointegerIiEENS_14StrToNumResultIT_EEPKcim"} !86 = distinct !{!86, !28} !87 = !{!88, !90} !88 = distinct !{!88, !89, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !89 = distinct !{!89, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !90 = distinct !{!90, !89, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !91 = !{!92, !12, i64 0} !92 = !{!"_ZTSN22__llvm_libc_19_0_0_git3cpp11string_viewE", !12, i64 0, !17, i64 8} !93 = !{!92, !17, i64 8} !94 = !{!95, !97} !95 = distinct !{!95, !96, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !96 = distinct !{!96, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !97 = distinct !{!97, !96, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !98 = !{!99, !101} !99 = distinct !{!99, !100, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !100 = distinct !{!100, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !101 = distinct !{!101, !100, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !102 = distinct !{!102, !28} !103 = !{!104, !106} !104 = distinct !{!104, !105, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !105 = distinct !{!105, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !106 = distinct !{!106, !105, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !107 = !{!108, !110} !108 = distinct !{!108, !109, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !109 = distinct !{!109, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !110 = distinct !{!110, !109, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !111 = !{!112, !114} !112 = distinct !{!112, !113, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !113 = distinct !{!113, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !114 = distinct !{!114, !113, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !115 = !{!116, !118} !116 = distinct !{!116, !117, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !117 = distinct !{!117, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !118 = distinct !{!118, !117, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !119 = distinct !{!119, !28} !120 = !{!121, !123} !121 = distinct !{!121, !122, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !122 = distinct !{!122, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !123 = distinct !{!123, !122, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !124 = !{!125, !127} !125 = distinct !{!125, !126, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !126 = distinct !{!126, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !127 = distinct !{!127, !126, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !128 = !{!129, !131} !129 = distinct !{!129, !130, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !130 = distinct !{!130, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !131 = distinct !{!131, !130, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !132 = !{!133, !135} !133 = distinct !{!133, !134, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !134 = distinct !{!134, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !135 = distinct !{!135, !134, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !136 = !{!137, !139} !137 = distinct !{!137, !138, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !138 = distinct !{!138, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !139 = distinct !{!139, !138, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !140 = !{!141, !143} !141 = distinct !{!141, !142, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !142 = distinct !{!142, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !143 = distinct !{!143, !142, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !144 = distinct !{!144, !28} !145 = distinct !{!145, !28} !146 = distinct !{!146, !28} !147 = distinct !{!147, !28} !148 = distinct !{!148, !28} !149 = !{!150, !152} !150 = distinct !{!150, !151, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !151 = distinct !{!151, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !152 = distinct !{!152, !151, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !153 = !{!154, !156} !154 = distinct !{!154, !155, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !155 = distinct !{!155, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !156 = distinct !{!156, !155, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !157 = !{!158, !160} !158 = distinct !{!158, !159, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !159 = distinct !{!159, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !160 = distinct !{!160, !159, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !161 = !{!162, !164} !162 = distinct !{!162, !163, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !163 = distinct !{!163, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !164 = distinct !{!164, !163, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !165 = !{!166, !168} !166 = distinct !{!166, !167, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !167 = distinct !{!167, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !168 = distinct !{!168, !167, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !169 = !{!170, !172} !170 = distinct !{!170, !171, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !171 = distinct !{!171, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !172 = distinct !{!172, !171, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !173 = !{!174, !176} !174 = distinct !{!174, !175, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !175 = distinct !{!175, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !176 = distinct !{!176, !175, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !177 = !{!178, !180} !178 = distinct !{!178, !179, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !179 = distinct !{!179, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !180 = distinct !{!180, !179, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !181 = !{!182, !184} !182 = distinct !{!182, !183, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !183 = distinct !{!183, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !184 = distinct !{!184, !183, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !185 = !{!186, !188} !186 = distinct !{!186, !187, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !187 = distinct !{!187, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !188 = distinct !{!188, !187, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !189 = !{!190, !192} !190 = distinct !{!190, !191, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !191 = distinct !{!191, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !192 = distinct !{!192, !191, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !193 = !{!194, !196} !194 = distinct !{!194, !195, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !195 = distinct !{!195, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !196 = distinct !{!196, !195, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !197 = !{!198, !200} !198 = distinct !{!198, !199, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !199 = distinct !{!199, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !200 = distinct !{!200, !199, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !201 = !{!202, !204} !202 = distinct !{!202, !203, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !203 = distinct !{!203, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !204 = distinct !{!204, !203, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !205 = !{!206, !208} !206 = distinct !{!206, !207, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !207 = distinct !{!207, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !208 = distinct !{!208, !207, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !209 = !{!210, !212} !210 = distinct !{!210, !211, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !211 = distinct !{!211, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !212 = distinct !{!212, !211, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !213 = !{!214, !216} !214 = distinct !{!214, !215, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !215 = distinct !{!215, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !216 = distinct !{!216, !215, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !217 = !{!218, !220} !218 = distinct !{!218, !219, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !219 = distinct !{!219, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !220 = distinct !{!220, !219, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !221 = !{!222, !224} !222 = distinct !{!222, !223, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !223 = distinct !{!223, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !224 = distinct !{!224, !223, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !225 = !{!226, !228} !226 = distinct !{!226, !227, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !227 = distinct !{!227, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !228 = distinct !{!228, !227, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !229 = !{!230, !232} !230 = distinct !{!230, !231, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !231 = distinct !{!231, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !232 = distinct !{!232, !231, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !233 = !{!234, !236} !234 = distinct !{!234, !235, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !235 = distinct !{!235, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !236 = distinct !{!236, !235, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !237 = !{!238, !240} !238 = distinct !{!238, !239, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !239 = distinct !{!239, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !240 = distinct !{!240, !239, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !241 = !{!242, !244} !242 = distinct !{!242, !243, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !243 = distinct !{!243, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !244 = distinct !{!244, !243, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !245 = !{!246, !248} !246 = distinct !{!246, !247, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !247 = distinct !{!247, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !248 = distinct !{!248, !247, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !249 = !{!250, !252} !250 = distinct !{!250, !251, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !251 = distinct !{!251, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !252 = distinct !{!252, !251, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !253 = !{!254, !256} !254 = distinct !{!254, !255, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !255 = distinct !{!255, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !256 = distinct !{!256, !255, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !257 = !{!258, !260} !258 = distinct !{!258, !259, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !259 = distinct !{!259, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !260 = distinct !{!260, !259, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !261 = !{!262, !264} !262 = distinct !{!262, !263, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !263 = distinct !{!263, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !264 = distinct !{!264, !263, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !265 = !{!266, !268} !266 = distinct !{!266, !267, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !267 = distinct !{!267, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !268 = distinct !{!268, !267, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !269 = !{!270, !272} !270 = distinct !{!270, !271, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !271 = distinct !{!271, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !272 = distinct !{!272, !271, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !273 = !{!274, !276} !274 = distinct !{!274, !275, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !275 = distinct !{!275, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !276 = distinct !{!276, !275, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !277 = !{!278, !280} !278 = distinct !{!278, !279, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !279 = distinct !{!279, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !280 = distinct !{!280, !279, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !281 = !{!282, !284} !282 = distinct !{!282, !283, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !283 = distinct !{!283, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !284 = distinct !{!284, !283, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !285 = !{!286, !288} !286 = distinct !{!286, !287, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !287 = distinct !{!287, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !288 = distinct !{!288, !287, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !289 = !{!290, !292} !290 = distinct !{!290, !291, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !291 = distinct !{!291, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !292 = distinct !{!292, !291, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !293 = !{!294, !296} !294 = distinct !{!294, !295, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !295 = distinct !{!295, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !296 = distinct !{!296, !295, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !297 = !{!298, !300} !298 = distinct !{!298, !299, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !299 = distinct !{!299, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !300 = distinct !{!300, !299, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !301 = !{!302, !304} !302 = distinct !{!302, !303, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !303 = distinct !{!303, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !304 = distinct !{!304, !303, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !305 = !{!306, !308} !306 = distinct !{!306, !307, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !307 = distinct !{!307, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !308 = distinct !{!308, !307, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !309 = !{!310, !312} !310 = distinct !{!310, !311, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !311 = distinct !{!311, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !312 = distinct !{!312, !311, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !313 = !{!314, !316} !314 = distinct !{!314, !315, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !315 = distinct !{!315, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !316 = distinct !{!316, !315, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !317 = !{!318} !318 = distinct !{!318, !319, !"_ZN22__llvm_libc_19_0_0_git8internal12strtointegerIiEENS_14StrToNumResultIT_EEPKcim: %src"} !319 = distinct !{!319, !"_ZN22__llvm_libc_19_0_0_git8internal12strtointegerIiEENS_14StrToNumResultIT_EEPKcim"} !320 = !{!321} !321 = distinct !{!321, !322, !"_ZN22__llvm_libc_19_0_0_git8internal12strtointegerIiEENS_14StrToNumResultIT_EEPKcim: %src"} !322 = distinct !{!322, !"_ZN22__llvm_libc_19_0_0_git8internal12strtointegerIiEENS_14StrToNumResultIT_EEPKcim"} !323 = !{!324} !324 = distinct !{!324, !325, !"_ZN22__llvm_libc_19_0_0_git8internal12strtointegerIiEENS_14StrToNumResultIT_EEPKcim: %src"} !325 = distinct !{!325, !"_ZN22__llvm_libc_19_0_0_git8internal12strtointegerIiEENS_14StrToNumResultIT_EEPKcim"} !326 = distinct !{!326, !28} !327 = !{i64 0, !"_ZTSMN22__llvm_libc_19_0_0_git3rpc6ClientEFNS0_4PortILb0EEEvE"} !328 = distinct !{!328, !28} !329 = !{i64 0, !330} !330 = distinct !{} !331 = !{!332, !333, i64 29} !332 = !{!"_ZTSN22__llvm_libc_19_0_0_git3rpc4PortILb0EEE", !12, i64 0, !37, i64 8, !24, i64 16, !24, i64 20, !24, i64 24, !333, i64 28, !333, i64 29} !333 = !{!"bool", !13, i64 0} !334 = !{i8 0, i8 2} !335 = !{} !336 = !{!332, !24, i64 24} !337 = !{!332, !12, i64 0} !338 = !{!332, !37, i64 8} !339 = !{!332, !24, i64 20} !340 = distinct !{!340, !28} !341 = !{!332, !333, i64 28} !342 = !{i64 0, !343} !343 = distinct !{} !344 = !{!332, !24, i64 16} !345 = !{i64 0, !"_ZTSMN22__llvm_libc_19_0_0_git3rpc4PortILb0EEEFvvE"}
llvm source #2
Output
Compile to binary object
Link to binary
Execute the code
Intel asm syntax
Demangle identifiers
Verbose demangling
Filters
Unused labels
Library functions
Directives
Comments
Horizontal whitespace
Debug intrinsics
Compiler
clang (assertions trunk)
clang (trunk)
clang 10.0.0
clang 10.0.1
clang 11.0.0
clang 11.0.1
clang 12.0.0
clang 12.0.1
clang 13.0.0
clang 14.0.0
clang 15.0.0
clang 16.0.0
clang 17.0.1
clang 18.1.0
clang 19.1.0
clang 20.1.0
clang 21.1.0
clang 4.0.1
clang 5.0.0
clang 6.0.0
clang 7.0.0
clang 8.0.0
clang 9.0.0
hexagon-clang 16.0.5
llc (assertions trunk)
llc (trunk)
llc 10.0.0
llc 10.0.1
llc 11.0.0
llc 11.0.1
llc 12.0.0
llc 12.0.1
llc 13.0.0
llc 14.0.0
llc 15.0.0
llc 16.0.0
llc 17.0.1
llc 18.1.0
llc 19.1.0
llc 20.1.0
llc 21.1.0
llc 3.2
llc 3.3
llc 3.9.1
llc 4.0.0
llc 4.0.1
llc 5.0.0
llc 6.0.0
llc 7.0.0
llc 8.0.0
llc 9.0.0
opt (assertions trunk)
opt (trunk)
opt 10.0.0
opt 10.0.1
opt 11.0.0
opt 11.0.1
opt 12.0.0
opt 12.0.1
opt 13.0.0
opt 14.0.0
opt 15.0.0
opt 16.0.0
opt 17.0.1
opt 18.1.0
opt 19.1.0
opt 20.1.0
opt 21.1.0
opt 3.2
opt 3.3
opt 3.9.1
opt 4.0.0
opt 4.0.1
opt 5.0.0
opt 6.0.0
opt 7.0.0
opt 8.0.0
opt 9.0.0
Options
Source code
target datalayout = "e-i64:64-i128:128-v16:16-v32:32-n16:32:64" target triple = "nvptx64-nvidia-cuda" %"class.__llvm_libc_19_0_0_git::FixedVector" = type { %"struct.__llvm_libc_19_0_0_git::cpp::array", i64 } %"struct.__llvm_libc_19_0_0_git::cpp::array" = type { [64 x %"struct.__llvm_libc_19_0_0_git::AtExitUnit"] } %"struct.__llvm_libc_19_0_0_git::AtExitUnit" = type { ptr, ptr } %"struct.__llvm_libc_19_0_0_git::rpc::Client" = type { %"struct.__llvm_libc_19_0_0_git::rpc::Process" } %"struct.__llvm_libc_19_0_0_git::rpc::Process" = type { i32, ptr, ptr, ptr, ptr, [128 x %"struct.__llvm_libc_19_0_0_git::cpp::Atomic"] } %"struct.__llvm_libc_19_0_0_git::cpp::Atomic" = type { i32 } %"class.__llvm_libc_19_0_0_git::internal::ArgList" = type { ptr } %"struct.__llvm_libc_19_0_0_git::printf_core::WriteBuffer" = type { ptr, i64, i64, ptr, ptr } %"class.__llvm_libc_19_0_0_git::printf_core::Writer" = type <{ ptr, i32, [4 x i8] }> %"struct.__llvm_libc_19_0_0_git::rpc::Header" = type { i64, i16 } %"struct.__llvm_libc_19_0_0_git::rpc::Buffer" = type { [8 x i64] } %"class.__llvm_libc_19_0_0_git::cpp::string_view" = type { ptr, i64 } %"struct.__llvm_libc_19_0_0_git::cpp::array.5" = type { [64 x i8] } %"class.__llvm_libc_19_0_0_git::printf_core::Parser" = type { ptr, i64, %"class.__llvm_libc_19_0_0_git::internal::ArgList" } %"struct.__llvm_libc_19_0_0_git::rpc::Port" = type <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> $_ZN22__llvm_libc_19_0_0_git17stdc_at_exit_funcEPv = comdat any $_ZN22__llvm_libc_19_0_0_git3rpc6Client4openILt1EEENS0_4PortILb0EEEv = comdat any $_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE5closeEv = comdat any @.str = private unnamed_addr constant [5 x i8] c"asdf\00", align 1 @__init_array_start = protected local_unnamed_addr global ptr null, align 8 @__init_array_end = protected local_unnamed_addr global ptr null, align 8 @__fini_array_start = protected local_unnamed_addr global ptr null, align 8 @__fini_array_end = protected local_unnamed_addr global ptr null, align 8 @__llvm_libc_rpc_client = protected local_unnamed_addr global ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, align 8 @_ZN22__llvm_libc_19_0_0_git16atexit_callbacksE = internal unnamed_addr global %"class.__llvm_libc_19_0_0_git::FixedVector" zeroinitializer, align 8 @.str15 = private unnamed_addr constant [2 x i8] c"%\00", align 1 @.str1 = private unnamed_addr constant [7 x i8] c"(null)\00", align 1 @_ZN22__llvm_libc_19_0_0_git3rpc6clientE = internal global %"struct.__llvm_libc_19_0_0_git::rpc::Client" zeroinitializer, align 8 ; Function Attrs: noinline nounwind optnone define dso_local i32 @main() local_unnamed_addr #0 { entry: %c = alloca [64 x i8], align 1 %arraydecay = getelementptr inbounds [64 x i8], ptr %c, i64 0, i64 0 call void (ptr, ptr, ...) @sprintf(ptr noundef %arraydecay, ptr poison) #18 %arraydecay1 = getelementptr inbounds [64 x i8], ptr %c, i64 0, i64 0 call fastcc void @puts(ptr noundef %arraydecay1) ret i32 0 } ; Function Attrs: convergent mustprogress nounwind define internal void @sprintf(ptr noalias noundef %buffer, ptr noalias nocapture readnone %format, ...) unnamed_addr #1 { entry: %vlist.addr.i.i = alloca ptr, align 8 %vlist = alloca ptr, align 8 %args = alloca %"class.__llvm_libc_19_0_0_git::internal::ArgList", align 8 %wb = alloca %"struct.__llvm_libc_19_0_0_git::printf_core::WriteBuffer", align 8 %writer = alloca %"class.__llvm_libc_19_0_0_git::printf_core::Writer", align 8 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %vlist) #18 store ptr inttoptr (i64 -6148914691236517206 to ptr), ptr %vlist, align 8, !annotation !10 call void @llvm.va_start.p0(ptr nonnull %vlist) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %args) #18 store ptr inttoptr (i64 -6148914691236517206 to ptr), ptr %args, align 8, !annotation !10 %0 = load ptr, ptr %vlist, align 8, !tbaa !11 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %vlist.addr.i.i) store ptr %0, ptr %vlist.addr.i.i, align 8, !tbaa !11 call void @llvm.va_copy.p0(ptr nonnull %args, ptr nonnull %vlist.addr.i.i) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %vlist.addr.i.i) call void @llvm.va_end.p0(ptr nonnull %vlist) call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %wb) #18 %1 = getelementptr inbounds i8, ptr %wb, i64 8 %2 = getelementptr inbounds i8, ptr %wb, i64 16 %3 = getelementptr inbounds i8, ptr %wb, i64 24 %4 = getelementptr inbounds i8, ptr %wb, i64 32 store ptr %buffer, ptr %wb, align 8, !tbaa !15 store i64 -1, ptr %1, align 8, !tbaa !18 store i64 0, ptr %2, align 8, !tbaa !19 store ptr null, ptr %3, align 8, !tbaa !20 store ptr null, ptr %4, align 8, !tbaa !21 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %writer) #18 %5 = getelementptr inbounds i8, ptr %writer, i64 8 %6 = getelementptr inbounds i8, ptr %writer, i64 12 store <4 x i8> <i8 -86, i8 -86, i8 -86, i8 -86>, ptr %6, align 4 store ptr %wb, ptr %writer, align 8, !tbaa !22 store i32 0, ptr %5, align 8, !tbaa !25 call fastcc void @_ZN22__llvm_libc_19_0_0_git11printf_core11printf_mainEPNS0_6WriterEPKcRNS_8internal7ArgListE(ptr noundef nonnull %writer, ptr noundef nonnull align 8 dereferenceable(8) %args) #19 %7 = load ptr, ptr %wb, align 8, !tbaa !15 %8 = load i64, ptr %2, align 8, !tbaa !19 %arrayidx = getelementptr inbounds i8, ptr %7, i64 %8 store i8 0, ptr %arrayidx, align 1, !tbaa !26 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %writer) #18 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %wb) #18 call void @llvm.va_end.p0(ptr nonnull %args) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %args) #18 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %vlist) #18 ret void } ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #2 ; Function Attrs: nocallback nofree nosync nounwind willreturn declare void @llvm.va_start.p0(ptr) #3 ; Function Attrs: nocallback nofree nosync nounwind willreturn declare void @llvm.va_copy.p0(ptr, ptr) #3 ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #2 ; Function Attrs: nocallback nofree nosync nounwind willreturn declare void @llvm.va_end.p0(ptr) #3 ; Function Attrs: convergent mustprogress norecurse nounwind define internal fastcc void @puts(ptr noalias noundef %str) unnamed_addr #4 { entry: br label %for.cond.i.i.i for.cond.i.i.i: ; preds = %for.cond.i.i.i, %entry %End.0.i.i.i = phi ptr [ %str, %entry ], [ %incdec.ptr.i.i.i, %for.cond.i.i.i ] %0 = load i8, ptr %End.0.i.i.i, align 1, !tbaa !26 %cmp.i.i.i = icmp eq i8 %0, 0 %incdec.ptr.i.i.i = getelementptr inbounds i8, ptr %End.0.i.i.i, i64 1 br i1 %cmp.i.i.i, label %_ZN22__llvm_libc_19_0_0_git3cpp11string_viewC1EPKc.exit, label %for.cond.i.i.i, !llvm.loop !27 _ZN22__llvm_libc_19_0_0_git3cpp11string_viewC1EPKc.exit: ; preds = %for.cond.i.i.i %End.0.i.i.i.lcssa = phi ptr [ %End.0.i.i.i, %for.cond.i.i.i ] %1 = tail call noundef i32 @llvm.nvvm.read.ptx.sreg.smid() %2 = tail call range(i32 0, 32) i32 @llvm.nvvm.read.ptx.sreg.laneid() %sh_prom.i.i.i = zext nneg i32 %2 to i64 %shl.i.i.i = shl nuw nsw i64 1, %sh_prom.i.i.i br label %for.cond.i.i for.cond.i.i: ; preds = %cleanup27.i.i, %_ZN22__llvm_libc_19_0_0_git3cpp11string_viewC1EPKc.exit %retval.sroa.6.0.i.i = phi i32 [ undef, %_ZN22__llvm_libc_19_0_0_git3cpp11string_viewC1EPKc.exit ], [ %retval.sroa.6.1.i.i, %cleanup27.i.i ] %retval.sroa.2.0.i.i = phi i64 [ undef, %_ZN22__llvm_libc_19_0_0_git3cpp11string_viewC1EPKc.exit ], [ %retval.sroa.2.1.i.i, %cleanup27.i.i ] %retval.sroa.8.0.i.i = phi i32 [ undef, %_ZN22__llvm_libc_19_0_0_git3cpp11string_viewC1EPKc.exit ], [ %retval.sroa.8.1.i.i, %cleanup27.i.i ] %index.0.i.i = phi i32 [ %1, %_ZN22__llvm_libc_19_0_0_git3cpp11string_viewC1EPKc.exit ], [ %inc.i.i, %cleanup27.i.i ] %3 = load i32, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, align 8, !tbaa !29 %cmp.not.i.i = icmp ult i32 %index.0.i.i, %3 %spec.store.select.i.i = select i1 %cmp.not.i.i, i32 %index.0.i.i, i32 0 %4 = tail call i32 @llvm.nvvm.activemask() %conv.i.i.i = zext i32 %4 to i64 %and.i.i.i = and i64 %shl.i.i.i, %conv.i.i.i %tobool.i.i.i = icmp ne i64 %and.i.i.i, 0 %div8.i.i.i.i = lshr i32 %spec.store.select.i.i, 5 %5 = and i32 %spec.store.select.i.i, 31 %idxprom.i.i.i.i = zext nneg i32 %div8.i.i.i.i to i64 %arrayidx.i.i.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, i64 40), i64 %idxprom.i.i.i.i %conv4.i.i.i.i = zext i1 %tobool.i.i.i to i32 %shl.i.i.i.i = shl nuw i32 %conv4.i.i.i.i, %5 %6 = atomicrmw or ptr %arrayidx.i.i.i.i, i32 %shl.i.i.i.i monotonic, align 4 %shl5.i.i.i.i = shl nuw i32 1, %5 %and.i.i.i.i = and i32 %shl5.i.i.i.i, %6 %tobool3.i.i.i = icmp ne i32 %and.i.i.i.i, 0 %7 = tail call i32 @llvm.nvvm.vote.ballot.sync(i32 %4, i1 %tobool3.i.i.i) %cmp.i.not.i.i = icmp eq i32 %7, %4 br i1 %cmp.i.not.i.i, label %cleanup27.i.i, label %if.then.i.i.i if.then.i.i.i: ; preds = %for.cond.i.i tail call void @llvm.nvvm.membar.sys() %8 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, i64 8), align 8, !tbaa !32 %idxprom.i.i.i = zext i32 %spec.store.select.i.i to i64 %arrayidx.i.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr %8, i64 %idxprom.i.i.i %9 = load atomic i32, ptr %arrayidx.i.i.i monotonic, align 4 %10 = tail call range(i32 0, 33) i32 @llvm.cttz.i32(i32 %4, i1 true) %iszero.i.i.i.i = icmp eq i32 %4, 0 %sub.i.i.i.i = select i1 %iszero.i.i.i.i, i32 -1, i32 %10 %11 = tail call noundef i32 @llvm.nvvm.shfl.sync.idx.i32(i32 %4, i32 %9, i32 %sub.i.i.i.i, i32 31) %12 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, i64 16), align 8, !tbaa !33 %arrayidx.i46.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr %12, i64 %idxprom.i.i.i %13 = load atomic i32, ptr %arrayidx.i46.i.i monotonic, align 4 %14 = tail call noundef i32 @llvm.nvvm.shfl.sync.idx.i32(i32 %4, i32 %13, i32 %sub.i.i.i.i, i32 31) %cmp.i49.not.i.i = icmp eq i32 %11, %14 br i1 %cmp.i49.not.i.i, label %if.end15.i.i, label %if.then13.i.i if.then13.i.i: ; preds = %if.then.i.i.i tail call void @llvm.nvvm.membar.sys() %15 = tail call range(i64 0, 65) i64 @llvm.cttz.i64(i64 %conv.i.i.i, i1 true) %iszero.i.i.i.i.i = icmp ne i32 %4, 0 %cmp2.i.i.i.i = icmp eq i64 %15, %sh_prom.i.i.i %cmp.i.i.i.i = select i1 %iszero.i.i.i.i.i, i1 %cmp2.i.i.i.i, i1 false %conv4.i.i54.i.i = zext i1 %cmp.i.i.i.i to i32 %shl.i.i55.i.i = shl nuw i32 %conv4.i.i54.i.i, %5 %xor.i.i.i.i = xor i32 %shl.i.i55.i.i, -1 %16 = atomicrmw and ptr %arrayidx.i.i.i.i, i32 %xor.i.i.i.i monotonic, align 4 tail call void @llvm.nvvm.bar.warp.sync(i32 %4) br label %cleanup27.i.i if.end15.i.i: ; preds = %if.then.i.i.i %17 = tail call range(i64 0, 65) i64 @llvm.cttz.i64(i64 %conv.i.i.i, i1 true) %iszero.i.i57.i.i = icmp ne i32 %4, 0 %cmp2.i.i.i = icmp eq i64 %17, %sh_prom.i.i.i %cmp.i58.i.i = select i1 %iszero.i.i57.i.i, i1 %cmp2.i.i.i, i1 false br i1 %cmp.i58.i.i, label %if.then17.i.i, label %if.end23.i.i if.then17.i.i: ; preds = %if.end15.i.i %18 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, i64 24), align 8, !tbaa !34 %opcode.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::rpc::Header", ptr %18, i64 %idxprom.i.i.i, i32 1 store i16 5, ptr %opcode.i.i, align 8, !tbaa !35 %arrayidx22.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::rpc::Header", ptr %18, i64 %idxprom.i.i.i store i64 %conv.i.i.i, ptr %arrayidx22.i.i, align 8, !tbaa !39 br label %if.end23.i.i if.end23.i.i: ; preds = %if.then17.i.i, %if.end15.i.i tail call void @llvm.nvvm.bar.warp.sync(i32 %4) br label %cleanup27.i.i cleanup27.i.i: ; preds = %if.end23.i.i, %if.then13.i.i, %for.cond.i.i %retval.sroa.6.1.i.i = phi i32 [ %retval.sroa.6.0.i.i, %if.then13.i.i ], [ %spec.store.select.i.i, %if.end23.i.i ], [ %retval.sroa.6.0.i.i, %for.cond.i.i ] %retval.sroa.2.1.i.i = phi i64 [ %retval.sroa.2.0.i.i, %if.then13.i.i ], [ %conv.i.i.i, %if.end23.i.i ], [ %retval.sroa.2.0.i.i, %for.cond.i.i ] %retval.sroa.8.1.i.i = phi i32 [ %retval.sroa.8.0.i.i, %if.then13.i.i ], [ %11, %if.end23.i.i ], [ %retval.sroa.8.0.i.i, %for.cond.i.i ] %cond.i.i = phi i1 [ true, %if.then13.i.i ], [ false, %if.end23.i.i ], [ true, %for.cond.i.i ] %inc.i.i = add i32 %spec.store.select.i.i, 1 br i1 %cond.i.i, label %for.cond.i.i, label %_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS2_6send_nEPKPKvPyEUlPNS0_6BufferEjE_EEvT_.exit.i.i.i, !llvm.loop !40 _ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS2_6send_nEPKPKvPyEUlPNS0_6BufferEjE_EEvT_.exit.i.i.i: ; preds = %cleanup27.i.i %retval.sroa.6.1.i.i.lcssa = phi i32 [ %retval.sroa.6.1.i.i, %cleanup27.i.i ] %retval.sroa.2.1.i.i.lcssa = phi i64 [ %retval.sroa.2.1.i.i, %cleanup27.i.i ] %retval.sroa.8.1.i.i.lcssa = phi i32 [ %retval.sroa.8.1.i.i, %cleanup27.i.i ] %sub.ptr.rhs.cast.i.i.i = ptrtoint ptr %str to i64 %sub.ptr.lhs.cast.i.i.i = ptrtoint ptr %End.0.i.i.i.lcssa to i64 %sub.ptr.sub.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i, %sub.ptr.rhs.cast.i.i.i tail call void @llvm.nvvm.membar.sys() %19 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, i64 32), align 8, !tbaa !41 %mul.i.i.i.i.i = shl i32 %retval.sroa.6.1.i.i.lcssa, 5 %idxprom.i19.i.i.i.i = zext i32 %mul.i.i.i.i.i to i64 %arrayidx.i20.i.i.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::rpc::Buffer", ptr %19, i64 %idxprom.i19.i.i.i.i %arrayidx.i22.i.i.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::rpc::Buffer", ptr %arrayidx.i20.i.i.i.i, i64 %sh_prom.i.i.i store i64 %sub.ptr.sub.i.i.i, ptr %arrayidx.i22.i.i.i.i, align 8, !tbaa !42 %spec.select.i.i.i.i = tail call i64 @llvm.umin.i64(i64 %sub.ptr.sub.i.i.i, i64 56) %arrayidx6.i.i.i.i.i = getelementptr inbounds i8, ptr %arrayidx.i22.i.i.i.i, i64 8 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %arrayidx6.i.i.i.i.i, ptr align 1 %str, i64 %spec.select.i.i.i.i, i1 false), !alias.scope !43 %tobool.not.i.i.i.i.i = icmp eq i32 %retval.sroa.8.1.i.i.lcssa, 0 %conv.i.i.i.i.i = zext i1 %tobool.not.i.i.i.i.i to i32 tail call void @llvm.nvvm.membar.sys() %20 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, i64 16), align 8, !tbaa !33 %idxprom.i23.i.i.i.i = zext i32 %retval.sroa.6.1.i.i.lcssa to i64 %arrayidx.i24.i.i.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr %20, i64 %idxprom.i23.i.i.i.i store atomic i32 %conv.i.i.i.i.i, ptr %arrayidx.i24.i.i.i.i monotonic, align 4 %21 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, i64 24), align 8, !tbaa !47 %arrayidx.i.i2.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::rpc::Header", ptr %21, i64 %idxprom.i23.i.i.i.i %22 = load i64, ptr %arrayidx.i.i2.i, align 8, !tbaa !39 %conv.i.i.i.i = trunc i64 %22 to i32 %conv.i.i.i16.i.i.i = trunc i64 %retval.sroa.2.1.i.i.lcssa to i32 %23 = tail call range(i32 0, 33) i32 @llvm.cttz.i32(i32 %conv.i.i.i16.i.i.i, i1 true) %iszero.i.i.i17.i.i.i = icmp eq i32 %conv.i.i.i16.i.i.i, 0 %sub.i.i.i18.i.i.i = select i1 %iszero.i.i.i17.i.i.i, i32 -1, i32 %23 br label %while.cond.i.i.i while.cond.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS2_6send_nEPKPKvPyEUlPNS0_6BufferEjE0_EEvT_.exit.i.i.i, %_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS2_6send_nEPKPKvPyEUlPNS0_6BufferEjE_EEvT_.exit.i.i.i %port.sroa.46.0.i = phi i32 [ %conv.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS2_6send_nEPKPKvPyEUlPNS0_6BufferEjE_EEvT_.exit.i.i.i ], [ %conv.i.i37.i.i.i, %_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS2_6send_nEPKPKvPyEUlPNS0_6BufferEjE0_EEvT_.exit.i.i.i ] %idx.0.i.i.i = phi i64 [ 56, %_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS2_6send_nEPKPKvPyEUlPNS0_6BufferEjE_EEvT_.exit.i.i.i ], [ %add.i.i.i, %_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS2_6send_nEPKPKvPyEUlPNS0_6BufferEjE0_EEvT_.exit.i.i.i ] %cmp.i.i.i5 = icmp ult i64 %idx.0.i.i.i, %sub.ptr.sub.i.i.i %24 = tail call i32 @llvm.nvvm.vote.ballot.sync(i32 %conv.i.i.i.i, i1 %cmp.i.i.i5) %tobool.not.i.i.i = icmp eq i32 %24, 0 %25 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, i64 8), align 8, !tbaa !32 %arrayidx.i23.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr %25, i64 %idxprom.i23.i.i.i.i %26 = load atomic i32, ptr %arrayidx.i23.i.i monotonic, align 4 br i1 %tobool.not.i.i.i, label %cond.false.i.i, label %cond.false.i10.i.i.i cond.false.i10.i.i.i: ; preds = %while.cond.i.i.i %27 = tail call noundef i32 @llvm.nvvm.shfl.sync.idx.i32(i32 %conv.i.i.i16.i.i.i, i32 %26, i32 %sub.i.i.i18.i.i.i, i32 31) %cmp.i.not3.i.i24.i.i.i = icmp eq i32 %27, %port.sroa.46.0.i br i1 %cmp.i.not3.i.i24.i.i.i, label %_ZN22__llvm_libc_19_0_0_git3rpc7ProcessILb0EE18wait_for_ownershipEyjjj.exit.i.i.i.i, label %while.body.i.i33.i.i.i while.body.i.i33.i.i.i: ; preds = %while.body.i.i33.i.i.i, %cond.false.i10.i.i.i %28 = load atomic i32, ptr %arrayidx.i23.i.i monotonic, align 4 %29 = tail call noundef i32 @llvm.nvvm.shfl.sync.idx.i32(i32 %conv.i.i.i16.i.i.i, i32 %28, i32 %sub.i.i.i18.i.i.i, i32 31) %cmp.i.not.i.i34.i.i.i = icmp eq i32 %29, %port.sroa.46.0.i br i1 %cmp.i.not.i.i34.i.i.i, label %_ZN22__llvm_libc_19_0_0_git3rpc7ProcessILb0EE18wait_for_ownershipEyjjj.exit.i.i.i.i, label %while.body.i.i33.i.i.i, !llvm.loop !48 _ZN22__llvm_libc_19_0_0_git3rpc7ProcessILb0EE18wait_for_ownershipEyjjj.exit.i.i.i.i: ; preds = %while.body.i.i33.i.i.i, %cond.false.i10.i.i.i tail call void @llvm.nvvm.membar.sys() br i1 %cmp.i.i.i5, label %if.then.i.i.i.i.i, label %_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS2_6send_nEPKPKvPyEUlPNS0_6BufferEjE0_EEvT_.exit.i.i.i if.then.i.i.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git3rpc7ProcessILb0EE18wait_for_ownershipEyjjj.exit.i.i.i.i %sub.i.i.i.i.i = sub i64 %sub.ptr.sub.i.i.i, %idx.0.i.i.i %spec.select.i42.i.i.i = tail call i64 @llvm.umin.i64(i64 %sub.i.i.i.i.i, i64 64) %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %str, i64 %idx.0.i.i.i %30 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, i64 32), align 8, !tbaa !41 %arrayidx.i20.i47.i.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::rpc::Buffer", ptr %30, i64 %idxprom.i19.i.i.i.i %arrayidx.i22.i49.i.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::rpc::Buffer", ptr %arrayidx.i20.i47.i.i.i, i64 %sh_prom.i.i.i tail call void @llvm.memcpy.p0.p0.i64(ptr align 1 %arrayidx.i22.i49.i.i.i, ptr align 1 %add.ptr.i.i.i.i.i, i64 %spec.select.i42.i.i.i, i1 false), !alias.scope !49 br label %_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS2_6send_nEPKPKvPyEUlPNS0_6BufferEjE0_EEvT_.exit.i.i.i _ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS2_6send_nEPKPKvPyEUlPNS0_6BufferEjE0_EEvT_.exit.i.i.i: ; preds = %if.then.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git3rpc7ProcessILb0EE18wait_for_ownershipEyjjj.exit.i.i.i.i %conv.i.i37.i.i.i = xor i32 %port.sroa.46.0.i, 1 tail call void @llvm.nvvm.membar.sys() %31 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, i64 16), align 8, !tbaa !33 %arrayidx.i24.i40.i.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr %31, i64 %idxprom.i23.i.i.i.i store atomic i32 %conv.i.i37.i.i.i, ptr %arrayidx.i24.i40.i.i.i monotonic, align 4 %add.i.i.i = add i64 %idx.0.i.i.i, 64 br label %while.cond.i.i.i, !llvm.loop !53 cond.false.i.i: ; preds = %while.cond.i.i.i %port.sroa.46.0.i.lcssa = phi i32 [ %port.sroa.46.0.i, %while.cond.i.i.i ] %arrayidx.i23.i.i.lcssa = phi ptr [ %arrayidx.i23.i.i, %while.cond.i.i.i ] %.lcssa = phi i32 [ %26, %while.cond.i.i.i ] %32 = tail call noundef i32 @llvm.nvvm.shfl.sync.idx.i32(i32 %conv.i.i.i16.i.i.i, i32 %.lcssa, i32 %sub.i.i.i18.i.i.i, i32 31) %cmp.i.not3.i.i.i = icmp eq i32 %32, %port.sroa.46.0.i.lcssa br i1 %cmp.i.not3.i.i.i, label %_ZN22__llvm_libc_19_0_0_git4file10write_implILt5EEEyP4FILEPKvm.exit, label %while.body.i.i.i while.body.i.i.i: ; preds = %while.body.i.i.i, %cond.false.i.i %33 = load atomic i32, ptr %arrayidx.i23.i.i.lcssa monotonic, align 4 %34 = tail call noundef i32 @llvm.nvvm.shfl.sync.idx.i32(i32 %conv.i.i.i16.i.i.i, i32 %33, i32 %sub.i.i.i18.i.i.i, i32 31) %cmp.i.not.i.i.i = icmp eq i32 %34, %port.sroa.46.0.i.lcssa br i1 %cmp.i.not.i.i.i, label %_ZN22__llvm_libc_19_0_0_git4file10write_implILt5EEEyP4FILEPKvm.exit, label %while.body.i.i.i, !llvm.loop !48 _ZN22__llvm_libc_19_0_0_git4file10write_implILt5EEEyP4FILEPKvm.exit: ; preds = %while.body.i.i.i, %cond.false.i.i tail call void @llvm.nvvm.membar.sys() tail call void @llvm.nvvm.bar.warp.sync(i32 %conv.i.i.i16.i.i.i) tail call void @llvm.nvvm.membar.sys() %35 = tail call range(i64 0, 65) i64 @llvm.cttz.i64(i64 %retval.sroa.2.1.i.i.lcssa, i1 true) %iszero.i.i.i.i20.i = icmp ne i64 %retval.sroa.2.1.i.i.lcssa, 0 %cmp2.i.i.i21.i = icmp eq i64 %35, %sh_prom.i.i.i %cmp.i.i.i22.i = select i1 %iszero.i.i.i.i20.i, i1 %cmp2.i.i.i21.i, i1 false %div8.i.i.i23.i = lshr i32 %retval.sroa.6.1.i.i.lcssa, 5 %36 = and i32 %retval.sroa.6.1.i.i.lcssa, 31 %idxprom.i.i.i24.i = zext nneg i32 %div8.i.i.i23.i to i64 %arrayidx.i.i.i25.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, i64 40), i64 %idxprom.i.i.i24.i %conv4.i.i.i26.i = zext i1 %cmp.i.i.i22.i to i32 %shl.i.i.i27.i = shl nuw i32 %conv4.i.i.i26.i, %36 %xor.i.i.i28.i = xor i32 %shl.i.i.i27.i, -1 %37 = atomicrmw and ptr %arrayidx.i.i.i25.i, i32 %xor.i.i.i28.i monotonic, align 4 tail call void @llvm.nvvm.bar.warp.sync(i32 %conv.i.i.i16.i.i.i) ret void } ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare noundef i32 @llvm.nvvm.read.ptx.sreg.smid() #5 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare noundef i32 @llvm.nvvm.read.ptx.sreg.laneid() #5 ; Function Attrs: convergent nocallback nounwind memory(inaccessiblemem: readwrite) declare i32 @llvm.nvvm.activemask() #6 ; Function Attrs: convergent nocallback nounwind memory(inaccessiblemem: readwrite) declare i32 @llvm.nvvm.vote.ballot.sync(i32, i1) #6 ; Function Attrs: nocallback nounwind declare void @llvm.nvvm.membar.sys() #7 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare i32 @llvm.cttz.i32(i32, i1 immarg) #5 ; Function Attrs: convergent nocallback nounwind memory(inaccessiblemem: readwrite) declare i32 @llvm.nvvm.shfl.sync.idx.i32(i32, i32, i32, i32) #6 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare i64 @llvm.cttz.i64(i64, i1 immarg) #5 ; Function Attrs: convergent nocallback nounwind declare void @llvm.nvvm.bar.warp.sync(i32) #8 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare i64 @llvm.umin.i64(i64, i64) #5 ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite) declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #9 ; Function Attrs: convergent mustprogress nounwind define protected void @_begin(i32 noundef %argc, ptr nocapture noundef readnone %argv, ptr nocapture noundef readnone %env) local_unnamed_addr #10 { entry: %0 = load i64, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git16atexit_callbacksE, i64 1024), align 8, !tbaa !54 %cmp.i.not.i.i = icmp eq i64 %0, 64 br i1 %cmp.i.not.i.i, label %atexit.exit, label %if.end.i.i.i if.end.i.i.i: ; preds = %entry %inc.i.i.i = add i64 %0, 1 %arrayidx.i.i.i.i = getelementptr inbounds [64 x %"struct.__llvm_libc_19_0_0_git::AtExitUnit"], ptr @_ZN22__llvm_libc_19_0_0_git16atexit_callbacksE, i64 0, i64 %0 %ref.tmp.sroa.4.0.arrayidx.i.i.i.sroa_idx.i = getelementptr inbounds i8, ptr %arrayidx.i.i.i.i, i64 8 store ptr @_ZN22__llvm_libc_19_0_0_git17stdc_at_exit_funcEPv, ptr %arrayidx.i.i.i.i, align 8, !tbaa !11 store ptr @_ZN22__llvm_libc_19_0_0_gitL25call_fini_array_callbacksEv, ptr %ref.tmp.sroa.4.0.arrayidx.i.i.i.sroa_idx.i, align 8, !tbaa !11 store i64 %inc.i.i.i, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git16atexit_callbacksE, i64 1024), align 8, !tbaa !54 br label %atexit.exit atexit.exit: ; preds = %if.end.i.i.i, %entry %1 = load ptr, ptr @__init_array_end, align 8, !tbaa !11 %2 = load ptr, ptr @__init_array_start, align 8, !tbaa !11 %cmp1.not.i = icmp eq ptr %1, %2 br i1 %cmp1.not.i, label %_ZN22__llvm_libc_19_0_0_gitL25call_init_array_callbacksEiPPcS1_.exit, label %for.body.preheader.i for.body.preheader.i: ; preds = %atexit.exit %sub.ptr.lhs.cast.i = ptrtoint ptr %1 to i64 %sub.ptr.rhs.cast.i = ptrtoint ptr %2 to i64 %sub.ptr.sub.i = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.rhs.cast.i %sub.ptr.div.i = ashr exact i64 %sub.ptr.sub.i, 3 %umax.i = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i, i64 1) br label %for.body.i for.body.i: ; preds = %for.body.i, %for.body.preheader.i %i.02.i = phi i64 [ %inc.i, %for.body.i ], [ 0, %for.body.preheader.i ] %3 = load ptr, ptr @__init_array_start, align 8, !tbaa !11 %arrayidx.i = getelementptr inbounds i64, ptr %3, i64 %i.02.i %4 = load i64, ptr %arrayidx.i, align 8, !tbaa !57 %5 = inttoptr i64 %4 to ptr tail call void %5() #20 %inc.i = add nuw i64 %i.02.i, 1 %exitcond.not.i = icmp eq i64 %inc.i, %umax.i br i1 %exitcond.not.i, label %_ZN22__llvm_libc_19_0_0_gitL25call_init_array_callbacksEiPPcS1_.exit, label %for.body.i, !llvm.loop !58 _ZN22__llvm_libc_19_0_0_gitL25call_init_array_callbacksEiPPcS1_.exit: ; preds = %for.body.i, %atexit.exit ret void } ; Function Attrs: convergent mustprogress nounwind define internal void @_ZN22__llvm_libc_19_0_0_gitL25call_fini_array_callbacksEv() #10 { entry: %0 = load ptr, ptr @__fini_array_end, align 8, !tbaa !11 %1 = load ptr, ptr @__fini_array_start, align 8, !tbaa !11 %cmp.not3 = icmp eq ptr %0, %1 br i1 %cmp.not3, label %for.cond.cleanup, label %for.body.preheader for.body.preheader: ; preds = %entry %sub.ptr.lhs.cast = ptrtoint ptr %0 to i64 %sub.ptr.rhs.cast = ptrtoint ptr %1 to i64 %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast %sub.ptr.div = ashr exact i64 %sub.ptr.sub, 3 br label %for.body for.cond.cleanup: ; preds = %for.body, %entry ret void for.body: ; preds = %for.body, %for.body.preheader %i.04 = phi i64 [ %dec, %for.body ], [ %sub.ptr.div, %for.body.preheader ] %2 = load ptr, ptr @__fini_array_start, align 8, !tbaa !11 %3 = getelementptr i64, ptr %2, i64 %i.04 %arrayidx = getelementptr i8, ptr %3, i64 -8 %4 = load i64, ptr %arrayidx, align 8, !tbaa !57 %5 = inttoptr i64 %4 to ptr tail call void %5() #20 %dec = add i64 %i.04, -1 %cmp.not = icmp eq i64 %dec, 0 br i1 %cmp.not, label %for.cond.cleanup, label %for.body, !llvm.loop !59 } ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare i64 @llvm.umax.i64(i64, i64) #5 ; Function Attrs: mustprogress nounwind define protected void @_start(i32 noundef %argc, ptr nocapture noundef readnone %argv, ptr nocapture noundef readnone %envp, ptr nocapture noundef %ret) local_unnamed_addr #11 { entry: %call = tail call i32 @main() #21 %0 = atomicrmw or ptr %ret, i32 %call monotonic, align 4 ret void } ; Function Attrs: convergent mustprogress noreturn nounwind define protected void @_end(i32 noundef %retval) local_unnamed_addr #12 { entry: tail call fastcc void @exit(i32 noundef %retval) #22 unreachable } ; Function Attrs: convergent mustprogress nounwind define internal fastcc void @__cxa_finalize() unnamed_addr #1 { entry: %0 = load i64, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git16atexit_callbacksE, i64 1024), align 8, !tbaa !54 %cmp.i13.i = icmp eq i64 %0, 0 br i1 %cmp.i13.i, label %_ZN22__llvm_libc_19_0_0_git19call_exit_callbacksERNS_11FixedVectorINS_10AtExitUnitELm64EEE.exit, label %while.body.i while.body.i: ; preds = %while.body.i, %entry %1 = phi i64 [ %4, %while.body.i ], [ %0, %entry ] %sub.i.i = add i64 %1, -1 %arrayidx.i.i.i = getelementptr inbounds [64 x %"struct.__llvm_libc_19_0_0_git::AtExitUnit"], ptr @_ZN22__llvm_libc_19_0_0_git16atexit_callbacksE, i64 0, i64 %sub.i.i store i64 %sub.i.i, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git16atexit_callbacksE, i64 1024), align 8, !tbaa !54 %2 = load ptr, ptr %arrayidx.i.i.i, align 8, !tbaa !60 %payload.i = getelementptr inbounds i8, ptr %arrayidx.i.i.i, i64 8 %3 = load ptr, ptr %payload.i, align 8, !tbaa !62 tail call void %2(ptr noundef %3) #19 %4 = load i64, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git16atexit_callbacksE, i64 1024), align 8, !tbaa !54 %cmp.i.i = icmp eq i64 %4, 0 br i1 %cmp.i.i, label %_ZN22__llvm_libc_19_0_0_git19call_exit_callbacksERNS_11FixedVectorINS_10AtExitUnitELm64EEE.exit, label %while.body.i, !llvm.loop !63 _ZN22__llvm_libc_19_0_0_git19call_exit_callbacksERNS_11FixedVectorINS_10AtExitUnitELm64EEE.exit: ; preds = %while.body.i, %entry store i64 0, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git16atexit_callbacksE, i64 1024), align 8, !tbaa !54 ret void } ; Function Attrs: convergent inlinehint mustprogress nounwind define internal void @_ZN22__llvm_libc_19_0_0_git17stdc_at_exit_funcEPv(ptr nocapture noundef readonly %payload) #13 comdat { entry: tail call void %payload() #19 ret void } ; Function Attrs: convergent mustprogress noreturn nounwind define internal fastcc void @exit(i32 noundef %status) unnamed_addr #14 { entry: tail call fastcc void @__cxa_finalize() #19 tail call fastcc void @_ZN22__llvm_libc_19_0_0_git8internal4exitEi(i32 noundef %status) #23 unreachable } ; Function Attrs: convergent mustprogress nounwind define fastcc void @_ZN22__llvm_libc_19_0_0_git11printf_core11printf_mainEPNS0_6WriterEPKcRNS_8internal7ArgListE(ptr noundef %writer, ptr noundef nonnull align 8 dereferenceable(8) %args) unnamed_addr #1 { entry: %agg.tmp.i40.i1127.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp1939.i1128.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i1129.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp35.i1130.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %mini_buff.i1131.i = alloca [64 x i8], align 1 %agg.tmp.i40.i1042.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp1939.i1043.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i1044.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp35.i1045.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %mini_buff.i1046.i = alloca [64 x i8], align 1 %agg.tmp.i40.i957.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp1939.i958.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i959.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp35.i960.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %mini_buff.i961.i = alloca [64 x i8], align 1 %agg.tmp.i40.i872.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp1939.i873.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i874.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp35.i875.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %mini_buff.i876.i = alloca [64 x i8], align 1 %agg.tmp.i40.i787.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp1939.i788.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i789.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp35.i790.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %mini_buff.i791.i = alloca [64 x i8], align 1 %agg.tmp.i40.i702.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp1939.i703.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i704.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp35.i705.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %mini_buff.i706.i = alloca [64 x i8], align 1 %agg.tmp.i40.i617.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp1939.i618.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i619.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp35.i620.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %mini_buff.i621.i = alloca [64 x i8], align 1 %agg.tmp.i40.i532.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp1939.i533.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i534.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp35.i535.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %mini_buff.i536.i = alloca [64 x i8], align 1 %agg.tmp.i40.i447.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp1939.i448.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i449.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp35.i450.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %mini_buff.i451.i = alloca [64 x i8], align 1 %agg.tmp.i40.i362.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp1939.i363.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i364.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp35.i365.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %mini_buff.i366.i = alloca [64 x i8], align 1 %agg.tmp.i40.i277.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp1939.i278.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i279.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp35.i280.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %mini_buff.i281.i = alloca [64 x i8], align 1 %agg.tmp.i40.i192.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp1939.i193.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i194.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp35.i195.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %mini_buff.i196.i = alloca [64 x i8], align 1 %agg.tmp.i40.i106.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp1939.i107.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i108.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp35.i109.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %mini_buff.i110.i = alloca [64 x i8], align 1 %agg.tmp.i40.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp1939.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i68.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp35.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %mini_buff.i.i = alloca [64 x i8], align 1 %agg.tmp.i.i196.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp20.i197.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i492.i.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp20.i493.i.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i431.i.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp20.i432.i.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i354.i.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp20.i355.i.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i.i11.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp20.i.i12.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %buf.i.i.i = alloca %"struct.__llvm_libc_19_0_0_git::cpp::array.5", align 1 %prefix.i.i.i = alloca [2 x i8], align 2 %agg.tmp.i.i.i.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp20.i.i.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %NULLPTR_STR.i.i = alloca [10 x i8], align 4 %agg.tmp.i.i492.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp20.i493.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i431.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp20.i432.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i354.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp20.i355.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i.i125.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp20.i.i126.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %buf.i.i = alloca %"struct.__llvm_libc_19_0_0_git::cpp::array.5", align 1 %prefix.i.i = alloca [2 x i8], align 1 %agg.tmp.i.i.i81.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp20.i.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp12.i.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %new_char.addr.i.i.i = alloca i8, align 1 %agg.tmp.i.i30.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp20.i31.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp.i.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %agg.tmp20.i = alloca %"class.__llvm_libc_19_0_0_git::cpp::string_view", align 8 %parser = alloca %"class.__llvm_libc_19_0_0_git::printf_core::Parser", align 8 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %parser) #18 %0 = getelementptr inbounds i8, ptr %parser, i64 8 %1 = getelementptr inbounds i8, ptr %parser, i64 16 store ptr inttoptr (i64 -6148914691236517206 to ptr), ptr %1, align 8, !annotation !10 store ptr @.str, ptr %parser, align 8, !tbaa !64, !noalias !67 store i64 0, ptr %0, align 8, !tbaa !72, !noalias !67 call void @llvm.va_copy.p0(ptr nonnull %1, ptr nonnull %args) %2 = load i64, ptr %0, align 8, !tbaa !72 %3 = load ptr, ptr %parser, align 8, !tbaa !64 %arrayidx.i = getelementptr inbounds i8, ptr %3, i64 %2 %4 = load i8, ptr %arrayidx.i, align 1, !tbaa !26 %cmp.i = icmp eq i8 %4, 37 br i1 %cmp.i, label %if.then.i, label %while.cond.i if.then.i: ; preds = %entry %inc.i = add i64 %2, 1 store i64 %inc.i, ptr %0, align 8, !tbaa !72 br label %while.body.i.i while.body.i.i: ; preds = %if.end.i.i, %if.then.i %5 = phi i64 [ %inc.i, %if.then.i ], [ %12, %if.end.i.i ] %flags.033.i.i = phi i8 [ 0, %if.then.i ], [ %flags.1.i.i, %if.end.i.i ] %arrayidx.i.i = getelementptr inbounds i8, ptr %3, i64 %5 %6 = load i8, ptr %arrayidx.i.i, align 1, !tbaa !26 switch i8 %6, label %sw.epilog.i.i [ i8 45, label %sw.bb.i.i i8 43, label %sw.bb4.i.i i8 32, label %sw.bb8.i.i i8 35, label %sw.bb12.i.i i8 48, label %sw.bb16.i.i ] sw.bb.i.i: ; preds = %while.body.i.i %7 = or i8 %flags.033.i.i, 1 br label %sw.epilog.i.i sw.bb4.i.i: ; preds = %while.body.i.i %8 = or i8 %flags.033.i.i, 2 br label %sw.epilog.i.i sw.bb8.i.i: ; preds = %while.body.i.i %9 = or i8 %flags.033.i.i, 4 br label %sw.epilog.i.i sw.bb12.i.i: ; preds = %while.body.i.i %10 = or i8 %flags.033.i.i, 8 br label %sw.epilog.i.i sw.bb16.i.i: ; preds = %while.body.i.i %11 = or i8 %flags.033.i.i, 16 br label %sw.epilog.i.i sw.epilog.i.i: ; preds = %sw.bb16.i.i, %sw.bb12.i.i, %sw.bb8.i.i, %sw.bb4.i.i, %sw.bb.i.i, %while.body.i.i %found_flag.1.off0.i.i = phi i1 [ true, %sw.bb16.i.i ], [ true, %sw.bb12.i.i ], [ true, %sw.bb8.i.i ], [ true, %sw.bb4.i.i ], [ true, %sw.bb.i.i ], [ false, %while.body.i.i ] %flags.1.i.i = phi i8 [ %11, %sw.bb16.i.i ], [ %10, %sw.bb12.i.i ], [ %9, %sw.bb8.i.i ], [ %8, %sw.bb4.i.i ], [ %7, %sw.bb.i.i ], [ %flags.033.i.i, %while.body.i.i ] br i1 %found_flag.1.off0.i.i, label %if.then.i.i, label %if.end.i.i if.then.i.i: ; preds = %sw.epilog.i.i %inc.i.i = add i64 %5, 1 store i64 %inc.i.i, ptr %0, align 8, !tbaa !57 br label %if.end.i.i if.end.i.i: ; preds = %if.then.i.i, %sw.epilog.i.i %12 = phi i64 [ %inc.i.i, %if.then.i.i ], [ %5, %sw.epilog.i.i ] br i1 %found_flag.1.off0.i.i, label %while.body.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE11parse_flagsEPm.exit.i, !llvm.loop !73 _ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE11parse_flagsEPm.exit.i: ; preds = %if.end.i.i %.lcssa168 = phi i64 [ %12, %if.end.i.i ] %flags.1.i.i.lcssa = phi i8 [ %flags.1.i.i, %if.end.i.i ] %arrayidx7.i = getelementptr inbounds i8, ptr %3, i64 %.lcssa168 %13 = load i8, ptr %arrayidx7.i, align 1, !tbaa !26 %cmp9.i = icmp eq i8 %13, 42 br i1 %cmp9.i, label %if.then10.i, label %if.else.i if.then10.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE11parse_flagsEPm.exit.i %inc12.i = add i64 %.lcssa168, 1 store i64 %inc12.i, ptr %0, align 8, !tbaa !72 %argp.cur.i.i.i = load ptr, ptr %1, align 8 %14 = getelementptr inbounds i8, ptr %argp.cur.i.i.i, i64 3 %argp.cur.aligned.i.i.i = call align 4 ptr @llvm.ptrmask.p0.i64(ptr nonnull %14, i64 -4) %argp.next.i.i.i = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i.i, i64 4 store ptr %argp.next.i.i.i, ptr %1, align 8 %15 = load i32, ptr %argp.cur.aligned.i.i.i, align 4, !tbaa !74 br label %if.end29.i if.else.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE11parse_flagsEPm.exit.i %conv8.i = sext i8 %13 to i32 %sub.i.i = add nsw i32 %conv8.i, -48 %cmp.i.i = icmp ult i32 %sub.i.i, 10 br i1 %cmp.i.i, label %land.rhs.i.i.i, label %if.end29.i land.rhs.i.i.i: ; preds = %while.body.i.i.i, %if.else.i %src_cur.06.i.i.i = phi i64 [ %inc.i.i.i, %while.body.i.i.i ], [ 0, %if.else.i ] %arrayidx.i.i.i = getelementptr inbounds i8, ptr %arrayidx7.i, i64 %src_cur.06.i.i.i %16 = load i8, ptr %arrayidx.i.i.i, align 1, !tbaa !26, !alias.scope !75 switch i8 %16, label %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i [ i8 32, label %while.body.i.i.i i8 13, label %while.body.i.i.i i8 12, label %while.body.i.i.i i8 11, label %while.body.i.i.i i8 10, label %while.body.i.i.i i8 9, label %while.body.i.i.i ] while.body.i.i.i: ; preds = %land.rhs.i.i.i, %land.rhs.i.i.i, %land.rhs.i.i.i, %land.rhs.i.i.i, %land.rhs.i.i.i, %land.rhs.i.i.i %inc.i.i.i = add nuw i64 %src_cur.06.i.i.i, 1 %exitcond.not.i.i.i = icmp eq i64 %inc.i.i.i, -1 br i1 %exitcond.not.i.i.i, label %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i, label %land.rhs.i.i.i, !llvm.loop !78 while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i: ; preds = %while.body.i.i.i %add.ptr.i.phi.trans.insert.i.i = getelementptr inbounds i8, ptr %arrayidx7.i, i64 -1 %.pre.i.i = load i8, ptr %add.ptr.i.phi.trans.insert.i.i, align 1, !tbaa !26, !alias.scope !75 br label %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i _ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i: ; preds = %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i, %land.rhs.i.i.i %17 = phi i8 [ %.pre.i.i, %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i ], [ %16, %land.rhs.i.i.i ] %src_cur.0.lcssa.i.i.i = phi i64 [ -1, %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i ], [ %src_cur.06.i.i.i, %land.rhs.i.i.i ] switch i8 %17, label %if.end14.i.i [ i8 43, label %if.then12.i.i i8 45, label %if.then12.i.i ] if.then12.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i %inc.i219.i = add i64 %src_cur.0.lcssa.i.i.i, 1 %18 = icmp eq i8 %17, 43 br label %if.end14.i.i if.end14.i.i: ; preds = %if.then12.i.i, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i %result_sign.0.i.i = phi i1 [ %18, %if.then12.i.i ], [ true, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i ] %src_cur.0.i.i = phi i64 [ %inc.i219.i, %if.then12.i.i ], [ %src_cur.0.lcssa.i.i.i, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i ] %cond.i.i = select i1 %result_sign.0.i.i, i64 2147483647, i64 2147483648 br label %while.cond.i.i while.cond.i.i: ; preds = %cleanup.i.i, %if.end14.i.i %error_val.0.i.i = phi i32 [ 0, %if.end14.i.i ], [ %error_val.3.i.i, %cleanup.i.i ] %src_cur.2.i.i = phi i64 [ %src_cur.0.i.i, %if.end14.i.i ], [ %src_cur.3.i.i, %cleanup.i.i ] %is_number.0.off0.i.i = phi i1 [ false, %if.end14.i.i ], [ %is_number.1.off0.i.i, %cleanup.i.i ] %result.0.i.i = phi i64 [ 0, %if.end14.i.i ], [ %result.3.i.i, %cleanup.i.i ] %cmp30.i.not.i = icmp eq i64 %src_cur.2.i.i, -1 br i1 %cmp30.i.not.i, label %while.end.i.i, label %land.rhs.i.i land.rhs.i.i: ; preds = %while.cond.i.i %arrayidx31.i.i = getelementptr inbounds i8, ptr %arrayidx7.i, i64 %src_cur.2.i.i %19 = load i8, ptr %arrayidx31.i.i, align 1, !tbaa !26, !alias.scope !75 %conv32.i.i = sext i8 %19 to i32 %or.i.i.i.i = or i32 %conv32.i.i, 32 %sub.i.i.i.i = add nsw i32 %or.i.i.i.i, -97 %cmp.i.i148.i.i = icmp ult i32 %sub.i.i.i.i, 26 %sub.i3.i.i.i = add nsw i32 %conv32.i.i, -48 %cmp.i4.i.i.i = icmp ult i32 %sub.i3.i.i.i, 10 %spec.select.i149.i.i = select i1 %cmp.i.i148.i.i, i1 true, i1 %cmp.i4.i.i.i br i1 %spec.select.i149.i.i, label %while.body.i220.i, label %while.end.i.i while.body.i220.i: ; preds = %land.rhs.i.i %sub6.i.i.i = add nsw i32 %or.i.i.i.i, -87 %spec.select.i154.i.i = select i1 %cmp.i.i148.i.i, i32 %sub6.i.i.i, i32 0 %spec.select163.i.i = select i1 %cmp.i4.i.i.i, i32 %sub.i3.i.i.i, i32 %spec.select.i154.i.i %cmp36.not.not.i.i = icmp slt i32 %spec.select163.i.i, 10 br i1 %cmp36.not.not.i.i, label %if.end38.i.i, label %cleanup.i.i if.end38.i.i: ; preds = %while.body.i220.i %inc39.i.i = add nuw i64 %src_cur.2.i.i, 1 %cmp40.i.i = icmp eq i64 %result.0.i.i, %cond.i.i br i1 %cmp40.i.i, label %cleanup.i.i, label %if.end42.i.i, !llvm.loop !79 if.end42.i.i: ; preds = %if.end38.i.i %cmp43.i.i = icmp ugt i64 %result.0.i.i, 214748364 %mul.i.i = mul i64 %result.0.i.i, 10 %result.1.i.i = select i1 %cmp43.i.i, i64 %cond.i.i, i64 %mul.i.i %conv47.i.i = sext i32 %spec.select163.i.i to i64 %sub48.i.i = sub nsw i64 %cond.i.i, %conv47.i.i %cmp49.i.i = icmp ugt i64 %result.1.i.i, %sub48.i.i %add53.i.i = add i64 %result.1.i.i, %conv47.i.i %20 = or i1 %cmp43.i.i, %cmp49.i.i %error_val.2.i.i = select i1 %20, i32 34, i32 %error_val.0.i.i %result.2.i.i = select i1 %cmp49.i.i, i64 %cond.i.i, i64 %add53.i.i br label %cleanup.i.i cleanup.i.i: ; preds = %if.end42.i.i, %if.end38.i.i, %while.body.i220.i %error_val.3.i.i = phi i32 [ %error_val.2.i.i, %if.end42.i.i ], [ %error_val.0.i.i, %while.body.i220.i ], [ 34, %if.end38.i.i ] %src_cur.3.i.i = phi i64 [ %inc39.i.i, %if.end42.i.i ], [ %src_cur.2.i.i, %while.body.i220.i ], [ %inc39.i.i, %if.end38.i.i ] %is_number.1.off0.i.i = phi i1 [ true, %if.end42.i.i ], [ %is_number.0.off0.i.i, %while.body.i220.i ], [ true, %if.end38.i.i ] %result.3.i.i = phi i64 [ %result.2.i.i, %if.end42.i.i ], [ %result.0.i.i, %while.body.i220.i ], [ %cond.i.i, %if.end38.i.i ] br i1 %cmp36.not.not.i.i, label %while.cond.i.i, label %while.end.i.i while.end.i.i: ; preds = %cleanup.i.i, %land.rhs.i.i, %while.cond.i.i %error_val.4.i.i = phi i32 [ %error_val.3.i.i, %cleanup.i.i ], [ %error_val.0.i.i, %land.rhs.i.i ], [ %error_val.0.i.i, %while.cond.i.i ] %src_cur.4.i.i = phi i64 [ %src_cur.3.i.i, %cleanup.i.i ], [ %src_cur.2.i.i, %land.rhs.i.i ], [ -1, %while.cond.i.i ] %is_number.2.off0.i.i = phi i1 [ %is_number.1.off0.i.i, %cleanup.i.i ], [ %is_number.0.off0.i.i, %land.rhs.i.i ], [ %is_number.0.off0.i.i, %while.cond.i.i ] %result.4.i.i = phi i64 [ %result.3.i.i, %cleanup.i.i ], [ %result.0.i.i, %land.rhs.i.i ], [ %result.0.i.i, %while.cond.i.i ] %cond56.i.i = select i1 %is_number.2.off0.i.i, i64 %src_cur.4.i.i, i64 0 %cmp57.i.i = icmp eq i32 %error_val.4.i.i, 34 %conv67.i.i = trunc i64 %result.4.i.i to i32 %sub70.i.i = sub i32 0, %conv67.i.i %cond72.i.i = select i1 %result_sign.0.i.i, i32 %conv67.i.i, i32 %sub70.i.i %..i.i = select i1 %result_sign.0.i.i, i32 2147483647, i32 -2147483648 %retval.sroa.0.0.i.i = select i1 %cmp57.i.i, i32 %..i.i, i32 %cond72.i.i %add.i = add i64 %cond56.i.i, %.lcssa168 store i64 %add.i, ptr %0, align 8, !tbaa !72 br label %if.end29.i if.end29.i: ; preds = %while.end.i.i, %if.else.i, %if.then10.i %21 = phi i64 [ %inc12.i, %if.then10.i ], [ %add.i, %while.end.i.i ], [ %.lcssa168, %if.else.i ] %retval.sroa.34.0.i = phi i32 [ %15, %if.then10.i ], [ %retval.sroa.0.0.i.i, %while.end.i.i ], [ 0, %if.else.i ] %spec.select.i = call i32 @llvm.abs.i32(i32 %retval.sroa.34.0.i, i1 true) %retval.sroa.34.0.lobit.i = lshr i32 %retval.sroa.34.0.i, 31 %22 = trunc nuw nsw i32 %retval.sroa.34.0.lobit.i to i8 %spec.select365.i = or i8 %flags.1.i.i.lcssa, %22 %arrayidx42.i = getelementptr inbounds i8, ptr %3, i64 %21 %23 = load i8, ptr %arrayidx42.i, align 1, !tbaa !26 %cmp44.i = icmp eq i8 %23, 46 br i1 %cmp44.i, label %if.then45.i, label %if.end82.i if.then45.i: ; preds = %if.end29.i %inc47.i = add i64 %21, 1 store i64 %inc47.i, ptr %0, align 8, !tbaa !72 %arrayidx51.i = getelementptr inbounds i8, ptr %3, i64 %inc47.i %24 = load i8, ptr %arrayidx51.i, align 1, !tbaa !26 %cmp53.i = icmp eq i8 %24, 42 br i1 %cmp53.i, label %if.then54.i, label %if.else61.i if.then54.i: ; preds = %if.then45.i %inc56.i = add i64 %21, 2 store i64 %inc56.i, ptr %0, align 8, !tbaa !72 %argp.cur.i.i222.i = load ptr, ptr %1, align 8 %25 = getelementptr inbounds i8, ptr %argp.cur.i.i222.i, i64 3 %argp.cur.aligned.i.i223.i = call align 4 ptr @llvm.ptrmask.p0.i64(ptr nonnull %25, i64 -4) %argp.next.i.i224.i = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i223.i, i64 4 store ptr %argp.next.i.i224.i, ptr %1, align 8 %26 = load i32, ptr %argp.cur.aligned.i.i223.i, align 4, !tbaa !74 br label %if.end82.i if.else61.i: ; preds = %if.then45.i %conv52.i = sext i8 %24 to i32 %sub.i225.i = add nsw i32 %conv52.i, -48 %cmp.i226.i = icmp ult i32 %sub.i225.i, 10 br i1 %cmp.i226.i, label %land.rhs.i.i228.i, label %if.end82.i land.rhs.i.i228.i: ; preds = %while.body.i.i231.i, %if.else61.i %src_cur.06.i.i229.i = phi i64 [ %inc.i.i232.i, %while.body.i.i231.i ], [ 0, %if.else61.i ] %arrayidx.i.i230.i = getelementptr inbounds i8, ptr %arrayidx51.i, i64 %src_cur.06.i.i229.i %27 = load i8, ptr %arrayidx.i.i230.i, align 1, !tbaa !26, !alias.scope !80 switch i8 %27, label %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i237.i [ i8 32, label %while.body.i.i231.i i8 13, label %while.body.i.i231.i i8 12, label %while.body.i.i231.i i8 11, label %while.body.i.i231.i i8 10, label %while.body.i.i231.i i8 9, label %while.body.i.i231.i ] while.body.i.i231.i: ; preds = %land.rhs.i.i228.i, %land.rhs.i.i228.i, %land.rhs.i.i228.i, %land.rhs.i.i228.i, %land.rhs.i.i228.i, %land.rhs.i.i228.i %inc.i.i232.i = add nuw i64 %src_cur.06.i.i229.i, 1 %exitcond.not.i.i233.i = icmp eq i64 %inc.i.i232.i, -1 br i1 %exitcond.not.i.i233.i, label %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i234.i, label %land.rhs.i.i228.i, !llvm.loop !78 while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i234.i: ; preds = %while.body.i.i231.i %.pre.i236.i = load i8, ptr %arrayidx42.i, align 1, !tbaa !26, !alias.scope !80 br label %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i237.i _ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i237.i: ; preds = %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i234.i, %land.rhs.i.i228.i %28 = phi i8 [ %.pre.i236.i, %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i234.i ], [ %27, %land.rhs.i.i228.i ] %src_cur.0.lcssa.i.i238.i = phi i64 [ -1, %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i234.i ], [ %src_cur.06.i.i229.i, %land.rhs.i.i228.i ] switch i8 %28, label %if.end14.i241.i [ i8 43, label %if.then12.i239.i i8 45, label %if.then12.i239.i ] if.then12.i239.i: ; preds = %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i237.i, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i237.i %inc.i240.i = add i64 %src_cur.0.lcssa.i.i238.i, 1 %29 = icmp eq i8 %28, 43 br label %if.end14.i241.i if.end14.i241.i: ; preds = %if.then12.i239.i, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i237.i %result_sign.0.i242.i = phi i1 [ %29, %if.then12.i239.i ], [ true, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i237.i ] %src_cur.0.i243.i = phi i64 [ %inc.i240.i, %if.then12.i239.i ], [ %src_cur.0.lcssa.i.i238.i, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i237.i ] %cond.i244.i = select i1 %result_sign.0.i242.i, i64 2147483647, i64 2147483648 br label %while.cond.i248.i while.cond.i248.i: ; preds = %cleanup.i286.i, %if.end14.i241.i %error_val.0.i249.i = phi i32 [ 0, %if.end14.i241.i ], [ %error_val.3.i287.i, %cleanup.i286.i ] %src_cur.2.i250.i = phi i64 [ %src_cur.0.i243.i, %if.end14.i241.i ], [ %src_cur.3.i288.i, %cleanup.i286.i ] %is_number.0.off0.i251.i = phi i1 [ false, %if.end14.i241.i ], [ %is_number.1.off0.i289.i, %cleanup.i286.i ] %result.0.i252.i = phi i64 [ 0, %if.end14.i241.i ], [ %result.3.i290.i, %cleanup.i286.i ] %cmp30.i253.not.i = icmp eq i64 %src_cur.2.i250.i, -1 br i1 %cmp30.i253.not.i, label %while.end.i254.i, label %land.rhs.i272.i land.rhs.i272.i: ; preds = %while.cond.i248.i %arrayidx31.i273.i = getelementptr inbounds i8, ptr %arrayidx51.i, i64 %src_cur.2.i250.i %30 = load i8, ptr %arrayidx31.i273.i, align 1, !tbaa !26, !alias.scope !80 %conv32.i274.i = sext i8 %30 to i32 %or.i.i.i275.i = or i32 %conv32.i274.i, 32 %sub.i.i.i276.i = add nsw i32 %or.i.i.i275.i, -97 %cmp.i.i148.i277.i = icmp ult i32 %sub.i.i.i276.i, 26 %sub.i3.i.i278.i = add nsw i32 %conv32.i274.i, -48 %cmp.i4.i.i279.i = icmp ult i32 %sub.i3.i.i278.i, 10 %spec.select.i149.i280.i = select i1 %cmp.i.i148.i277.i, i1 true, i1 %cmp.i4.i.i279.i br i1 %spec.select.i149.i280.i, label %while.body.i281.i, label %while.end.i254.i while.body.i281.i: ; preds = %land.rhs.i272.i %sub6.i.i282.i = add nsw i32 %or.i.i.i275.i, -87 %spec.select.i154.i283.i = select i1 %cmp.i.i148.i277.i, i32 %sub6.i.i282.i, i32 0 %spec.select163.i284.i = select i1 %cmp.i4.i.i279.i, i32 %sub.i3.i.i278.i, i32 %spec.select.i154.i283.i %cmp36.not.not.i285.i = icmp slt i32 %spec.select163.i284.i, 10 br i1 %cmp36.not.not.i285.i, label %if.end38.i291.i, label %cleanup.i286.i if.end38.i291.i: ; preds = %while.body.i281.i %inc39.i292.i = add nuw i64 %src_cur.2.i250.i, 1 %cmp40.i293.i = icmp eq i64 %result.0.i252.i, %cond.i244.i br i1 %cmp40.i293.i, label %cleanup.i286.i, label %if.end42.i294.i, !llvm.loop !79 if.end42.i294.i: ; preds = %if.end38.i291.i %cmp43.i295.i = icmp ugt i64 %result.0.i252.i, 214748364 %mul.i296.i = mul i64 %result.0.i252.i, 10 %result.1.i297.i = select i1 %cmp43.i295.i, i64 %cond.i244.i, i64 %mul.i296.i %conv47.i298.i = sext i32 %spec.select163.i284.i to i64 %sub48.i299.i = sub nsw i64 %cond.i244.i, %conv47.i298.i %cmp49.i300.i = icmp ugt i64 %result.1.i297.i, %sub48.i299.i %add53.i301.i = add i64 %result.1.i297.i, %conv47.i298.i %31 = or i1 %cmp43.i295.i, %cmp49.i300.i %error_val.2.i302.i = select i1 %31, i32 34, i32 %error_val.0.i249.i %result.2.i303.i = select i1 %cmp49.i300.i, i64 %cond.i244.i, i64 %add53.i301.i br label %cleanup.i286.i cleanup.i286.i: ; preds = %if.end42.i294.i, %if.end38.i291.i, %while.body.i281.i %error_val.3.i287.i = phi i32 [ %error_val.2.i302.i, %if.end42.i294.i ], [ %error_val.0.i249.i, %while.body.i281.i ], [ 34, %if.end38.i291.i ] %src_cur.3.i288.i = phi i64 [ %inc39.i292.i, %if.end42.i294.i ], [ %src_cur.2.i250.i, %while.body.i281.i ], [ %inc39.i292.i, %if.end38.i291.i ] %is_number.1.off0.i289.i = phi i1 [ true, %if.end42.i294.i ], [ %is_number.0.off0.i251.i, %while.body.i281.i ], [ true, %if.end38.i291.i ] %result.3.i290.i = phi i64 [ %result.2.i303.i, %if.end42.i294.i ], [ %result.0.i252.i, %while.body.i281.i ], [ %cond.i244.i, %if.end38.i291.i ] br i1 %cmp36.not.not.i285.i, label %while.cond.i248.i, label %while.end.i254.i while.end.i254.i: ; preds = %cleanup.i286.i, %land.rhs.i272.i, %while.cond.i248.i %error_val.4.i255.i = phi i32 [ %error_val.3.i287.i, %cleanup.i286.i ], [ %error_val.0.i249.i, %land.rhs.i272.i ], [ %error_val.0.i249.i, %while.cond.i248.i ] %src_cur.4.i256.i = phi i64 [ %src_cur.3.i288.i, %cleanup.i286.i ], [ %src_cur.2.i250.i, %land.rhs.i272.i ], [ -1, %while.cond.i248.i ] %is_number.2.off0.i257.i = phi i1 [ %is_number.1.off0.i289.i, %cleanup.i286.i ], [ %is_number.0.off0.i251.i, %land.rhs.i272.i ], [ %is_number.0.off0.i251.i, %while.cond.i248.i ] %result.4.i258.i = phi i64 [ %result.3.i290.i, %cleanup.i286.i ], [ %result.0.i252.i, %land.rhs.i272.i ], [ %result.0.i252.i, %while.cond.i248.i ] %cond56.i259.i = select i1 %is_number.2.off0.i257.i, i64 %src_cur.4.i256.i, i64 0 %cmp57.i260.i = icmp eq i32 %error_val.4.i255.i, 34 %conv67.i262.i = trunc i64 %result.4.i258.i to i32 %sub70.i263.i = sub i32 0, %conv67.i262.i %cond72.i264.i = select i1 %result_sign.0.i242.i, i32 %conv67.i262.i, i32 %sub70.i263.i %..i271.i = select i1 %result_sign.0.i242.i, i32 2147483647, i32 -2147483648 %retval.sroa.0.0.i266.i = select i1 %cmp57.i260.i, i32 %..i271.i, i32 %cond72.i264.i %add78.i = add i64 %cond56.i259.i, %inc47.i store i64 %add78.i, ptr %0, align 8, !tbaa !72 br label %if.end82.i if.end82.i: ; preds = %while.end.i254.i, %if.else61.i, %if.then54.i, %if.end29.i %32 = phi i64 [ %inc56.i, %if.then54.i ], [ %add78.i, %while.end.i254.i ], [ %inc47.i, %if.else61.i ], [ %21, %if.end29.i ] %retval.sroa.41.0.i = phi i32 [ %26, %if.then54.i ], [ %retval.sroa.0.0.i266.i, %while.end.i254.i ], [ 0, %if.else61.i ], [ -1, %if.end29.i ] %arrayidx.i305.i = getelementptr inbounds i8, ptr %3, i64 %32 %33 = load i8, ptr %arrayidx.i305.i, align 1, !tbaa !26 switch i8 %33, label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i [ i8 108, label %sw.bb.i312.i i8 119, label %sw.bb8.i308.i i8 104, label %sw.bb34.i.i i8 76, label %sw.bb48.i.i i8 106, label %sw.bb52.i.i i8 122, label %sw.bb56.i.i i8 116, label %sw.bb60.i.i ] sw.bb.i312.i: ; preds = %if.end82.i %add.i.i = add i64 %32, 1 %arrayidx3.i.i = getelementptr inbounds i8, ptr %3, i64 %add.i.i %34 = load i8, ptr %arrayidx3.i.i, align 1, !tbaa !26 %cmp.i313.i = icmp eq i8 %34, 108 br i1 %cmp.i313.i, label %if.then.i314.i, label %if.else.i.i if.then.i314.i: ; preds = %sw.bb.i312.i %add5.i.i = add i64 %32, 2 store i64 %add5.i.i, ptr %0, align 8, !tbaa !57 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i if.else.i.i: ; preds = %sw.bb.i312.i store i64 %add.i.i, ptr %0, align 8, !tbaa !57 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i sw.bb8.i308.i: ; preds = %if.end82.i %add11.i.i = add i64 %32, 1 %arrayidx12.i.i = getelementptr inbounds i8, ptr %3, i64 %add11.i.i %35 = load i8, ptr %arrayidx12.i.i, align 1, !tbaa !26 %cmp14.i.i = icmp eq i8 %35, 102 %add16.i.i = add i64 %32, 2 %storemerge.i.i = select i1 %cmp14.i.i, i64 %add16.i.i, i64 %add11.i.i %lm9.0.i.i = select i1 %cmp14.i.i, i32 9, i32 8 store i64 %storemerge.i.i, ptr %0, align 8, !tbaa !57 %arrayidx20.i.i = getelementptr inbounds i8, ptr %3, i64 %storemerge.i.i %36 = load i8, ptr %arrayidx20.i.i, align 1, !tbaa !26 %conv21.i.i = sext i8 %36 to i32 %sub.i.i.i = add nsw i32 %conv21.i.i, -48 %cmp.i.i.i = icmp ult i32 %sub.i.i.i, 10 br i1 %cmp.i.i.i, label %land.rhs.i.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i land.rhs.i.i.i.i: ; preds = %while.body.i.i.i.i, %sw.bb8.i308.i %src_cur.06.i.i.i.i = phi i64 [ %inc.i.i.i.i, %while.body.i.i.i.i ], [ 0, %sw.bb8.i308.i ] %arrayidx.i.i.i.i = getelementptr inbounds i8, ptr %arrayidx20.i.i, i64 %src_cur.06.i.i.i.i %37 = load i8, ptr %arrayidx.i.i.i.i, align 1, !tbaa !26, !alias.scope !83 switch i8 %37, label %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i.i [ i8 32, label %while.body.i.i.i.i i8 13, label %while.body.i.i.i.i i8 12, label %while.body.i.i.i.i i8 11, label %while.body.i.i.i.i i8 10, label %while.body.i.i.i.i i8 9, label %while.body.i.i.i.i ] while.body.i.i.i.i: ; preds = %land.rhs.i.i.i.i, %land.rhs.i.i.i.i, %land.rhs.i.i.i.i, %land.rhs.i.i.i.i, %land.rhs.i.i.i.i, %land.rhs.i.i.i.i %inc.i.i.i.i = add nuw i64 %src_cur.06.i.i.i.i, 1 %exitcond.not.i.i.i.i = icmp eq i64 %inc.i.i.i.i, -1 br i1 %exitcond.not.i.i.i.i, label %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i.i, label %land.rhs.i.i.i.i, !llvm.loop !78 while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i.i: ; preds = %while.body.i.i.i.i %add.ptr.i.phi.trans.insert.i.i.i = getelementptr inbounds i8, ptr %arrayidx20.i.i, i64 -1 %.pre.i.i.i = load i8, ptr %add.ptr.i.phi.trans.insert.i.i.i, align 1, !tbaa !26, !alias.scope !83 br label %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i.i _ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i.i: ; preds = %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i.i, %land.rhs.i.i.i.i %38 = phi i8 [ %.pre.i.i.i, %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i.i ], [ %37, %land.rhs.i.i.i.i ] %src_cur.0.lcssa.i.i.i.i = phi i64 [ -1, %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i.i ], [ %src_cur.06.i.i.i.i, %land.rhs.i.i.i.i ] switch i8 %38, label %if.end14.i.i.i [ i8 43, label %if.then12.i.i.i i8 45, label %if.then12.i.i.i ] if.then12.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i.i, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i.i %inc.i.i309.i = add i64 %src_cur.0.lcssa.i.i.i.i, 1 %39 = icmp eq i8 %38, 43 br label %if.end14.i.i.i if.end14.i.i.i: ; preds = %if.then12.i.i.i, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i.i %result_sign.0.i.i.i = phi i1 [ %39, %if.then12.i.i.i ], [ true, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i.i ] %src_cur.0.i.i.i = phi i64 [ %inc.i.i309.i, %if.then12.i.i.i ], [ %src_cur.0.lcssa.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i.i ] %cond.i.i.i = select i1 %result_sign.0.i.i.i, i64 2147483647, i64 2147483648 br label %while.cond.i.i.i while.cond.i.i.i: ; preds = %cleanup.i.i.i, %if.end14.i.i.i %error_val.0.i.i.i = phi i32 [ 0, %if.end14.i.i.i ], [ %error_val.3.i.i.i, %cleanup.i.i.i ] %src_cur.2.i.i.i = phi i64 [ %src_cur.0.i.i.i, %if.end14.i.i.i ], [ %src_cur.3.i.i.i, %cleanup.i.i.i ] %is_number.0.off0.i.i.i = phi i1 [ false, %if.end14.i.i.i ], [ %is_number.1.off0.i.i.i, %cleanup.i.i.i ] %result.0.i.i.i = phi i64 [ 0, %if.end14.i.i.i ], [ %result.3.i.i.i, %cleanup.i.i.i ] %cmp30.i.not.i.i = icmp eq i64 %src_cur.2.i.i.i, -1 br i1 %cmp30.i.not.i.i, label %while.end.i.i.i, label %land.rhs.i.i310.i land.rhs.i.i310.i: ; preds = %while.cond.i.i.i %arrayidx31.i.i.i = getelementptr inbounds i8, ptr %arrayidx20.i.i, i64 %src_cur.2.i.i.i %40 = load i8, ptr %arrayidx31.i.i.i, align 1, !tbaa !26, !alias.scope !83 %conv32.i.i.i = sext i8 %40 to i32 %or.i.i.i.i.i = or i32 %conv32.i.i.i, 32 %sub.i.i.i.i.i = add nsw i32 %or.i.i.i.i.i, -97 %cmp.i.i148.i.i.i = icmp ult i32 %sub.i.i.i.i.i, 26 %sub.i3.i.i.i.i = add nsw i32 %conv32.i.i.i, -48 %cmp.i4.i.i.i.i = icmp ult i32 %sub.i3.i.i.i.i, 10 %spec.select.i149.i.i.i = select i1 %cmp.i.i148.i.i.i, i1 true, i1 %cmp.i4.i.i.i.i br i1 %spec.select.i149.i.i.i, label %while.body.i.i311.i, label %while.end.i.i.i while.body.i.i311.i: ; preds = %land.rhs.i.i310.i %sub6.i.i.i.i = add nsw i32 %or.i.i.i.i.i, -87 %spec.select.i154.i.i.i = select i1 %cmp.i.i148.i.i.i, i32 %sub6.i.i.i.i, i32 0 %spec.select163.i.i.i = select i1 %cmp.i4.i.i.i.i, i32 %sub.i3.i.i.i.i, i32 %spec.select.i154.i.i.i %cmp36.not.not.i.i.i = icmp slt i32 %spec.select163.i.i.i, 10 br i1 %cmp36.not.not.i.i.i, label %if.end38.i.i.i, label %cleanup.i.i.i if.end38.i.i.i: ; preds = %while.body.i.i311.i %inc39.i.i.i = add nuw i64 %src_cur.2.i.i.i, 1 %cmp40.i.i.i = icmp eq i64 %result.0.i.i.i, %cond.i.i.i br i1 %cmp40.i.i.i, label %cleanup.i.i.i, label %if.end42.i.i.i, !llvm.loop !79 if.end42.i.i.i: ; preds = %if.end38.i.i.i %cmp43.i.i.i = icmp ugt i64 %result.0.i.i.i, 214748364 %mul.i.i.i = mul i64 %result.0.i.i.i, 10 %result.1.i.i.i = select i1 %cmp43.i.i.i, i64 %cond.i.i.i, i64 %mul.i.i.i %conv47.i.i.i = sext i32 %spec.select163.i.i.i to i64 %sub48.i.i.i = sub nsw i64 %cond.i.i.i, %conv47.i.i.i %cmp49.i.i.i = icmp ugt i64 %result.1.i.i.i, %sub48.i.i.i %add53.i.i.i = add i64 %result.1.i.i.i, %conv47.i.i.i %41 = or i1 %cmp43.i.i.i, %cmp49.i.i.i %error_val.2.i.i.i = select i1 %41, i32 34, i32 %error_val.0.i.i.i %result.2.i.i.i = select i1 %cmp49.i.i.i, i64 %cond.i.i.i, i64 %add53.i.i.i br label %cleanup.i.i.i cleanup.i.i.i: ; preds = %if.end42.i.i.i, %if.end38.i.i.i, %while.body.i.i311.i %error_val.3.i.i.i = phi i32 [ %error_val.2.i.i.i, %if.end42.i.i.i ], [ %error_val.0.i.i.i, %while.body.i.i311.i ], [ 34, %if.end38.i.i.i ] %src_cur.3.i.i.i = phi i64 [ %inc39.i.i.i, %if.end42.i.i.i ], [ %src_cur.2.i.i.i, %while.body.i.i311.i ], [ %inc39.i.i.i, %if.end38.i.i.i ] %is_number.1.off0.i.i.i = phi i1 [ true, %if.end42.i.i.i ], [ %is_number.0.off0.i.i.i, %while.body.i.i311.i ], [ true, %if.end38.i.i.i ] %result.3.i.i.i = phi i64 [ %result.2.i.i.i, %if.end42.i.i.i ], [ %result.0.i.i.i, %while.body.i.i311.i ], [ %cond.i.i.i, %if.end38.i.i.i ] br i1 %cmp36.not.not.i.i.i, label %while.cond.i.i.i, label %while.end.i.i.i while.end.i.i.i: ; preds = %cleanup.i.i.i, %land.rhs.i.i310.i, %while.cond.i.i.i %error_val.4.i.i.i = phi i32 [ %error_val.3.i.i.i, %cleanup.i.i.i ], [ %error_val.0.i.i.i, %land.rhs.i.i310.i ], [ %error_val.0.i.i.i, %while.cond.i.i.i ] %src_cur.4.i.i.i = phi i64 [ %src_cur.3.i.i.i, %cleanup.i.i.i ], [ %src_cur.2.i.i.i, %land.rhs.i.i310.i ], [ -1, %while.cond.i.i.i ] %is_number.2.off0.i.i.i = phi i1 [ %is_number.1.off0.i.i.i, %cleanup.i.i.i ], [ %is_number.0.off0.i.i.i, %land.rhs.i.i310.i ], [ %is_number.0.off0.i.i.i, %while.cond.i.i.i ] %result.4.i.i.i = phi i64 [ %result.3.i.i.i, %cleanup.i.i.i ], [ %result.0.i.i.i, %land.rhs.i.i310.i ], [ %result.0.i.i.i, %while.cond.i.i.i ] %cond56.i.i.i = select i1 %is_number.2.off0.i.i.i, i64 %src_cur.4.i.i.i, i64 0 %cmp57.i.i.i = icmp eq i32 %error_val.4.i.i.i, 34 %conv67.i.i.i = trunc i64 %result.4.i.i.i to i32 %sub70.i.i.i = sub i32 0, %conv67.i.i.i %cond72.i.i.i = select i1 %result_sign.0.i.i.i, i32 %conv67.i.i.i, i32 %sub70.i.i.i %..i.i.i = select i1 %result_sign.0.i.i.i, i32 2147483647, i32 -2147483648 %retval.sroa.0.0.i.i.i = select i1 %cmp57.i.i.i, i32 %..i.i.i, i32 %cond72.i.i.i %add26.i.i = add i64 %cond56.i.i.i, %storemerge.i.i store i64 %add26.i.i, ptr %0, align 8, !tbaa !57 %.sroa.speculated.i.i = call i32 @llvm.smax.i32(i32 %retval.sroa.0.0.i.i.i, i32 0) %conv30.i.i = zext nneg i32 %.sroa.speculated.i.i to i64 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i sw.bb34.i.i: ; preds = %if.end82.i %add36.i.i = add i64 %32, 1 %arrayidx37.i.i = getelementptr inbounds i8, ptr %3, i64 %add36.i.i %42 = load i8, ptr %arrayidx37.i.i, align 1, !tbaa !26 %cmp39.i.i = icmp eq i8 %42, 104 br i1 %cmp39.i.i, label %if.then40.i.i, label %if.else44.i.i if.then40.i.i: ; preds = %sw.bb34.i.i %add41.i.i = add i64 %32, 2 store i64 %add41.i.i, ptr %0, align 8, !tbaa !57 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i if.else44.i.i: ; preds = %sw.bb34.i.i store i64 %add36.i.i, ptr %0, align 8, !tbaa !57 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i sw.bb48.i.i: ; preds = %if.end82.i %inc49.i.i = add i64 %32, 1 store i64 %inc49.i.i, ptr %0, align 8, !tbaa !57 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i sw.bb52.i.i: ; preds = %if.end82.i %inc53.i.i = add i64 %32, 1 store i64 %inc53.i.i, ptr %0, align 8, !tbaa !57 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i sw.bb56.i.i: ; preds = %if.end82.i %inc57.i.i = add i64 %32, 1 store i64 %inc57.i.i, ptr %0, align 8, !tbaa !57 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i sw.bb60.i.i: ; preds = %if.end82.i %inc61.i.i = add i64 %32, 1 store i64 %inc61.i.i, ptr %0, align 8, !tbaa !57 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i _ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i: ; preds = %sw.bb60.i.i, %sw.bb56.i.i, %sw.bb52.i.i, %sw.bb48.i.i, %if.else44.i.i, %if.then40.i.i, %while.end.i.i.i, %sw.bb8.i308.i, %if.else.i.i, %if.then.i314.i, %if.end82.i %43 = phi i64 [ %inc61.i.i, %sw.bb60.i.i ], [ %inc57.i.i, %sw.bb56.i.i ], [ %inc53.i.i, %sw.bb52.i.i ], [ %inc49.i.i, %sw.bb48.i.i ], [ %add41.i.i, %if.then40.i.i ], [ %add36.i.i, %if.else44.i.i ], [ %add5.i.i, %if.then.i314.i ], [ %add.i.i, %if.else.i.i ], [ %storemerge.i.i, %sw.bb8.i308.i ], [ %add26.i.i, %while.end.i.i.i ], [ %32, %if.end82.i ] %retval.sroa.0.1.i.i = phi i32 [ 6, %sw.bb60.i.i ], [ 5, %sw.bb56.i.i ], [ 4, %sw.bb52.i.i ], [ 7, %sw.bb48.i.i ], [ 0, %if.then40.i.i ], [ 1, %if.else44.i.i ], [ 3, %if.then.i314.i ], [ 2, %if.else.i.i ], [ %lm9.0.i.i, %sw.bb8.i308.i ], [ %lm9.0.i.i, %while.end.i.i.i ], [ 10, %if.end82.i ] %retval.sroa.12.1.i.i = phi i64 [ 0, %sw.bb60.i.i ], [ 0, %sw.bb56.i.i ], [ 0, %sw.bb52.i.i ], [ 0, %sw.bb48.i.i ], [ 0, %if.then40.i.i ], [ 0, %if.else44.i.i ], [ 0, %if.then.i314.i ], [ 0, %if.else.i.i ], [ 0, %sw.bb8.i308.i ], [ %conv30.i.i, %while.end.i.i.i ], [ 0, %if.end82.i ] %arrayidx87.i = getelementptr inbounds i8, ptr %3, i64 %43 %44 = load i8, ptr %arrayidx87.i, align 1, !tbaa !26 switch i8 %44, label %sw.default.i [ i8 37, label %sw.epilog181.i i8 99, label %sw.bb94.i i8 100, label %sw.bb99.i i8 105, label %sw.bb99.i i8 111, label %sw.bb99.i i8 120, label %sw.bb99.i i8 88, label %sw.bb99.i i8 117, label %sw.bb99.i i8 98, label %sw.bb99.i i8 66, label %sw.bb99.i i8 112, label %sw.bb171.i i8 115, label %sw.bb175.i ] sw.bb94.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i %argp.cur.i.i316.i = load ptr, ptr %1, align 8 %45 = getelementptr inbounds i8, ptr %argp.cur.i.i316.i, i64 3 %argp.cur.aligned.i.i317.i = call align 4 ptr @llvm.ptrmask.p0.i64(ptr nonnull %45, i64 -4) %argp.next.i.i318.i = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i317.i, i64 4 store ptr %argp.next.i.i318.i, ptr %1, align 8 %46 = load i32, ptr %argp.cur.aligned.i.i317.i, align 4, !tbaa !74 %conv98.i = sext i32 %46 to i64 br label %sw.epilog181.i sw.bb99.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i switch i32 %retval.sroa.0.1.i.i, label %default.unreachable [ i32 0, label %sw.bb101.i i32 1, label %sw.bb101.i i32 10, label %sw.bb101.i i32 2, label %sw.bb107.i i32 3, label %sw.bb112.i i32 7, label %sw.bb112.i i32 4, label %sw.bb117.i i32 5, label %sw.bb122.i i32 6, label %sw.bb127.i i32 8, label %sw.bb132.i i32 9, label %sw.bb132.i ] sw.bb101.i: ; preds = %sw.bb99.i, %sw.bb99.i, %sw.bb99.i %argp.cur.i.i320.i = load ptr, ptr %1, align 8 %47 = getelementptr inbounds i8, ptr %argp.cur.i.i320.i, i64 3 %argp.cur.aligned.i.i321.i = call align 4 ptr @llvm.ptrmask.p0.i64(ptr nonnull %47, i64 -4) %argp.next.i.i322.i = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i321.i, i64 4 store ptr %argp.next.i.i322.i, ptr %1, align 8 %48 = load i32, ptr %argp.cur.aligned.i.i321.i, align 4, !tbaa !74 %conv105.i = sext i32 %48 to i64 br label %sw.epilog181.i sw.bb107.i: ; preds = %sw.bb99.i %argp.cur.i.i324.i = load ptr, ptr %1, align 8 %49 = getelementptr inbounds i8, ptr %argp.cur.i.i324.i, i64 7 %argp.cur.aligned.i.i325.i = call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %49, i64 -8) %argp.next.i.i326.i = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i325.i, i64 8 store ptr %argp.next.i.i326.i, ptr %1, align 8 %50 = load i64, ptr %argp.cur.aligned.i.i325.i, align 8, !tbaa !57 br label %sw.epilog181.i sw.bb112.i: ; preds = %sw.bb99.i, %sw.bb99.i %argp.cur.i.i328.i = load ptr, ptr %1, align 8 %51 = getelementptr inbounds i8, ptr %argp.cur.i.i328.i, i64 7 %argp.cur.aligned.i.i329.i = call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %51, i64 -8) %argp.next.i.i330.i = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i329.i, i64 8 store ptr %argp.next.i.i330.i, ptr %1, align 8 %52 = load i64, ptr %argp.cur.aligned.i.i329.i, align 8, !tbaa !42 br label %sw.epilog181.i sw.bb117.i: ; preds = %sw.bb99.i %argp.cur.i.i332.i = load ptr, ptr %1, align 8 %53 = getelementptr inbounds i8, ptr %argp.cur.i.i332.i, i64 7 %argp.cur.aligned.i.i333.i = call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %53, i64 -8) %argp.next.i.i334.i = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i333.i, i64 8 store ptr %argp.next.i.i334.i, ptr %1, align 8 %54 = load i64, ptr %argp.cur.aligned.i.i333.i, align 8, !tbaa !42 br label %sw.epilog181.i sw.bb122.i: ; preds = %sw.bb99.i %argp.cur.i.i336.i = load ptr, ptr %1, align 8 %55 = getelementptr inbounds i8, ptr %argp.cur.i.i336.i, i64 7 %argp.cur.aligned.i.i337.i = call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %55, i64 -8) %argp.next.i.i338.i = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i337.i, i64 8 store ptr %argp.next.i.i338.i, ptr %1, align 8 %56 = load i64, ptr %argp.cur.aligned.i.i337.i, align 8, !tbaa !57 br label %sw.epilog181.i sw.bb127.i: ; preds = %sw.bb99.i %argp.cur.i.i340.i = load ptr, ptr %1, align 8 %57 = getelementptr inbounds i8, ptr %argp.cur.i.i340.i, i64 7 %argp.cur.aligned.i.i341.i = call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %57, i64 -8) %argp.next.i.i342.i = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i341.i, i64 8 store ptr %argp.next.i.i342.i, ptr %1, align 8 %58 = load i64, ptr %argp.cur.aligned.i.i341.i, align 8, !tbaa !57 br label %sw.epilog181.i sw.bb132.i: ; preds = %sw.bb99.i, %sw.bb99.i %cmp134.i = icmp eq i64 %retval.sroa.12.1.i.i, 0 br i1 %cmp134.i, label %sw.epilog181.i, label %if.else137.i if.else137.i: ; preds = %sw.bb132.i %cmp139.i = icmp ult i64 %retval.sroa.12.1.i.i, 33 %argp.cur.i.i344.i = load ptr, ptr %1, align 8 br i1 %cmp139.i, label %if.then140.i, label %if.else146.i if.then140.i: ; preds = %if.else137.i %59 = getelementptr inbounds i8, ptr %argp.cur.i.i344.i, i64 3 %argp.cur.aligned.i.i345.i = call align 4 ptr @llvm.ptrmask.p0.i64(ptr nonnull %59, i64 -4) %argp.next.i.i346.i = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i345.i, i64 4 store ptr %argp.next.i.i346.i, ptr %1, align 8 %60 = load i32, ptr %argp.cur.aligned.i.i345.i, align 4, !tbaa !74 %conv144.i = sext i32 %60 to i64 br label %sw.epilog181.i if.else146.i: ; preds = %if.else137.i %61 = getelementptr inbounds i8, ptr %argp.cur.i.i344.i, i64 7 %argp.cur.aligned.i.i349.i = call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %61, i64 -8) %argp.next.i.i350.i = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i349.i, i64 8 store ptr %argp.next.i.i350.i, ptr %1, align 8 %62 = load i64, ptr %argp.cur.aligned.i.i349.i, align 8, !tbaa !26 br label %sw.epilog181.i sw.bb171.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i %argp.cur.i.i356.i = load ptr, ptr %1, align 8 %63 = getelementptr inbounds i8, ptr %argp.cur.i.i356.i, i64 7 %argp.cur.aligned.i.i357.i = call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %63, i64 -8) %argp.next.i.i358.i = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i357.i, i64 8 store ptr %argp.next.i.i358.i, ptr %1, align 8 %64 = load ptr, ptr %argp.cur.aligned.i.i357.i, align 8, !tbaa !11 br label %sw.epilog181.i sw.bb175.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i %argp.cur.i.i360.i = load ptr, ptr %1, align 8 %65 = getelementptr inbounds i8, ptr %argp.cur.i.i360.i, i64 7 %argp.cur.aligned.i.i361.i = call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %65, i64 -8) %argp.next.i.i362.i = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i361.i, i64 8 store ptr %argp.next.i.i362.i, ptr %1, align 8 %66 = load ptr, ptr %argp.cur.aligned.i.i361.i, align 8, !tbaa !11 br label %sw.epilog181.i sw.default.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i br label %sw.epilog181.i default.unreachable: ; preds = %sw.bb99.i176, %if.end11.i.i, %sw.bb99.i unreachable sw.epilog181.i: ; preds = %sw.default.i, %sw.bb175.i, %sw.bb171.i, %if.else146.i, %if.then140.i, %sw.bb132.i, %sw.bb127.i, %sw.bb122.i, %sw.bb117.i, %sw.bb112.i, %sw.bb107.i, %sw.bb101.i, %sw.bb94.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i %retval.sroa.58.0.i = phi ptr [ inttoptr (i64 -6148914691236517206 to ptr), %sw.default.i ], [ %66, %sw.bb175.i ], [ %64, %sw.bb171.i ], [ inttoptr (i64 -6148914691236517206 to ptr), %if.then140.i ], [ inttoptr (i64 -6148914691236517206 to ptr), %sw.bb127.i ], [ inttoptr (i64 -6148914691236517206 to ptr), %sw.bb122.i ], [ inttoptr (i64 -6148914691236517206 to ptr), %sw.bb117.i ], [ inttoptr (i64 -6148914691236517206 to ptr), %sw.bb112.i ], [ inttoptr (i64 -6148914691236517206 to ptr), %sw.bb107.i ], [ inttoptr (i64 -6148914691236517206 to ptr), %sw.bb101.i ], [ inttoptr (i64 -6148914691236517206 to ptr), %sw.bb94.i ], [ inttoptr (i64 -6148914691236517206 to ptr), %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i ], [ inttoptr (i64 -6148914691236517206 to ptr), %sw.bb132.i ], [ inttoptr (i64 -6148914691236517206 to ptr), %if.else146.i ] %retval.sroa.47.0.i = phi i64 [ -6148914691236517206, %sw.default.i ], [ -6148914691236517206, %sw.bb175.i ], [ -6148914691236517206, %sw.bb171.i ], [ %conv144.i, %if.then140.i ], [ %58, %sw.bb127.i ], [ %56, %sw.bb122.i ], [ %54, %sw.bb117.i ], [ %52, %sw.bb112.i ], [ %50, %sw.bb107.i ], [ %conv105.i, %sw.bb101.i ], [ %conv98.i, %sw.bb94.i ], [ -6148914691236517206, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i ], [ -6148914691236517206, %sw.bb132.i ], [ %62, %if.else146.i ] %retval.sroa.0.0.i.off0 = phi i1 [ false, %sw.default.i ], [ true, %sw.bb175.i ], [ true, %sw.bb171.i ], [ true, %if.then140.i ], [ true, %sw.bb127.i ], [ true, %sw.bb122.i ], [ true, %sw.bb117.i ], [ true, %sw.bb112.i ], [ true, %sw.bb107.i ], [ true, %sw.bb101.i ], [ true, %sw.bb94.i ], [ true, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i ], [ false, %sw.bb132.i ], [ true, %if.else146.i ] %67 = load i8, ptr %arrayidx87.i, align 1, !tbaa !26 %cmp186.not.i = icmp eq i8 %67, 0 br i1 %cmp186.not.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit, label %if.then187.i if.then187.i: ; preds = %sw.epilog181.i %inc189.i = add i64 %43, 1 store i64 %inc189.i, ptr %0, align 8, !tbaa !72 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit while.cond.i: ; preds = %while.body.i, %entry %68 = phi i8 [ %.pre.i, %while.body.i ], [ %4, %entry ] %69 = phi i64 [ %inc204.i, %while.body.i ], [ %2, %entry ] switch i8 %68, label %while.body.i [ i8 37, label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit i8 0, label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit ] while.body.i: ; preds = %while.cond.i %inc204.i = add i64 %69, 1 store i64 %inc204.i, ptr %0, align 8, !tbaa !72 %arrayidx195.phi.trans.insert.i = getelementptr inbounds i8, ptr %3, i64 %inc204.i %.pre.i = load i8, ptr %arrayidx195.phi.trans.insert.i, align 1, !tbaa !26 br label %while.cond.i, !llvm.loop !86 _ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit: ; preds = %while.cond.i, %while.cond.i, %if.then187.i, %sw.epilog181.i %70 = phi i64 [ %43, %sw.epilog181.i ], [ %inc189.i, %if.then187.i ], [ %69, %while.cond.i ], [ %69, %while.cond.i ] %retval.sroa.61.0.i = phi i8 [ %44, %sw.epilog181.i ], [ %44, %if.then187.i ], [ -86, %while.cond.i ], [ -86, %while.cond.i ] %retval.sroa.58.1.i = phi ptr [ %retval.sroa.58.0.i, %sw.epilog181.i ], [ %retval.sroa.58.0.i, %if.then187.i ], [ inttoptr (i64 -6148914691236517206 to ptr), %while.cond.i ], [ inttoptr (i64 -6148914691236517206 to ptr), %while.cond.i ] %retval.sroa.47.1.i = phi i64 [ %retval.sroa.47.0.i, %sw.epilog181.i ], [ %retval.sroa.47.0.i, %if.then187.i ], [ -6148914691236517206, %while.cond.i ], [ -6148914691236517206, %while.cond.i ] %retval.sroa.41.1.i = phi i32 [ %retval.sroa.41.0.i, %sw.epilog181.i ], [ %retval.sroa.41.0.i, %if.then187.i ], [ -1, %while.cond.i ], [ -1, %while.cond.i ] %retval.sroa.34.2.i = phi i32 [ %spec.select.i, %sw.epilog181.i ], [ %spec.select.i, %if.then187.i ], [ 0, %while.cond.i ], [ 0, %while.cond.i ] %retval.sroa.31.0.i = phi i64 [ %retval.sroa.12.1.i.i, %sw.epilog181.i ], [ %retval.sroa.12.1.i.i, %if.then187.i ], [ 0, %while.cond.i ], [ 0, %while.cond.i ] %retval.sroa.28.0.i = phi i32 [ %retval.sroa.0.1.i.i, %sw.epilog181.i ], [ %retval.sroa.0.1.i.i, %if.then187.i ], [ 10, %while.cond.i ], [ 10, %while.cond.i ] %retval.sroa.20.1.i = phi i8 [ %spec.select365.i, %sw.epilog181.i ], [ %spec.select365.i, %if.then187.i ], [ 0, %while.cond.i ], [ 0, %while.cond.i ] %retval.sroa.0.1.i.off0 = phi i1 [ %retval.sroa.0.0.i.off0, %sw.epilog181.i ], [ %retval.sroa.0.0.i.off0, %if.then187.i ], [ false, %while.cond.i ], [ false, %while.cond.i ] %sub210.i = sub i64 %70, %2 %cmp.i71518 = icmp eq i64 %sub210.i, 0 br i1 %cmp.i71518, label %cleanup9, label %for.body.lr.ph for.body.lr.ph: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit %chars_written.i = getelementptr inbounds i8, ptr %writer, i64 8 %agg.tmp72.sroa.5.0.agg.tmp20.i.sroa_idx = getelementptr inbounds i8, ptr %agg.tmp20.i, i64 8 %Len.i.i.i.i = getelementptr inbounds i8, ptr %agg.tmp.i.i, i64 8 %71 = getelementptr inbounds i8, ptr %buf.i.i.i, i64 64 %arrayidx.i.i.i.i292.i.i.i.i = getelementptr inbounds i8, ptr %buf.i.i.i, i64 63 %72 = getelementptr inbounds i8, ptr %prefix.i.i.i, i64 1 %agg.tmp133338.sroa.5.0.agg.tmp20.i.sroa_idx.i.i.i = getelementptr inbounds i8, ptr %agg.tmp20.i.i12.i.i, i64 8 %Len.i.i.i.i.i38.i.i = getelementptr inbounds i8, ptr %agg.tmp.i.i.i11.i.i, i64 8 %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i886.i = getelementptr inbounds i8, ptr %agg.tmp35.i875.i, i64 8 %Len.i.i.i.i887.i = getelementptr inbounds i8, ptr %agg.tmp.i.i874.i, i64 8 %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i895.i = getelementptr inbounds i8, ptr %agg.tmp1939.i873.i, i64 8 %Len.i.i.i47.i902.i = getelementptr inbounds i8, ptr %agg.tmp.i40.i872.i, i64 8 %agg.tmp154353.sroa.5.0.agg.tmp20.i355.sroa_idx.i.i.i = getelementptr inbounds i8, ptr %agg.tmp20.i355.i.i.i, i64 8 %Len.i.i.i.i375.i.i.i = getelementptr inbounds i8, ptr %agg.tmp.i.i354.i.i.i, i64 8 %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i971.i = getelementptr inbounds i8, ptr %agg.tmp35.i960.i, i64 8 %Len.i.i.i.i972.i = getelementptr inbounds i8, ptr %agg.tmp.i.i959.i, i64 8 %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i980.i = getelementptr inbounds i8, ptr %agg.tmp1939.i958.i, i64 8 %Len.i.i.i47.i987.i = getelementptr inbounds i8, ptr %agg.tmp.i40.i957.i, i64 8 %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i1056.i = getelementptr inbounds i8, ptr %agg.tmp35.i1045.i, i64 8 %Len.i.i.i.i1057.i = getelementptr inbounds i8, ptr %agg.tmp.i.i1044.i, i64 8 %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i1065.i = getelementptr inbounds i8, ptr %agg.tmp1939.i1043.i, i64 8 %Len.i.i.i47.i1072.i = getelementptr inbounds i8, ptr %agg.tmp.i40.i1042.i, i64 8 %agg.tmp192430.sroa.5.0.agg.tmp20.i432.sroa_idx.i.i.i = getelementptr inbounds i8, ptr %agg.tmp20.i432.i.i.i, i64 8 %Len.i.i.i.i452.i.i.i = getelementptr inbounds i8, ptr %agg.tmp.i.i431.i.i.i, i64 8 %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i1141.i = getelementptr inbounds i8, ptr %agg.tmp35.i1130.i, i64 8 %Len.i.i.i.i1142.i = getelementptr inbounds i8, ptr %agg.tmp.i.i1129.i, i64 8 %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i1150.i = getelementptr inbounds i8, ptr %agg.tmp1939.i1128.i, i64 8 %Len.i.i.i47.i1157.i = getelementptr inbounds i8, ptr %agg.tmp.i40.i1127.i, i64 8 %agg.tmp217491.sroa.5.0.agg.tmp20.i493.sroa_idx.i.i.i = getelementptr inbounds i8, ptr %agg.tmp20.i493.i.i.i, i64 8 %Len.i.i.i.i513.i.i.i = getelementptr inbounds i8, ptr %agg.tmp.i.i492.i.i.i, i64 8 %73 = getelementptr inbounds i8, ptr %NULLPTR_STR.i.i, i64 4 %74 = getelementptr inbounds i8, ptr %NULLPTR_STR.i.i, i64 8 %75 = getelementptr inbounds i8, ptr %NULLPTR_STR.i.i, i64 9 %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i716.i = getelementptr inbounds i8, ptr %agg.tmp35.i705.i, i64 8 %Len.i.i.i.i717.i = getelementptr inbounds i8, ptr %agg.tmp.i.i704.i, i64 8 %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i725.i = getelementptr inbounds i8, ptr %agg.tmp1939.i703.i, i64 8 %Len.i.i.i47.i732.i = getelementptr inbounds i8, ptr %agg.tmp.i40.i702.i, i64 8 %agg.tmp76.sroa.5.0.agg.tmp20.i.sroa_idx.i.i.i = getelementptr inbounds i8, ptr %agg.tmp20.i.i.i.i, i64 8 %Len.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %agg.tmp.i.i.i.i.i, i64 8 %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i801.i = getelementptr inbounds i8, ptr %agg.tmp35.i790.i, i64 8 %Len.i.i.i.i802.i = getelementptr inbounds i8, ptr %agg.tmp.i.i789.i, i64 8 %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i810.i = getelementptr inbounds i8, ptr %agg.tmp1939.i788.i, i64 8 %Len.i.i.i47.i817.i = getelementptr inbounds i8, ptr %agg.tmp.i40.i787.i, i64 8 %76 = getelementptr inbounds i8, ptr %buf.i.i, i64 64 %arrayidx.i.i.i.i292.i.i.i = getelementptr inbounds i8, ptr %buf.i.i, i64 63 %77 = getelementptr inbounds i8, ptr %prefix.i.i, i64 1 %agg.tmp133338.sroa.5.0.agg.tmp20.i.sroa_idx.i.i = getelementptr inbounds i8, ptr %agg.tmp20.i.i126.i, i64 8 %Len.i.i.i.i.i156.i = getelementptr inbounds i8, ptr %agg.tmp.i.i.i125.i, i64 8 %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i376.i = getelementptr inbounds i8, ptr %agg.tmp35.i365.i, i64 8 %Len.i.i.i.i377.i = getelementptr inbounds i8, ptr %agg.tmp.i.i364.i, i64 8 %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i385.i = getelementptr inbounds i8, ptr %agg.tmp1939.i363.i, i64 8 %Len.i.i.i47.i392.i = getelementptr inbounds i8, ptr %agg.tmp.i40.i362.i, i64 8 %agg.tmp154353.sroa.5.0.agg.tmp20.i355.sroa_idx.i.i = getelementptr inbounds i8, ptr %agg.tmp20.i355.i.i, i64 8 %Len.i.i.i.i375.i.i = getelementptr inbounds i8, ptr %agg.tmp.i.i354.i.i, i64 8 %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i461.i = getelementptr inbounds i8, ptr %agg.tmp35.i450.i, i64 8 %Len.i.i.i.i462.i = getelementptr inbounds i8, ptr %agg.tmp.i.i449.i, i64 8 %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i470.i = getelementptr inbounds i8, ptr %agg.tmp1939.i448.i, i64 8 %Len.i.i.i47.i477.i = getelementptr inbounds i8, ptr %agg.tmp.i40.i447.i, i64 8 %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i546.i = getelementptr inbounds i8, ptr %agg.tmp35.i535.i, i64 8 %Len.i.i.i.i547.i = getelementptr inbounds i8, ptr %agg.tmp.i.i534.i, i64 8 %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i555.i = getelementptr inbounds i8, ptr %agg.tmp1939.i533.i, i64 8 %Len.i.i.i47.i562.i = getelementptr inbounds i8, ptr %agg.tmp.i40.i532.i, i64 8 %agg.tmp192430.sroa.5.0.agg.tmp20.i432.sroa_idx.i.i = getelementptr inbounds i8, ptr %agg.tmp20.i432.i.i, i64 8 %Len.i.i.i.i452.i.i = getelementptr inbounds i8, ptr %agg.tmp.i.i431.i.i, i64 8 %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i631.i = getelementptr inbounds i8, ptr %agg.tmp35.i620.i, i64 8 %Len.i.i.i.i632.i = getelementptr inbounds i8, ptr %agg.tmp.i.i619.i, i64 8 %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i640.i = getelementptr inbounds i8, ptr %agg.tmp1939.i618.i, i64 8 %Len.i.i.i47.i647.i = getelementptr inbounds i8, ptr %agg.tmp.i40.i617.i, i64 8 %agg.tmp217491.sroa.5.0.agg.tmp20.i493.sroa_idx.i.i = getelementptr inbounds i8, ptr %agg.tmp20.i493.i.i, i64 8 %Len.i.i.i.i513.i.i = getelementptr inbounds i8, ptr %agg.tmp.i.i492.i.i, i64 8 %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i206.i = getelementptr inbounds i8, ptr %agg.tmp35.i195.i, i64 8 %Len.i.i.i.i207.i = getelementptr inbounds i8, ptr %agg.tmp.i.i194.i, i64 8 %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i215.i = getelementptr inbounds i8, ptr %agg.tmp1939.i193.i, i64 8 %Len.i.i.i47.i222.i = getelementptr inbounds i8, ptr %agg.tmp.i40.i192.i, i64 8 %agg.tmp76.sroa.5.0.agg.tmp20.i.sroa_idx.i.i = getelementptr inbounds i8, ptr %agg.tmp20.i.i.i, i64 8 %Len.i.i.i.i.i94.i = getelementptr inbounds i8, ptr %agg.tmp.i.i.i81.i, i64 8 %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i291.i = getelementptr inbounds i8, ptr %agg.tmp35.i280.i, i64 8 %Len.i.i.i.i292.i = getelementptr inbounds i8, ptr %agg.tmp.i.i279.i, i64 8 %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i300.i = getelementptr inbounds i8, ptr %agg.tmp1939.i278.i, i64 8 %Len.i.i.i47.i307.i = getelementptr inbounds i8, ptr %agg.tmp.i40.i277.i, i64 8 %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i.i = getelementptr inbounds i8, ptr %agg.tmp35.i.i, i64 8 %Len.i.i.i.i77.i = getelementptr inbounds i8, ptr %agg.tmp.i.i68.i, i64 8 %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i.i = getelementptr inbounds i8, ptr %agg.tmp1939.i.i, i64 8 %Len.i.i.i47.i.i = getelementptr inbounds i8, ptr %agg.tmp.i40.i.i, i64 8 %agg.tmp.sroa.2.0.agg.tmp12.sroa_idx.i.i.i = getelementptr inbounds i8, ptr %agg.tmp12.i.i.i, i64 8 %Len.i.i.i.i.i.i = getelementptr inbounds i8, ptr %agg.tmp.i.i.i.i, i64 8 %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i120.i = getelementptr inbounds i8, ptr %agg.tmp35.i109.i, i64 8 %Len.i.i.i.i121.i = getelementptr inbounds i8, ptr %agg.tmp.i.i108.i, i64 8 %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i129.i = getelementptr inbounds i8, ptr %agg.tmp1939.i107.i, i64 8 %Len.i.i.i47.i136.i = getelementptr inbounds i8, ptr %agg.tmp.i40.i106.i, i64 8 %agg.tmp129.sroa.5.0.agg.tmp20.i31.sroa_idx.i = getelementptr inbounds i8, ptr %agg.tmp20.i31.i, i64 8 %Len.i.i.i.i51.i = getelementptr inbounds i8, ptr %agg.tmp.i.i30.i, i64 8 %agg.tmp11195.sroa.5.0.agg.tmp20.i197.sroa_idx.i = getelementptr inbounds i8, ptr %agg.tmp20.i197.i, i64 8 %Len.i.i.i.i217.i = getelementptr inbounds i8, ptr %agg.tmp.i.i196.i, i64 8 br label %for.body for.body: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491, %for.body.lr.ph %cur_section.sroa.0.0.off0 = phi i1 [ %retval.sroa.0.1.i.off0, %for.body.lr.ph ], [ %retval.sroa.0.1.i92.off0, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491 ] %cur_section.sroa.14.0 = phi ptr [ %arrayidx.i, %for.body.lr.ph ], [ %arrayidx.i81, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491 ] %cur_section.sroa.18.0 = phi i64 [ %sub210.i, %for.body.lr.ph ], [ %sub210.i93, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491 ] %cur_section.sroa.22.0 = phi i8 [ %retval.sroa.20.1.i, %for.body.lr.ph ], [ %retval.sroa.20.1.i91, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491 ] %cur_section.sroa.36.0 = phi i32 [ %retval.sroa.28.0.i, %for.body.lr.ph ], [ %retval.sroa.28.0.i90, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491 ] %cur_section.sroa.39.0 = phi i64 [ %retval.sroa.31.0.i, %for.body.lr.ph ], [ %retval.sroa.31.0.i89, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491 ] %cur_section.sroa.42.0 = phi i32 [ %retval.sroa.34.2.i, %for.body.lr.ph ], [ %retval.sroa.34.2.i88, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491 ] %cur_section.sroa.49.0 = phi i32 [ %retval.sroa.41.1.i, %for.body.lr.ph ], [ %retval.sroa.41.1.i87, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491 ] %cur_section.sroa.54.0 = phi i64 [ %retval.sroa.47.1.i, %for.body.lr.ph ], [ %retval.sroa.47.1.i86, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491 ] %cur_section.sroa.58.0 = phi ptr [ %retval.sroa.58.1.i, %for.body.lr.ph ], [ %retval.sroa.58.1.i85, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491 ] %cur_section.sroa.62.0 = phi i8 [ %retval.sroa.61.0.i, %for.body.lr.ph ], [ %retval.sroa.61.0.i84, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491 ] br i1 %cur_section.sroa.0.0.off0, label %if.end.i9, label %if.else if.end.i9: ; preds = %for.body switch i8 %cur_section.sroa.62.0, label %sw.default.i28 [ i8 37, label %for.cond.i.i.i.preheader.i i8 99, label %sw.bb3.i i8 115, label %sw.bb5.i i8 100, label %sw.bb7.i i8 105, label %sw.bb7.i i8 117, label %sw.bb7.i i8 111, label %sw.bb7.i i8 120, label %sw.bb7.i i8 88, label %sw.bb7.i i8 98, label %sw.bb7.i i8 66, label %sw.bb7.i i8 112, label %sw.bb9.i ] for.cond.i.i.i.preheader.i: ; preds = %if.end.i9 %78 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i35.i = add nsw i32 %78, 1 store i32 %add.i35.i, ptr %chars_written.i, align 8, !tbaa !25 %79 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i36.i = getelementptr inbounds i8, ptr %79, i64 16 %80 = load i64, ptr %buff_cur.i36.i, align 8, !tbaa !19 %add3.i37.i = add i64 %80, 1 %buff_len.i38.i = getelementptr inbounds i8, ptr %79, i64 8 %81 = load i64, ptr %buff_len.i38.i, align 8, !tbaa !18 %cmp.not.i39.i = icmp ugt i64 %add3.i37.i, %81 br i1 %cmp.not.i39.i, label %if.end.i45.i, label %if.then.i40.i if.then.i40.i: ; preds = %for.cond.i.i.i.preheader.i %82 = load ptr, ptr %79, align 8, !tbaa !15 %add.ptr.i41.i = getelementptr inbounds i8, ptr %82, i64 %80 store i8 37, ptr %add.ptr.i41.i, align 1, !alias.scope !87 %83 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur13.i42.i = getelementptr inbounds i8, ptr %83, i64 16 %84 = load i64, ptr %buff_cur13.i42.i, align 8, !tbaa !19 %add14.i43.i = add i64 %84, 1 store i64 %add14.i43.i, ptr %buff_cur13.i42.i, align 8, !tbaa !19 br label %if.end if.end.i45.i: ; preds = %for.cond.i.i.i.preheader.i call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp20.i31.i) store ptr @.str15, ptr %agg.tmp20.i31.i, align 8 store i64 1, ptr %agg.tmp129.sroa.5.0.agg.tmp20.i31.sroa_idx.i, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i30.i) %stream_writer.i.i46.i = getelementptr inbounds i8, ptr %79, i64 24 %85 = load ptr, ptr %stream_writer.i.i46.i, align 8, !tbaa !20 %cmp.not.i.i47.i = icmp eq ptr %85, null br i1 %cmp.not.i.i47.i, label %if.else.i.i66.i, label %if.then.i.i48.i if.then.i.i48.i: ; preds = %if.end.i45.i %cmp2.not.i.i49.i = icmp eq i64 %80, 0 br i1 %cmp2.not.i.i49.i, label %if.then12.i.i60.i, label %if.then3.i.i50.i if.then3.i.i50.i: ; preds = %if.then.i.i48.i %86 = load ptr, ptr %79, align 8, !tbaa !15 store ptr %86, ptr %agg.tmp.i.i30.i, align 8, !tbaa !91 store i64 %80, ptr %Len.i.i.i.i51.i, align 8, !tbaa !93 %output_target.i.i52.i = getelementptr inbounds i8, ptr %79, i64 32 %87 = load ptr, ptr %output_target.i.i52.i, align 8, !tbaa !21 %call.i.i53.i = call noundef i32 %85(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i30.i, ptr noundef %87) #19 %cmp7.i.i54.i = icmp sgt i32 %call.i.i53.i, -1 br i1 %cmp7.i.i54.i, label %if.then3.i.i50.i.if.then12.i.i60.i_crit_edge, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i55.i if.then3.i.i50.i.if.then12.i.i60.i_crit_edge: ; preds = %if.then3.i.i50.i %.pre91 = load ptr, ptr %stream_writer.i.i46.i, align 8, !tbaa !20 br label %if.then12.i.i60.i if.then12.i.i60.i: ; preds = %if.then3.i.i50.i.if.then12.i.i60.i_crit_edge, %if.then.i.i48.i %88 = phi ptr [ %.pre91, %if.then3.i.i50.i.if.then12.i.i60.i_crit_edge ], [ %85, %if.then.i.i48.i ] %output_target16.i.i61.i = getelementptr inbounds i8, ptr %79, i64 32 %89 = load ptr, ptr %output_target16.i.i61.i, align 8, !tbaa !21 %call17.i.i62.i = call noundef i32 %88(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp20.i31.i, ptr noundef %89) #19 %cmp18.i.i63.i = icmp sgt i32 %call17.i.i62.i, -1 br i1 %cmp18.i.i63.i, label %return.sink.split.i.i64.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i55.i if.else.i.i66.i: ; preds = %if.end.i45.i %cmp27.i.i67.i = icmp ult i64 %80, %81 br i1 %cmp27.i.i67.i, label %if.then28.i.i68.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i55.i if.then28.i.i68.i: ; preds = %if.else.i.i66.i %90 = load ptr, ptr %79, align 8, !tbaa !15 %add.ptr.i.i72.i = getelementptr inbounds i8, ptr %90, i64 %80 store i8 37, ptr %add.ptr.i.i72.i, align 1, !alias.scope !94 %91 = load i64, ptr %buff_cur.i36.i, align 8, !tbaa !19 %add.i.i73.i = add i64 %91, 1 br label %return.sink.split.i.i64.i return.sink.split.i.i64.i: ; preds = %if.then28.i.i68.i, %if.then12.i.i60.i %add.sink.i.i65.i = phi i64 [ %add.i.i73.i, %if.then28.i.i68.i ], [ 0, %if.then12.i.i60.i ] store i64 %add.sink.i.i65.i, ptr %buff_cur.i36.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i55.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i55.i: ; preds = %return.sink.split.i.i64.i, %if.else.i.i66.i, %if.then12.i.i60.i, %if.then3.i.i50.i %retval.3.i.i56.i = phi i32 [ %call.i.i53.i, %if.then3.i.i50.i ], [ %call17.i.i62.i, %if.then12.i.i60.i ], [ 0, %if.else.i.i66.i ], [ 0, %return.sink.split.i.i64.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp20.i31.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i30.i) br label %if.end sw.bb3.i: ; preds = %if.end.i9 %conv.i75.i = trunc i64 %cur_section.sroa.54.0 to i8 %narrow.i.i = call i32 @llvm.usub.sat.i32(i32 %cur_section.sroa.42.0, i32 1) %cond.i.i22 = zext nneg i32 %narrow.i.i to i64 %cmp3.not.i.i = icmp ult i32 %cur_section.sroa.42.0, 2 %92 = and i8 %cur_section.sroa.22.0, 1 %cmp5.i.i = icmp ne i8 %92, 0 %or.cond.not = select i1 %cmp3.not.i.i, i1 true, i1 %cmp5.i.i br i1 %or.cond.not, label %if.end8.i.i, label %if.then.i76.i if.then.i76.i: ; preds = %sw.bb3.i %93 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i.i77.i = add nsw i32 %93, %narrow.i.i store i32 %add.i.i77.i, ptr %chars_written.i, align 8, !tbaa !25 %94 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i.i.i = getelementptr inbounds i8, ptr %94, i64 16 %95 = load i64, ptr %buff_cur.i.i.i, align 8, !tbaa !19 %add2.i.i.i = add i64 %95, %cond.i.i22 %buff_len.i.i.i = getelementptr inbounds i8, ptr %94, i64 8 %96 = load i64, ptr %buff_len.i.i.i, align 8, !tbaa !18 %cmp.not.i.i78.i = icmp ugt i64 %add2.i.i.i, %96 br i1 %cmp.not.i.i78.i, label %if.end.i.i.i, label %if.then.i.i79.i if.then.i.i79.i: ; preds = %if.then.i76.i %97 = load ptr, ptr %94, align 8, !tbaa !15 %add.ptr.i.i80.i = getelementptr inbounds i8, ptr %97, i64 %95 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i.i80.i, i8 32, i64 %cond.i.i22, i1 false) %98 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur8.i.i.i = getelementptr inbounds i8, ptr %98, i64 16 %99 = load i64, ptr %buff_cur8.i.i.i, align 8, !tbaa !19 %add9.i.i.i = add i64 %99, %cond.i.i22 store i64 %add9.i.i.i, ptr %buff_cur8.i.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.i if.end.i.i.i: ; preds = %if.then.i76.i %sub.i71.i = sub i64 %96, %95 %cmp.not.i72.i = icmp eq i64 %sub.i71.i, 0 br i1 %cmp.not.i72.i, label %if.end.i76.i, label %if.then.i73.i if.then.i73.i: ; preds = %if.end.i.i.i %100 = load ptr, ptr %94, align 8, !tbaa !15 %add.ptr.i74.i = getelementptr inbounds i8, ptr %100, i64 %95 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i74.i, i8 32, i64 %sub.i71.i, i1 false) %101 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur7.i.i = getelementptr inbounds i8, ptr %101, i64 16 %102 = load i64, ptr %buff_cur7.i.i, align 8, !tbaa !19 %add.i75.i = add i64 %102, %sub.i71.i store i64 %add.i75.i, ptr %buff_cur7.i.i, align 8, !tbaa !19 br label %if.end.i76.i if.end.i76.i: ; preds = %if.then.i73.i, %if.end.i.i.i call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %mini_buff.i.i) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %mini_buff.i.i, i8 32, i64 64, i1 false) br label %while.cond.i.i25 while.cond.i.i25: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i86.i, %if.end.i76.i %written.1.i.i = phi i64 [ %sub.i71.i, %if.end.i76.i ], [ %add9.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i86.i ] %add9.i.i = add i64 %written.1.i.i, 64 %cmp10.i.i = icmp ult i64 %add9.i.i, %cond.i.i22 br i1 %cmp10.i.i, label %while.body.i.i27, label %while.end.i.i26 while.body.i.i27: ; preds = %while.cond.i.i25 %103 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp35.i.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i68.i) store ptr %mini_buff.i.i, ptr %agg.tmp35.i.i, align 8 store i64 64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i.i, align 8 %stream_writer.i.i78.i = getelementptr inbounds i8, ptr %103, i64 24 %104 = load ptr, ptr %stream_writer.i.i78.i, align 8, !tbaa !20 %cmp.not.i.i79.i = icmp eq ptr %104, null %buff_cur26.i.i.i = getelementptr inbounds i8, ptr %103, i64 16 %105 = load i64, ptr %buff_cur26.i.i.i, align 8, !tbaa !19 br i1 %cmp.not.i.i79.i, label %if.else.i.i98.i, label %if.then.i.i80.i if.then.i.i80.i: ; preds = %while.body.i.i27 %cmp2.not.i.i81.i = icmp eq i64 %105, 0 br i1 %cmp2.not.i.i81.i, label %if.end9.i.i90.i, label %if.then3.i.i82.i if.then3.i.i82.i: ; preds = %if.then.i.i80.i %106 = load ptr, ptr %103, align 8, !tbaa !15 store ptr %106, ptr %agg.tmp.i.i68.i, align 8, !tbaa !91 store i64 %105, ptr %Len.i.i.i.i77.i, align 8, !tbaa !93 %output_target.i.i83.i = getelementptr inbounds i8, ptr %103, i64 32 %107 = load ptr, ptr %output_target.i.i83.i, align 8, !tbaa !21 %call.i.i84.i = call noundef i32 %104(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i68.i, ptr noundef %107) #19 %cmp7.i.i85.i = icmp sgt i32 %call.i.i84.i, -1 br i1 %cmp7.i.i85.i, label %if.then3.i.if.end9.i_crit_edge.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i86.i if.then3.i.if.end9.i_crit_edge.i.i: ; preds = %if.then3.i.i82.i %.pre.i89.i = load i64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i.i, align 8, !tbaa !93 br label %if.end9.i.i90.i if.end9.i.i90.i: ; preds = %if.then3.i.if.end9.i_crit_edge.i.i, %if.then.i.i80.i %108 = phi i64 [ %.pre.i89.i, %if.then3.i.if.end9.i_crit_edge.i.i ], [ 64, %if.then.i.i80.i ] %cmp11.not.i.i91.i = icmp eq i64 %108, 0 br i1 %cmp11.not.i.i91.i, label %return.sink.split.i.i96.i, label %if.then12.i.i92.i if.then12.i.i92.i: ; preds = %if.end9.i.i90.i %109 = load ptr, ptr %stream_writer.i.i78.i, align 8, !tbaa !20 %output_target16.i.i93.i = getelementptr inbounds i8, ptr %103, i64 32 %110 = load ptr, ptr %output_target16.i.i93.i, align 8, !tbaa !21 %call17.i.i94.i = call noundef i32 %109(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp35.i.i, ptr noundef %110) #19 %cmp18.i.i95.i = icmp sgt i32 %call17.i.i94.i, -1 br i1 %cmp18.i.i95.i, label %return.sink.split.i.i96.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i86.i if.else.i.i98.i: ; preds = %while.body.i.i27 %buff_len.i.i99.i = getelementptr inbounds i8, ptr %103, i64 8 %111 = load i64, ptr %buff_len.i.i99.i, align 8, !tbaa !18 %cmp27.i.i100.i = icmp ult i64 %105, %111 br i1 %cmp27.i.i100.i, label %if.then28.i.i101.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i86.i if.then28.i.i101.i: ; preds = %if.else.i.i98.i %sub.i.i102.i = sub i64 %111, %105 %spec.select.i.i103.i = call i64 @llvm.umin.i64(i64 %sub.i.i102.i, i64 64) %112 = load ptr, ptr %103, align 8, !tbaa !15 %add.ptr.i.i104.i = getelementptr inbounds i8, ptr %112, i64 %105 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i104.i, ptr nonnull align 1 %mini_buff.i.i, i64 %spec.select.i.i103.i, i1 false), !alias.scope !98 %113 = load i64, ptr %buff_cur26.i.i.i, align 8, !tbaa !19 %add.i.i105.i = add i64 %113, %spec.select.i.i103.i br label %return.sink.split.i.i96.i return.sink.split.i.i96.i: ; preds = %if.then28.i.i101.i, %if.then12.i.i92.i, %if.end9.i.i90.i %add.sink.i.i97.i = phi i64 [ %add.i.i105.i, %if.then28.i.i101.i ], [ 0, %if.then12.i.i92.i ], [ 0, %if.end9.i.i90.i ] store i64 %add.sink.i.i97.i, ptr %buff_cur26.i.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i86.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i86.i: ; preds = %return.sink.split.i.i96.i, %if.else.i.i98.i, %if.then12.i.i92.i, %if.then3.i.i82.i %retval.3.i.i87.i = phi i32 [ %call.i.i84.i, %if.then3.i.i82.i ], [ %call17.i.i94.i, %if.then12.i.i92.i ], [ 0, %if.else.i.i98.i ], [ 0, %return.sink.split.i.i96.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp35.i.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i68.i) %cmp12.not.i88.i = icmp eq i32 %retval.3.i.i87.i, 0 br i1 %cmp12.not.i88.i, label %while.cond.i.i25, label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit.i, !llvm.loop !102 while.end.i.i26: ; preds = %while.cond.i.i25 %written.1.i.i.lcssa = phi i64 [ %written.1.i.i, %while.cond.i.i25 ] %sub16.i.i = sub i64 %cond.i.i22, %written.1.i.i.lcssa %cond.i6.i.i.i = call noundef i64 @llvm.umin.i64(i64 %sub16.i.i, i64 64) %114 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1939.i.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i40.i.i) store ptr %mini_buff.i.i, ptr %agg.tmp1939.i.i, align 8 store i64 %cond.i6.i.i.i, ptr %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i.i, align 8 %stream_writer.i41.i.i = getelementptr inbounds i8, ptr %114, i64 24 %115 = load ptr, ptr %stream_writer.i41.i.i, align 8, !tbaa !20 %cmp.not.i42.i.i = icmp eq ptr %115, null %buff_cur26.i43.i.i = getelementptr inbounds i8, ptr %114, i64 16 %116 = load i64, ptr %buff_cur26.i43.i.i, align 8, !tbaa !19 br i1 %cmp.not.i42.i.i, label %if.else.i61.i.i, label %if.then.i44.i.i if.then.i44.i.i: ; preds = %while.end.i.i26 %cmp2.not.i45.i.i = icmp eq i64 %116, 0 br i1 %cmp2.not.i45.i.i, label %if.end9.i52.i.i, label %if.then3.i46.i.i if.then3.i46.i.i: ; preds = %if.then.i44.i.i %117 = load ptr, ptr %114, align 8, !tbaa !15 store ptr %117, ptr %agg.tmp.i40.i.i, align 8, !tbaa !91 store i64 %116, ptr %Len.i.i.i47.i.i, align 8, !tbaa !93 %output_target.i48.i.i = getelementptr inbounds i8, ptr %114, i64 32 %118 = load ptr, ptr %output_target.i48.i.i, align 8, !tbaa !21 %call.i49.i.i = call noundef i32 %115(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i40.i.i, ptr noundef %118) #19 %cmp7.i50.i.i = icmp sgt i32 %call.i49.i.i, -1 br i1 %cmp7.i50.i.i, label %if.end9.i52.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i.i if.end9.i52.i.i: ; preds = %if.then3.i46.i.i, %if.then.i44.i.i %cmp11.not.i54.i.i = icmp eq i64 %written.1.i.i.lcssa, %cond.i.i22 br i1 %cmp11.not.i54.i.i, label %return.sink.split.i59.i.i, label %if.then12.i55.i.i if.then12.i55.i.i: ; preds = %if.end9.i52.i.i %119 = load ptr, ptr %stream_writer.i41.i.i, align 8, !tbaa !20 %output_target16.i56.i.i = getelementptr inbounds i8, ptr %114, i64 32 %120 = load ptr, ptr %output_target16.i56.i.i, align 8, !tbaa !21 %call17.i57.i.i = call noundef i32 %119(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp1939.i.i, ptr noundef %120) #19 %cmp18.i58.i.i = icmp sgt i32 %call17.i57.i.i, -1 br i1 %cmp18.i58.i.i, label %return.sink.split.i59.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i.i if.else.i61.i.i: ; preds = %while.end.i.i26 %buff_len.i62.i.i = getelementptr inbounds i8, ptr %114, i64 8 %121 = load i64, ptr %buff_len.i62.i.i, align 8, !tbaa !18 %cmp27.i63.i.i = icmp ult i64 %116, %121 br i1 %cmp27.i63.i.i, label %if.then28.i64.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i.i if.then28.i64.i.i: ; preds = %if.else.i61.i.i %sub.i65.i.i = sub i64 %121, %116 %spec.select.i67.i.i = call i64 @llvm.umin.i64(i64 %sub.i65.i.i, i64 %cond.i6.i.i.i) %122 = load ptr, ptr %114, align 8, !tbaa !15 %add.ptr.i68.i.i = getelementptr inbounds i8, ptr %122, i64 %116 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i68.i.i, ptr nonnull align 1 %mini_buff.i.i, i64 %spec.select.i67.i.i, i1 false), !alias.scope !103 %123 = load i64, ptr %buff_cur26.i43.i.i, align 8, !tbaa !19 %add.i69.i.i = add i64 %123, %spec.select.i67.i.i br label %return.sink.split.i59.i.i return.sink.split.i59.i.i: ; preds = %if.then28.i64.i.i, %if.then12.i55.i.i, %if.end9.i52.i.i %add.sink.i60.i.i = phi i64 [ %add.i69.i.i, %if.then28.i64.i.i ], [ 0, %if.then12.i55.i.i ], [ 0, %if.end9.i52.i.i ] store i64 %add.sink.i60.i.i, ptr %buff_cur26.i43.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i.i: ; preds = %return.sink.split.i59.i.i, %if.else.i61.i.i, %if.then12.i55.i.i, %if.then3.i46.i.i %retval.3.i51.i.i = phi i32 [ %call.i49.i.i, %if.then3.i46.i.i ], [ %call17.i57.i.i, %if.then12.i55.i.i ], [ 0, %if.else.i61.i.i ], [ 0, %return.sink.split.i59.i.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1939.i.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i40.i.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i86.i %retval.2.i.i = phi i32 [ %retval.3.i51.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i.i ], [ %retval.3.i.i87.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i86.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %mini_buff.i.i) #18 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit.i, %if.then.i.i79.i %retval.0.i.i.i = phi i32 [ 0, %if.then.i.i79.i ], [ %retval.2.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit.i ] %cmp6.i.i = icmp sgt i32 %retval.0.i.i.i, -1 br i1 %cmp6.i.i, label %if.end8.i.i, label %if.end if.end8.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.i, %sw.bb3.i call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %new_char.addr.i.i.i) store i8 %conv.i75.i, ptr %new_char.addr.i.i.i, align 1, !tbaa !26 %124 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i54.i.i = add nsw i32 %124, 1 store i32 %add.i54.i.i, ptr %chars_written.i, align 8, !tbaa !25 %125 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i55.i.i = getelementptr inbounds i8, ptr %125, i64 16 %126 = load i64, ptr %buff_cur.i55.i.i, align 8, !tbaa !19 %add2.i56.i.i = add i64 %126, 1 %buff_len.i57.i.i = getelementptr inbounds i8, ptr %125, i64 8 %127 = load i64, ptr %buff_len.i57.i.i, align 8, !tbaa !18 %cmp.not.i58.i.i = icmp ugt i64 %add2.i56.i.i, %127 br i1 %cmp.not.i58.i.i, label %if.end.i63.i.i, label %if.then.i59.i.i if.then.i59.i.i: ; preds = %if.end8.i.i %128 = load ptr, ptr %125, align 8, !tbaa !15 %arrayidx.i.i.i23 = getelementptr inbounds i8, ptr %128, i64 %126 store i8 %conv.i75.i, ptr %arrayidx.i.i.i23, align 1, !tbaa !26 %129 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur8.i60.i.i = getelementptr inbounds i8, ptr %129, i64 16 %130 = load i64, ptr %buff_cur8.i60.i.i, align 8, !tbaa !19 %add9.i61.i.i = add i64 %130, 1 store i64 %add9.i61.i.i, ptr %buff_cur8.i60.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEc.exit.i.i if.end.i63.i.i: ; preds = %if.end8.i.i call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp12.i.i.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i.i.i) store ptr %new_char.addr.i.i.i, ptr %agg.tmp12.i.i.i, align 8 store i64 1, ptr %agg.tmp.sroa.2.0.agg.tmp12.sroa_idx.i.i.i, align 8 %stream_writer.i.i.i.i = getelementptr inbounds i8, ptr %125, i64 24 %131 = load ptr, ptr %stream_writer.i.i.i.i, align 8, !tbaa !20 %cmp.not.i.i.i.i = icmp eq ptr %131, null br i1 %cmp.not.i.i.i.i, label %if.else.i.i.i.i, label %if.then.i.i.i.i if.then.i.i.i.i: ; preds = %if.end.i63.i.i %cmp2.not.i.i.i.i = icmp eq i64 %126, 0 br i1 %cmp2.not.i.i.i.i, label %if.then12.i.i.i.i, label %if.then3.i.i.i.i if.then3.i.i.i.i: ; preds = %if.then.i.i.i.i %132 = load ptr, ptr %125, align 8, !tbaa !15 store ptr %132, ptr %agg.tmp.i.i.i.i, align 8, !tbaa !91 store i64 %126, ptr %Len.i.i.i.i.i.i, align 8, !tbaa !93 %output_target.i.i.i.i = getelementptr inbounds i8, ptr %125, i64 32 %133 = load ptr, ptr %output_target.i.i.i.i, align 8, !tbaa !21 %call.i.i.i.i = call noundef i32 %131(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i.i.i, ptr noundef %133) #19 %cmp7.i.i.i.i = icmp sgt i32 %call.i.i.i.i, -1 br i1 %cmp7.i.i.i.i, label %if.then3.i.i.if.then12.i.i_crit_edge.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i.i if.then3.i.i.if.then12.i.i_crit_edge.i.i: ; preds = %if.then3.i.i.i.i %.pre.i.i24 = load ptr, ptr %stream_writer.i.i.i.i, align 8, !tbaa !20 br label %if.then12.i.i.i.i if.then12.i.i.i.i: ; preds = %if.then3.i.i.if.then12.i.i_crit_edge.i.i, %if.then.i.i.i.i %134 = phi ptr [ %.pre.i.i24, %if.then3.i.i.if.then12.i.i_crit_edge.i.i ], [ %131, %if.then.i.i.i.i ] %output_target16.i.i.i.i = getelementptr inbounds i8, ptr %125, i64 32 %135 = load ptr, ptr %output_target16.i.i.i.i, align 8, !tbaa !21 %call17.i.i.i.i = call noundef i32 %134(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp12.i.i.i, ptr noundef %135) #19 %cmp18.i.i.i.i = icmp sgt i32 %call17.i.i.i.i, -1 br i1 %cmp18.i.i.i.i, label %return.sink.split.i.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i.i if.else.i.i.i.i: ; preds = %if.end.i63.i.i %cmp27.i.i.i.i = icmp ult i64 %126, %127 br i1 %cmp27.i.i.i.i, label %if.then28.i.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i.i if.then28.i.i.i.i: ; preds = %if.else.i.i.i.i %136 = load ptr, ptr %125, align 8, !tbaa !15 %add.ptr.i.i.i.i = getelementptr inbounds i8, ptr %136, i64 %126 store i8 %conv.i75.i, ptr %add.ptr.i.i.i.i, align 1, !alias.scope !107 %137 = load i64, ptr %buff_cur.i55.i.i, align 8, !tbaa !19 %add.i.i.i.i = add i64 %137, 1 br label %return.sink.split.i.i.i.i return.sink.split.i.i.i.i: ; preds = %if.then28.i.i.i.i, %if.then12.i.i.i.i %add.sink.i.i.i.i = phi i64 [ %add.i.i.i.i, %if.then28.i.i.i.i ], [ 0, %if.then12.i.i.i.i ] store i64 %add.sink.i.i.i.i, ptr %buff_cur.i55.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i.i: ; preds = %return.sink.split.i.i.i.i, %if.else.i.i.i.i, %if.then12.i.i.i.i, %if.then3.i.i.i.i %retval.3.i.i.i.i = phi i32 [ %call.i.i.i.i, %if.then3.i.i.i.i ], [ %call17.i.i.i.i, %if.then12.i.i.i.i ], [ 0, %if.else.i.i.i.i ], [ 0, %return.sink.split.i.i.i.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp12.i.i.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i.i.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEc.exit.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEc.exit.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i.i, %if.then.i59.i.i %retval.0.i62.i.i = phi i32 [ 0, %if.then.i59.i.i ], [ %retval.3.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i.i ] call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %new_char.addr.i.i.i) %cmp11.i.i = icmp sgt i32 %retval.0.i62.i.i, -1 br i1 %cmp11.i.i, label %cleanup.cont16.i.i, label %if.end cleanup.cont16.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEc.exit.i.i %138 = and i8 %cur_section.sroa.22.0, 1 %cmp22.not.i.i = icmp eq i8 %138, 0 %or.cond132 = select i1 %cmp3.not.i.i, i1 true, i1 %cmp22.not.i.i br i1 %or.cond132, label %if.end32.i.i, label %if.then23.i.i if.then23.i.i: ; preds = %cleanup.cont16.i.i %139 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i66.i.i = add nsw i32 %139, %narrow.i.i store i32 %add.i66.i.i, ptr %chars_written.i, align 8, !tbaa !25 %140 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i67.i.i = getelementptr inbounds i8, ptr %140, i64 16 %141 = load i64, ptr %buff_cur.i67.i.i, align 8, !tbaa !19 %add2.i68.i.i = add i64 %141, %cond.i.i22 %buff_len.i69.i.i = getelementptr inbounds i8, ptr %140, i64 8 %142 = load i64, ptr %buff_len.i69.i.i, align 8, !tbaa !18 %cmp.not.i70.i.i = icmp ugt i64 %add2.i68.i.i, %142 br i1 %cmp.not.i70.i.i, label %if.end.i76.i.i, label %if.then.i71.i.i if.then.i71.i.i: ; preds = %if.then23.i.i %143 = load ptr, ptr %140, align 8, !tbaa !15 %add.ptr.i72.i.i = getelementptr inbounds i8, ptr %143, i64 %141 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i72.i.i, i8 32, i64 %cond.i.i22, i1 false) %144 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur8.i73.i.i = getelementptr inbounds i8, ptr %144, i64 16 %145 = load i64, ptr %buff_cur8.i73.i.i, align 8, !tbaa !19 %add9.i74.i.i = add i64 %145, %cond.i.i22 store i64 %add9.i74.i.i, ptr %buff_cur8.i73.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit78.i.i if.end.i76.i.i: ; preds = %if.then23.i.i %sub.i113.i = sub i64 %142, %141 %cmp.not.i114.i = icmp eq i64 %sub.i113.i, 0 br i1 %cmp.not.i114.i, label %if.end.i119.i, label %if.then.i115.i if.then.i115.i: ; preds = %if.end.i76.i.i %146 = load ptr, ptr %140, align 8, !tbaa !15 %add.ptr.i116.i = getelementptr inbounds i8, ptr %146, i64 %141 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i116.i, i8 32, i64 %sub.i113.i, i1 false) %147 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur7.i117.i = getelementptr inbounds i8, ptr %147, i64 16 %148 = load i64, ptr %buff_cur7.i117.i, align 8, !tbaa !19 %add.i118.i = add i64 %148, %sub.i113.i store i64 %add.i118.i, ptr %buff_cur7.i117.i, align 8, !tbaa !19 br label %if.end.i119.i if.end.i119.i: ; preds = %if.then.i115.i, %if.end.i76.i.i call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %mini_buff.i110.i) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %mini_buff.i110.i, i8 32, i64 64, i1 false) br label %while.cond.i122.i while.cond.i122.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i169.i, %if.end.i119.i %written.1.i123.i = phi i64 [ %sub.i113.i, %if.end.i119.i ], [ %add9.i124.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i169.i ] %add9.i124.i = add i64 %written.1.i123.i, 64 %cmp10.i125.i = icmp ult i64 %add9.i124.i, %cond.i.i22 br i1 %cmp10.i125.i, label %while.body.i159.i, label %while.end.i126.i while.body.i159.i: ; preds = %while.cond.i122.i %149 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp35.i109.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i108.i) store ptr %mini_buff.i110.i, ptr %agg.tmp35.i109.i, align 8 store i64 64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i120.i, align 8 %stream_writer.i.i160.i = getelementptr inbounds i8, ptr %149, i64 24 %150 = load ptr, ptr %stream_writer.i.i160.i, align 8, !tbaa !20 %cmp.not.i.i161.i = icmp eq ptr %150, null %buff_cur26.i.i162.i = getelementptr inbounds i8, ptr %149, i64 16 %151 = load i64, ptr %buff_cur26.i.i162.i, align 8, !tbaa !19 br i1 %cmp.not.i.i161.i, label %if.else.i.i182.i, label %if.then.i.i163.i if.then.i.i163.i: ; preds = %while.body.i159.i %cmp2.not.i.i164.i = icmp eq i64 %151, 0 br i1 %cmp2.not.i.i164.i, label %if.end9.i.i174.i, label %if.then3.i.i165.i if.then3.i.i165.i: ; preds = %if.then.i.i163.i %152 = load ptr, ptr %149, align 8, !tbaa !15 store ptr %152, ptr %agg.tmp.i.i108.i, align 8, !tbaa !91 store i64 %151, ptr %Len.i.i.i.i121.i, align 8, !tbaa !93 %output_target.i.i166.i = getelementptr inbounds i8, ptr %149, i64 32 %153 = load ptr, ptr %output_target.i.i166.i, align 8, !tbaa !21 %call.i.i167.i = call noundef i32 %150(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i108.i, ptr noundef %153) #19 %cmp7.i.i168.i = icmp sgt i32 %call.i.i167.i, -1 br i1 %cmp7.i.i168.i, label %if.then3.i.if.end9.i_crit_edge.i172.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i169.i if.then3.i.if.end9.i_crit_edge.i172.i: ; preds = %if.then3.i.i165.i %.pre.i173.i = load i64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i120.i, align 8, !tbaa !93 br label %if.end9.i.i174.i if.end9.i.i174.i: ; preds = %if.then3.i.if.end9.i_crit_edge.i172.i, %if.then.i.i163.i %154 = phi i64 [ %.pre.i173.i, %if.then3.i.if.end9.i_crit_edge.i172.i ], [ 64, %if.then.i.i163.i ] %cmp11.not.i.i175.i = icmp eq i64 %154, 0 br i1 %cmp11.not.i.i175.i, label %return.sink.split.i.i180.i, label %if.then12.i.i176.i if.then12.i.i176.i: ; preds = %if.end9.i.i174.i %155 = load ptr, ptr %stream_writer.i.i160.i, align 8, !tbaa !20 %output_target16.i.i177.i = getelementptr inbounds i8, ptr %149, i64 32 %156 = load ptr, ptr %output_target16.i.i177.i, align 8, !tbaa !21 %call17.i.i178.i = call noundef i32 %155(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp35.i109.i, ptr noundef %156) #19 %cmp18.i.i179.i = icmp sgt i32 %call17.i.i178.i, -1 br i1 %cmp18.i.i179.i, label %return.sink.split.i.i180.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i169.i if.else.i.i182.i: ; preds = %while.body.i159.i %buff_len.i.i183.i = getelementptr inbounds i8, ptr %149, i64 8 %157 = load i64, ptr %buff_len.i.i183.i, align 8, !tbaa !18 %cmp27.i.i184.i = icmp ult i64 %151, %157 br i1 %cmp27.i.i184.i, label %if.then28.i.i185.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i169.i if.then28.i.i185.i: ; preds = %if.else.i.i182.i %sub.i.i186.i = sub i64 %157, %151 %spec.select.i.i188.i = call i64 @llvm.umin.i64(i64 %sub.i.i186.i, i64 64) %158 = load ptr, ptr %149, align 8, !tbaa !15 %add.ptr.i.i189.i = getelementptr inbounds i8, ptr %158, i64 %151 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i189.i, ptr nonnull align 1 %mini_buff.i110.i, i64 %spec.select.i.i188.i, i1 false), !alias.scope !111 %159 = load i64, ptr %buff_cur26.i.i162.i, align 8, !tbaa !19 %add.i.i190.i = add i64 %159, %spec.select.i.i188.i br label %return.sink.split.i.i180.i return.sink.split.i.i180.i: ; preds = %if.then28.i.i185.i, %if.then12.i.i176.i, %if.end9.i.i174.i %add.sink.i.i181.i = phi i64 [ %add.i.i190.i, %if.then28.i.i185.i ], [ 0, %if.then12.i.i176.i ], [ 0, %if.end9.i.i174.i ] store i64 %add.sink.i.i181.i, ptr %buff_cur26.i.i162.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i169.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i169.i: ; preds = %return.sink.split.i.i180.i, %if.else.i.i182.i, %if.then12.i.i176.i, %if.then3.i.i165.i %retval.3.i.i170.i = phi i32 [ %call.i.i167.i, %if.then3.i.i165.i ], [ %call17.i.i178.i, %if.then12.i.i176.i ], [ 0, %if.else.i.i182.i ], [ 0, %return.sink.split.i.i180.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp35.i109.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i108.i) %cmp12.not.i171.i = icmp eq i32 %retval.3.i.i170.i, 0 br i1 %cmp12.not.i171.i, label %while.cond.i122.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit191.i, !llvm.loop !102 while.end.i126.i: ; preds = %while.cond.i122.i %written.1.i123.i.lcssa = phi i64 [ %written.1.i123.i, %while.cond.i122.i ] %sub16.i127.i = sub i64 %cond.i.i22, %written.1.i123.i.lcssa %cond.i6.i.i128.i = call noundef i64 @llvm.umin.i64(i64 %sub16.i127.i, i64 64) %160 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1939.i107.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i40.i106.i) store ptr %mini_buff.i110.i, ptr %agg.tmp1939.i107.i, align 8 store i64 %cond.i6.i.i128.i, ptr %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i129.i, align 8 %stream_writer.i41.i130.i = getelementptr inbounds i8, ptr %160, i64 24 %161 = load ptr, ptr %stream_writer.i41.i130.i, align 8, !tbaa !20 %cmp.not.i42.i131.i = icmp eq ptr %161, null %buff_cur26.i43.i132.i = getelementptr inbounds i8, ptr %160, i64 16 %162 = load i64, ptr %buff_cur26.i43.i132.i, align 8, !tbaa !19 br i1 %cmp.not.i42.i131.i, label %if.else.i61.i151.i, label %if.then.i44.i133.i if.then.i44.i133.i: ; preds = %while.end.i126.i %cmp2.not.i45.i134.i = icmp eq i64 %162, 0 br i1 %cmp2.not.i45.i134.i, label %if.end9.i52.i143.i, label %if.then3.i46.i135.i if.then3.i46.i135.i: ; preds = %if.then.i44.i133.i %163 = load ptr, ptr %160, align 8, !tbaa !15 store ptr %163, ptr %agg.tmp.i40.i106.i, align 8, !tbaa !91 store i64 %162, ptr %Len.i.i.i47.i136.i, align 8, !tbaa !93 %output_target.i48.i137.i = getelementptr inbounds i8, ptr %160, i64 32 %164 = load ptr, ptr %output_target.i48.i137.i, align 8, !tbaa !21 %call.i49.i138.i = call noundef i32 %161(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i40.i106.i, ptr noundef %164) #19 %cmp7.i50.i139.i = icmp sgt i32 %call.i49.i138.i, -1 br i1 %cmp7.i50.i139.i, label %if.end9.i52.i143.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i140.i if.end9.i52.i143.i: ; preds = %if.then3.i46.i135.i, %if.then.i44.i133.i %cmp11.not.i54.i144.i = icmp eq i64 %written.1.i123.i.lcssa, %cond.i.i22 br i1 %cmp11.not.i54.i144.i, label %return.sink.split.i59.i149.i, label %if.then12.i55.i145.i if.then12.i55.i145.i: ; preds = %if.end9.i52.i143.i %165 = load ptr, ptr %stream_writer.i41.i130.i, align 8, !tbaa !20 %output_target16.i56.i146.i = getelementptr inbounds i8, ptr %160, i64 32 %166 = load ptr, ptr %output_target16.i56.i146.i, align 8, !tbaa !21 %call17.i57.i147.i = call noundef i32 %165(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp1939.i107.i, ptr noundef %166) #19 %cmp18.i58.i148.i = icmp sgt i32 %call17.i57.i147.i, -1 br i1 %cmp18.i58.i148.i, label %return.sink.split.i59.i149.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i140.i if.else.i61.i151.i: ; preds = %while.end.i126.i %buff_len.i62.i152.i = getelementptr inbounds i8, ptr %160, i64 8 %167 = load i64, ptr %buff_len.i62.i152.i, align 8, !tbaa !18 %cmp27.i63.i153.i = icmp ult i64 %162, %167 br i1 %cmp27.i63.i153.i, label %if.then28.i64.i154.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i140.i if.then28.i64.i154.i: ; preds = %if.else.i61.i151.i %sub.i65.i155.i = sub i64 %167, %162 %spec.select.i67.i156.i = call i64 @llvm.umin.i64(i64 %sub.i65.i155.i, i64 %cond.i6.i.i128.i) %168 = load ptr, ptr %160, align 8, !tbaa !15 %add.ptr.i68.i157.i = getelementptr inbounds i8, ptr %168, i64 %162 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i68.i157.i, ptr nonnull align 1 %mini_buff.i110.i, i64 %spec.select.i67.i156.i, i1 false), !alias.scope !115 %169 = load i64, ptr %buff_cur26.i43.i132.i, align 8, !tbaa !19 %add.i69.i158.i = add i64 %169, %spec.select.i67.i156.i br label %return.sink.split.i59.i149.i return.sink.split.i59.i149.i: ; preds = %if.then28.i64.i154.i, %if.then12.i55.i145.i, %if.end9.i52.i143.i %add.sink.i60.i150.i = phi i64 [ %add.i69.i158.i, %if.then28.i64.i154.i ], [ 0, %if.then12.i55.i145.i ], [ 0, %if.end9.i52.i143.i ] store i64 %add.sink.i60.i150.i, ptr %buff_cur26.i43.i132.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i140.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i140.i: ; preds = %return.sink.split.i59.i149.i, %if.else.i61.i151.i, %if.then12.i55.i145.i, %if.then3.i46.i135.i %retval.3.i51.i141.i = phi i32 [ %call.i49.i138.i, %if.then3.i46.i135.i ], [ %call17.i57.i147.i, %if.then12.i55.i145.i ], [ 0, %if.else.i61.i151.i ], [ 0, %return.sink.split.i59.i149.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1939.i107.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i40.i106.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit191.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit191.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i140.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i169.i %retval.2.i142.i = phi i32 [ %retval.3.i51.i141.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i140.i ], [ %retval.3.i.i170.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i169.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %mini_buff.i110.i) #18 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit78.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit78.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit191.i, %if.then.i71.i.i %retval.0.i75.i.i = phi i32 [ 0, %if.then.i71.i.i ], [ %retval.2.i142.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit191.i ] %cmp26.i.i = icmp sgt i32 %retval.0.i75.i.i, -1 br i1 %cmp26.i.i, label %if.end32.i.i, label %if.end if.end32.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit78.i.i, %cleanup.cont16.i.i br label %if.end sw.bb5.i: ; preds = %if.end.i9 %cmp.i82.i = icmp eq ptr %cur_section.sroa.58.0, null %spec.store.select.i.i = select i1 %cmp.i82.i, ptr @.str1, ptr %cur_section.sroa.58.0 br label %for.cond.i.i for.cond.i.i: ; preds = %for.cond.i.i, %sw.bb5.i %string_len.0.i.i = phi i64 [ 0, %sw.bb5.i ], [ %inc.i.i17, %for.cond.i.i ] %arrayidx.i.i16 = getelementptr inbounds i8, ptr %spec.store.select.i.i, i64 %string_len.0.i.i %170 = load i8, ptr %arrayidx.i.i16, align 1, !tbaa !26 %tobool.not.i.i = icmp eq i8 %170, 0 %inc.i.i17 = add i64 %string_len.0.i.i, 1 br i1 %tobool.not.i.i, label %for.cond.cleanup.i.i, label %for.cond.i.i, !llvm.loop !119 for.cond.cleanup.i.i: ; preds = %for.cond.i.i %string_len.0.i.i.lcssa = phi i64 [ %string_len.0.i.i, %for.cond.i.i ] %conv.i83.i = zext nneg i32 %cur_section.sroa.49.0 to i64 %spec.select.i.i18 = call i64 @llvm.umin.i64(i64 %string_len.0.i.i.lcssa, i64 %conv.i83.i) %cmp1103.i.i = icmp slt i32 %cur_section.sroa.49.0, 0 %string_len.1.i.i = select i1 %cmp1103.i.i, i64 %string_len.0.i.i.lcssa, i64 %spec.select.i.i18 %conv8.i.i = trunc i64 %string_len.1.i.i to i32 %cmp9.i.i = icmp sgt i32 %cur_section.sroa.42.0, %conv8.i.i %conv11.i.i = zext nneg i32 %cur_section.sroa.42.0 to i64 %sub.i85.i = sub i64 %conv11.i.i, %string_len.1.i.i %cond.i86.i = select i1 %cmp9.i.i, i64 %sub.i85.i, i64 0 %cmp12.not.i.i = icmp eq i64 %cond.i86.i, 0 %171 = and i8 %cur_section.sroa.22.0, 1 %cmp15.i.i = icmp ne i8 %171, 0 %or.cond133.not = select i1 %cmp12.not.i.i, i1 true, i1 %cmp15.i.i br i1 %or.cond133.not, label %if.end20.i.i, label %if.then16.i.i if.then16.i.i: ; preds = %for.cond.cleanup.i.i %conv.i.i.i = trunc i64 %cond.i86.i to i32 %172 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i.i112.i = add nsw i32 %172, %conv.i.i.i store i32 %add.i.i112.i, ptr %chars_written.i, align 8, !tbaa !25 %173 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i.i113.i = getelementptr inbounds i8, ptr %173, i64 16 %174 = load i64, ptr %buff_cur.i.i113.i, align 8, !tbaa !19 %add2.i.i114.i = add i64 %174, %cond.i86.i %buff_len.i.i115.i = getelementptr inbounds i8, ptr %173, i64 8 %175 = load i64, ptr %buff_len.i.i115.i, align 8, !tbaa !18 %cmp.not.i.i116.i = icmp ugt i64 %add2.i.i114.i, %175 br i1 %cmp.not.i.i116.i, label %if.end.i.i123.i, label %if.then.i.i117.i if.then.i.i117.i: ; preds = %if.then16.i.i %176 = load ptr, ptr %173, align 8, !tbaa !15 %add.ptr.i.i118.i = getelementptr inbounds i8, ptr %176, i64 %174 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i.i118.i, i8 32, i64 %cond.i86.i, i1 false) %177 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur8.i.i119.i = getelementptr inbounds i8, ptr %177, i64 16 %178 = load i64, ptr %buff_cur8.i.i119.i, align 8, !tbaa !19 %add9.i.i120.i = add i64 %178, %cond.i86.i store i64 %add9.i.i120.i, ptr %buff_cur8.i.i119.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i121.i if.end.i.i123.i: ; preds = %if.then16.i.i %sub.i199.i = sub i64 %175, %174 %cmp.not.i200.i = icmp eq i64 %sub.i199.i, 0 br i1 %cmp.not.i200.i, label %if.end.i205.i, label %if.then.i201.i if.then.i201.i: ; preds = %if.end.i.i123.i %179 = load ptr, ptr %173, align 8, !tbaa !15 %add.ptr.i202.i = getelementptr inbounds i8, ptr %179, i64 %174 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i202.i, i8 32, i64 %sub.i199.i, i1 false) %180 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur7.i203.i = getelementptr inbounds i8, ptr %180, i64 16 %181 = load i64, ptr %buff_cur7.i203.i, align 8, !tbaa !19 %add.i204.i = add i64 %181, %sub.i199.i store i64 %add.i204.i, ptr %buff_cur7.i203.i, align 8, !tbaa !19 br label %if.end.i205.i if.end.i205.i: ; preds = %if.then.i201.i, %if.end.i.i123.i call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %mini_buff.i196.i) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %mini_buff.i196.i, i8 32, i64 64, i1 false) br label %while.cond.i208.i while.cond.i208.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i255.i, %if.end.i205.i %written.1.i209.i = phi i64 [ %sub.i199.i, %if.end.i205.i ], [ %add9.i210.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i255.i ] %add9.i210.i = add i64 %written.1.i209.i, 64 %cmp10.i211.i = icmp ult i64 %add9.i210.i, %cond.i86.i br i1 %cmp10.i211.i, label %while.body.i245.i, label %while.end.i212.i while.body.i245.i: ; preds = %while.cond.i208.i %182 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp35.i195.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i194.i) store ptr %mini_buff.i196.i, ptr %agg.tmp35.i195.i, align 8 store i64 64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i206.i, align 8 %stream_writer.i.i246.i = getelementptr inbounds i8, ptr %182, i64 24 %183 = load ptr, ptr %stream_writer.i.i246.i, align 8, !tbaa !20 %cmp.not.i.i247.i = icmp eq ptr %183, null %buff_cur26.i.i248.i = getelementptr inbounds i8, ptr %182, i64 16 %184 = load i64, ptr %buff_cur26.i.i248.i, align 8, !tbaa !19 br i1 %cmp.not.i.i247.i, label %if.else.i.i268.i, label %if.then.i.i249.i if.then.i.i249.i: ; preds = %while.body.i245.i %cmp2.not.i.i250.i = icmp eq i64 %184, 0 br i1 %cmp2.not.i.i250.i, label %if.end9.i.i260.i, label %if.then3.i.i251.i if.then3.i.i251.i: ; preds = %if.then.i.i249.i %185 = load ptr, ptr %182, align 8, !tbaa !15 store ptr %185, ptr %agg.tmp.i.i194.i, align 8, !tbaa !91 store i64 %184, ptr %Len.i.i.i.i207.i, align 8, !tbaa !93 %output_target.i.i252.i = getelementptr inbounds i8, ptr %182, i64 32 %186 = load ptr, ptr %output_target.i.i252.i, align 8, !tbaa !21 %call.i.i253.i = call noundef i32 %183(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i194.i, ptr noundef %186) #19 %cmp7.i.i254.i = icmp sgt i32 %call.i.i253.i, -1 br i1 %cmp7.i.i254.i, label %if.then3.i.if.end9.i_crit_edge.i258.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i255.i if.then3.i.if.end9.i_crit_edge.i258.i: ; preds = %if.then3.i.i251.i %.pre.i259.i = load i64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i206.i, align 8, !tbaa !93 br label %if.end9.i.i260.i if.end9.i.i260.i: ; preds = %if.then3.i.if.end9.i_crit_edge.i258.i, %if.then.i.i249.i %187 = phi i64 [ %.pre.i259.i, %if.then3.i.if.end9.i_crit_edge.i258.i ], [ 64, %if.then.i.i249.i ] %cmp11.not.i.i261.i = icmp eq i64 %187, 0 br i1 %cmp11.not.i.i261.i, label %return.sink.split.i.i266.i, label %if.then12.i.i262.i if.then12.i.i262.i: ; preds = %if.end9.i.i260.i %188 = load ptr, ptr %stream_writer.i.i246.i, align 8, !tbaa !20 %output_target16.i.i263.i = getelementptr inbounds i8, ptr %182, i64 32 %189 = load ptr, ptr %output_target16.i.i263.i, align 8, !tbaa !21 %call17.i.i264.i = call noundef i32 %188(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp35.i195.i, ptr noundef %189) #19 %cmp18.i.i265.i = icmp sgt i32 %call17.i.i264.i, -1 br i1 %cmp18.i.i265.i, label %return.sink.split.i.i266.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i255.i if.else.i.i268.i: ; preds = %while.body.i245.i %buff_len.i.i269.i = getelementptr inbounds i8, ptr %182, i64 8 %190 = load i64, ptr %buff_len.i.i269.i, align 8, !tbaa !18 %cmp27.i.i270.i = icmp ult i64 %184, %190 br i1 %cmp27.i.i270.i, label %if.then28.i.i271.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i255.i if.then28.i.i271.i: ; preds = %if.else.i.i268.i %sub.i.i272.i = sub i64 %190, %184 %spec.select.i.i273.i = call i64 @llvm.umin.i64(i64 %sub.i.i272.i, i64 64) %191 = load ptr, ptr %182, align 8, !tbaa !15 %add.ptr.i.i274.i = getelementptr inbounds i8, ptr %191, i64 %184 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i274.i, ptr nonnull align 1 %mini_buff.i196.i, i64 %spec.select.i.i273.i, i1 false), !alias.scope !120 %192 = load i64, ptr %buff_cur26.i.i248.i, align 8, !tbaa !19 %add.i.i275.i = add i64 %192, %spec.select.i.i273.i br label %return.sink.split.i.i266.i return.sink.split.i.i266.i: ; preds = %if.then28.i.i271.i, %if.then12.i.i262.i, %if.end9.i.i260.i %add.sink.i.i267.i = phi i64 [ %add.i.i275.i, %if.then28.i.i271.i ], [ 0, %if.then12.i.i262.i ], [ 0, %if.end9.i.i260.i ] store i64 %add.sink.i.i267.i, ptr %buff_cur26.i.i248.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i255.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i255.i: ; preds = %return.sink.split.i.i266.i, %if.else.i.i268.i, %if.then12.i.i262.i, %if.then3.i.i251.i %retval.3.i.i256.i = phi i32 [ %call.i.i253.i, %if.then3.i.i251.i ], [ %call17.i.i264.i, %if.then12.i.i262.i ], [ 0, %if.else.i.i268.i ], [ 0, %return.sink.split.i.i266.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp35.i195.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i194.i) %cmp12.not.i257.i = icmp eq i32 %retval.3.i.i256.i, 0 br i1 %cmp12.not.i257.i, label %while.cond.i208.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit276.i, !llvm.loop !102 while.end.i212.i: ; preds = %while.cond.i208.i %written.1.i209.i.lcssa = phi i64 [ %written.1.i209.i, %while.cond.i208.i ] %sub16.i213.i = sub i64 %cond.i86.i, %written.1.i209.i.lcssa %cond.i6.i.i214.i = call noundef i64 @llvm.umin.i64(i64 %sub16.i213.i, i64 64) %193 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1939.i193.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i40.i192.i) store ptr %mini_buff.i196.i, ptr %agg.tmp1939.i193.i, align 8 store i64 %cond.i6.i.i214.i, ptr %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i215.i, align 8 %stream_writer.i41.i216.i = getelementptr inbounds i8, ptr %193, i64 24 %194 = load ptr, ptr %stream_writer.i41.i216.i, align 8, !tbaa !20 %cmp.not.i42.i217.i = icmp eq ptr %194, null %buff_cur26.i43.i218.i = getelementptr inbounds i8, ptr %193, i64 16 %195 = load i64, ptr %buff_cur26.i43.i218.i, align 8, !tbaa !19 br i1 %cmp.not.i42.i217.i, label %if.else.i61.i237.i, label %if.then.i44.i219.i if.then.i44.i219.i: ; preds = %while.end.i212.i %cmp2.not.i45.i220.i = icmp eq i64 %195, 0 br i1 %cmp2.not.i45.i220.i, label %if.end9.i52.i229.i, label %if.then3.i46.i221.i if.then3.i46.i221.i: ; preds = %if.then.i44.i219.i %196 = load ptr, ptr %193, align 8, !tbaa !15 store ptr %196, ptr %agg.tmp.i40.i192.i, align 8, !tbaa !91 store i64 %195, ptr %Len.i.i.i47.i222.i, align 8, !tbaa !93 %output_target.i48.i223.i = getelementptr inbounds i8, ptr %193, i64 32 %197 = load ptr, ptr %output_target.i48.i223.i, align 8, !tbaa !21 %call.i49.i224.i = call noundef i32 %194(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i40.i192.i, ptr noundef %197) #19 %cmp7.i50.i225.i = icmp sgt i32 %call.i49.i224.i, -1 br i1 %cmp7.i50.i225.i, label %if.end9.i52.i229.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i226.i if.end9.i52.i229.i: ; preds = %if.then3.i46.i221.i, %if.then.i44.i219.i %cmp11.not.i54.i230.i = icmp eq i64 %written.1.i209.i.lcssa, %cond.i86.i br i1 %cmp11.not.i54.i230.i, label %return.sink.split.i59.i235.i, label %if.then12.i55.i231.i if.then12.i55.i231.i: ; preds = %if.end9.i52.i229.i %198 = load ptr, ptr %stream_writer.i41.i216.i, align 8, !tbaa !20 %output_target16.i56.i232.i = getelementptr inbounds i8, ptr %193, i64 32 %199 = load ptr, ptr %output_target16.i56.i232.i, align 8, !tbaa !21 %call17.i57.i233.i = call noundef i32 %198(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp1939.i193.i, ptr noundef %199) #19 %cmp18.i58.i234.i = icmp sgt i32 %call17.i57.i233.i, -1 br i1 %cmp18.i58.i234.i, label %return.sink.split.i59.i235.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i226.i if.else.i61.i237.i: ; preds = %while.end.i212.i %buff_len.i62.i238.i = getelementptr inbounds i8, ptr %193, i64 8 %200 = load i64, ptr %buff_len.i62.i238.i, align 8, !tbaa !18 %cmp27.i63.i239.i = icmp ult i64 %195, %200 br i1 %cmp27.i63.i239.i, label %if.then28.i64.i240.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i226.i if.then28.i64.i240.i: ; preds = %if.else.i61.i237.i %sub.i65.i241.i = sub i64 %200, %195 %spec.select.i67.i242.i = call i64 @llvm.umin.i64(i64 %sub.i65.i241.i, i64 %cond.i6.i.i214.i) %201 = load ptr, ptr %193, align 8, !tbaa !15 %add.ptr.i68.i243.i = getelementptr inbounds i8, ptr %201, i64 %195 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i68.i243.i, ptr nonnull align 1 %mini_buff.i196.i, i64 %spec.select.i67.i242.i, i1 false), !alias.scope !124 %202 = load i64, ptr %buff_cur26.i43.i218.i, align 8, !tbaa !19 %add.i69.i244.i = add i64 %202, %spec.select.i67.i242.i br label %return.sink.split.i59.i235.i return.sink.split.i59.i235.i: ; preds = %if.then28.i64.i240.i, %if.then12.i55.i231.i, %if.end9.i52.i229.i %add.sink.i60.i236.i = phi i64 [ %add.i69.i244.i, %if.then28.i64.i240.i ], [ 0, %if.then12.i55.i231.i ], [ 0, %if.end9.i52.i229.i ] store i64 %add.sink.i60.i236.i, ptr %buff_cur26.i43.i218.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i226.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i226.i: ; preds = %return.sink.split.i59.i235.i, %if.else.i61.i237.i, %if.then12.i55.i231.i, %if.then3.i46.i221.i %retval.3.i51.i227.i = phi i32 [ %call.i49.i224.i, %if.then3.i46.i221.i ], [ %call17.i57.i233.i, %if.then12.i55.i231.i ], [ 0, %if.else.i61.i237.i ], [ 0, %return.sink.split.i59.i235.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1939.i193.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i40.i192.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit276.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit276.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i226.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i255.i %retval.2.i228.i = phi i32 [ %retval.3.i51.i227.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i226.i ], [ %retval.3.i.i256.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i255.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %mini_buff.i196.i) #18 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i121.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i121.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit276.i, %if.then.i.i117.i %retval.0.i.i122.i = phi i32 [ 0, %if.then.i.i117.i ], [ %retval.2.i228.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit276.i ] %cmp17.i.i = icmp sgt i32 %retval.0.i.i122.i, -1 br i1 %cmp17.i.i, label %if.end20.i.i, label %if.end if.end20.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i121.i, %for.cond.cleanup.i.i %203 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i80.i.i = add nsw i32 %203, %conv8.i.i store i32 %add.i80.i.i, ptr %chars_written.i, align 8, !tbaa !25 %204 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i81.i.i = getelementptr inbounds i8, ptr %204, i64 16 %205 = load i64, ptr %buff_cur.i81.i.i, align 8, !tbaa !19 %add3.i.i.i = add i64 %205, %string_len.1.i.i %buff_len.i82.i.i = getelementptr inbounds i8, ptr %204, i64 8 %206 = load i64, ptr %buff_len.i82.i.i, align 8, !tbaa !18 %cmp.not.i83.i.i = icmp ugt i64 %add3.i.i.i, %206 br i1 %cmp.not.i83.i.i, label %if.end.i87.i.i, label %if.then.i84.i.i if.then.i84.i.i: ; preds = %if.end20.i.i %207 = load ptr, ptr %204, align 8, !tbaa !15 %add.ptr.i85.i.i = getelementptr inbounds i8, ptr %207, i64 %205 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i85.i.i, ptr nonnull align 1 %spec.store.select.i.i, i64 %string_len.1.i.i, i1 false), !alias.scope !128 %208 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur13.i.i.i = getelementptr inbounds i8, ptr %208, i64 16 %209 = load i64, ptr %buff_cur13.i.i.i, align 8, !tbaa !19 %add14.i.i.i = add i64 %209, %string_len.1.i.i store i64 %add14.i.i.i, ptr %buff_cur13.i.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i.i if.end.i87.i.i: ; preds = %if.end20.i.i call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp20.i.i.i) store ptr %spec.store.select.i.i, ptr %agg.tmp20.i.i.i, align 8 store i64 %string_len.1.i.i, ptr %agg.tmp76.sroa.5.0.agg.tmp20.i.sroa_idx.i.i, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i.i81.i) %stream_writer.i.i.i89.i = getelementptr inbounds i8, ptr %204, i64 24 %210 = load ptr, ptr %stream_writer.i.i.i89.i, align 8, !tbaa !20 %cmp.not.i.i.i90.i = icmp eq ptr %210, null br i1 %cmp.not.i.i.i90.i, label %if.else.i.i.i106.i, label %if.then.i.i.i91.i if.then.i.i.i91.i: ; preds = %if.end.i87.i.i %cmp2.not.i.i.i92.i = icmp eq i64 %205, 0 br i1 %cmp2.not.i.i.i92.i, label %if.end9.i.i.i.i, label %if.then3.i.i.i93.i if.then3.i.i.i93.i: ; preds = %if.then.i.i.i91.i %211 = load ptr, ptr %204, align 8, !tbaa !15 store ptr %211, ptr %agg.tmp.i.i.i81.i, align 8, !tbaa !91 store i64 %205, ptr %Len.i.i.i.i.i94.i, align 8, !tbaa !93 %output_target.i.i.i95.i = getelementptr inbounds i8, ptr %204, i64 32 %212 = load ptr, ptr %output_target.i.i.i95.i, align 8, !tbaa !21 %call.i.i.i96.i = call noundef i32 %210(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i.i81.i, ptr noundef %212) #19 %cmp7.i.i.i97.i = icmp sgt i32 %call.i.i.i96.i, -1 br i1 %cmp7.i.i.i97.i, label %if.end9.i.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i98.i if.end9.i.i.i.i: ; preds = %if.then3.i.i.i93.i, %if.then.i.i.i91.i %cmp11.not.i.i.i.i = icmp eq i64 %string_len.1.i.i, 0 br i1 %cmp11.not.i.i.i.i, label %return.sink.split.i.i.i104.i, label %if.then12.i.i.i100.i if.then12.i.i.i100.i: ; preds = %if.end9.i.i.i.i %213 = load ptr, ptr %stream_writer.i.i.i89.i, align 8, !tbaa !20 %output_target16.i.i.i101.i = getelementptr inbounds i8, ptr %204, i64 32 %214 = load ptr, ptr %output_target16.i.i.i101.i, align 8, !tbaa !21 %call17.i.i.i102.i = call noundef i32 %213(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp20.i.i.i, ptr noundef %214) #19 %cmp18.i.i.i103.i = icmp sgt i32 %call17.i.i.i102.i, -1 br i1 %cmp18.i.i.i103.i, label %return.sink.split.i.i.i104.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i98.i if.else.i.i.i106.i: ; preds = %if.end.i87.i.i %cmp27.i.i.i107.i = icmp ult i64 %205, %206 br i1 %cmp27.i.i.i107.i, label %if.then28.i.i.i108.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i98.i if.then28.i.i.i108.i: ; preds = %if.else.i.i.i106.i %sub.i.i.i.i19 = sub i64 %206, %205 %spec.select.i.i.i.i = call i64 @llvm.umin.i64(i64 %sub.i.i.i.i19, i64 %string_len.1.i.i) %215 = load ptr, ptr %204, align 8, !tbaa !15 %add.ptr.i.i.i109.i = getelementptr inbounds i8, ptr %215, i64 %205 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i.i109.i, ptr nonnull align 1 %spec.store.select.i.i, i64 %spec.select.i.i.i.i, i1 false), !alias.scope !132 %216 = load i64, ptr %buff_cur.i81.i.i, align 8, !tbaa !19 %add.i.i.i110.i = add i64 %216, %spec.select.i.i.i.i br label %return.sink.split.i.i.i104.i return.sink.split.i.i.i104.i: ; preds = %if.then28.i.i.i108.i, %if.then12.i.i.i100.i, %if.end9.i.i.i.i %add.sink.i.i.i105.i = phi i64 [ %add.i.i.i110.i, %if.then28.i.i.i108.i ], [ 0, %if.then12.i.i.i100.i ], [ 0, %if.end9.i.i.i.i ] store i64 %add.sink.i.i.i105.i, ptr %buff_cur.i81.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i98.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i98.i: ; preds = %return.sink.split.i.i.i104.i, %if.else.i.i.i106.i, %if.then12.i.i.i100.i, %if.then3.i.i.i93.i %retval.3.i.i.i99.i = phi i32 [ %call.i.i.i96.i, %if.then3.i.i.i93.i ], [ %call17.i.i.i102.i, %if.then12.i.i.i100.i ], [ 0, %if.else.i.i.i106.i ], [ 0, %return.sink.split.i.i.i104.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp20.i.i.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i.i81.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i98.i, %if.then.i84.i.i %retval.0.i86.i.i = phi i32 [ 0, %if.then.i84.i.i ], [ %retval.3.i.i.i99.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i98.i ] %cmp23.i.i = icmp sgt i32 %retval.0.i86.i.i, -1 br i1 %cmp23.i.i, label %cleanup.cont28.i.i, label %if.end cleanup.cont28.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i.i %217 = and i8 %cur_section.sroa.22.0, 1 %cmp34.not.i.i = icmp eq i8 %217, 0 %or.cond134 = select i1 %cmp12.not.i.i, i1 true, i1 %cmp34.not.i.i br i1 %or.cond134, label %if.end44.i.i, label %if.then35.i.i if.then35.i.i: ; preds = %cleanup.cont28.i.i %conv.i88.i.i = trunc i64 %cond.i86.i to i32 %218 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i90.i.i = add nsw i32 %218, %conv.i88.i.i store i32 %add.i90.i.i, ptr %chars_written.i, align 8, !tbaa !25 %219 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i91.i.i = getelementptr inbounds i8, ptr %219, i64 16 %220 = load i64, ptr %buff_cur.i91.i.i, align 8, !tbaa !19 %add2.i92.i.i = add i64 %220, %cond.i86.i %buff_len.i93.i.i = getelementptr inbounds i8, ptr %219, i64 8 %221 = load i64, ptr %buff_len.i93.i.i, align 8, !tbaa !18 %cmp.not.i94.i.i = icmp ugt i64 %add2.i92.i.i, %221 br i1 %cmp.not.i94.i.i, label %if.end.i100.i.i, label %if.then.i95.i.i if.then.i95.i.i: ; preds = %if.then35.i.i %222 = load ptr, ptr %219, align 8, !tbaa !15 %add.ptr.i96.i.i = getelementptr inbounds i8, ptr %222, i64 %220 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i96.i.i, i8 32, i64 %cond.i86.i, i1 false) %223 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur8.i97.i.i = getelementptr inbounds i8, ptr %223, i64 16 %224 = load i64, ptr %buff_cur8.i97.i.i, align 8, !tbaa !19 %add9.i98.i.i = add i64 %224, %cond.i86.i store i64 %add9.i98.i.i, ptr %buff_cur8.i97.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit102.i.i if.end.i100.i.i: ; preds = %if.then35.i.i %sub.i284.i = sub i64 %221, %220 %cmp.not.i285.i = icmp eq i64 %sub.i284.i, 0 br i1 %cmp.not.i285.i, label %if.end.i290.i, label %if.then.i286.i if.then.i286.i: ; preds = %if.end.i100.i.i %225 = load ptr, ptr %219, align 8, !tbaa !15 %add.ptr.i287.i = getelementptr inbounds i8, ptr %225, i64 %220 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i287.i, i8 32, i64 %sub.i284.i, i1 false) %226 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur7.i288.i = getelementptr inbounds i8, ptr %226, i64 16 %227 = load i64, ptr %buff_cur7.i288.i, align 8, !tbaa !19 %add.i289.i = add i64 %227, %sub.i284.i store i64 %add.i289.i, ptr %buff_cur7.i288.i, align 8, !tbaa !19 br label %if.end.i290.i if.end.i290.i: ; preds = %if.then.i286.i, %if.end.i100.i.i call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %mini_buff.i281.i) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %mini_buff.i281.i, i8 32, i64 64, i1 false) br label %while.cond.i293.i while.cond.i293.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i340.i, %if.end.i290.i %written.1.i294.i = phi i64 [ %sub.i284.i, %if.end.i290.i ], [ %add9.i295.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i340.i ] %add9.i295.i = add i64 %written.1.i294.i, 64 %cmp10.i296.i = icmp ult i64 %add9.i295.i, %cond.i86.i br i1 %cmp10.i296.i, label %while.body.i330.i, label %while.end.i297.i while.body.i330.i: ; preds = %while.cond.i293.i %228 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp35.i280.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i279.i) store ptr %mini_buff.i281.i, ptr %agg.tmp35.i280.i, align 8 store i64 64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i291.i, align 8 %stream_writer.i.i331.i = getelementptr inbounds i8, ptr %228, i64 24 %229 = load ptr, ptr %stream_writer.i.i331.i, align 8, !tbaa !20 %cmp.not.i.i332.i = icmp eq ptr %229, null %buff_cur26.i.i333.i = getelementptr inbounds i8, ptr %228, i64 16 %230 = load i64, ptr %buff_cur26.i.i333.i, align 8, !tbaa !19 br i1 %cmp.not.i.i332.i, label %if.else.i.i353.i, label %if.then.i.i334.i if.then.i.i334.i: ; preds = %while.body.i330.i %cmp2.not.i.i335.i = icmp eq i64 %230, 0 br i1 %cmp2.not.i.i335.i, label %if.end9.i.i345.i, label %if.then3.i.i336.i if.then3.i.i336.i: ; preds = %if.then.i.i334.i %231 = load ptr, ptr %228, align 8, !tbaa !15 store ptr %231, ptr %agg.tmp.i.i279.i, align 8, !tbaa !91 store i64 %230, ptr %Len.i.i.i.i292.i, align 8, !tbaa !93 %output_target.i.i337.i = getelementptr inbounds i8, ptr %228, i64 32 %232 = load ptr, ptr %output_target.i.i337.i, align 8, !tbaa !21 %call.i.i338.i = call noundef i32 %229(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i279.i, ptr noundef %232) #19 %cmp7.i.i339.i = icmp sgt i32 %call.i.i338.i, -1 br i1 %cmp7.i.i339.i, label %if.then3.i.if.end9.i_crit_edge.i343.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i340.i if.then3.i.if.end9.i_crit_edge.i343.i: ; preds = %if.then3.i.i336.i %.pre.i344.i = load i64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i291.i, align 8, !tbaa !93 br label %if.end9.i.i345.i if.end9.i.i345.i: ; preds = %if.then3.i.if.end9.i_crit_edge.i343.i, %if.then.i.i334.i %233 = phi i64 [ %.pre.i344.i, %if.then3.i.if.end9.i_crit_edge.i343.i ], [ 64, %if.then.i.i334.i ] %cmp11.not.i.i346.i = icmp eq i64 %233, 0 br i1 %cmp11.not.i.i346.i, label %return.sink.split.i.i351.i, label %if.then12.i.i347.i if.then12.i.i347.i: ; preds = %if.end9.i.i345.i %234 = load ptr, ptr %stream_writer.i.i331.i, align 8, !tbaa !20 %output_target16.i.i348.i = getelementptr inbounds i8, ptr %228, i64 32 %235 = load ptr, ptr %output_target16.i.i348.i, align 8, !tbaa !21 %call17.i.i349.i = call noundef i32 %234(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp35.i280.i, ptr noundef %235) #19 %cmp18.i.i350.i = icmp sgt i32 %call17.i.i349.i, -1 br i1 %cmp18.i.i350.i, label %return.sink.split.i.i351.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i340.i if.else.i.i353.i: ; preds = %while.body.i330.i %buff_len.i.i354.i = getelementptr inbounds i8, ptr %228, i64 8 %236 = load i64, ptr %buff_len.i.i354.i, align 8, !tbaa !18 %cmp27.i.i355.i = icmp ult i64 %230, %236 br i1 %cmp27.i.i355.i, label %if.then28.i.i356.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i340.i if.then28.i.i356.i: ; preds = %if.else.i.i353.i %sub.i.i357.i = sub i64 %236, %230 %spec.select.i.i358.i = call i64 @llvm.umin.i64(i64 %sub.i.i357.i, i64 64) %237 = load ptr, ptr %228, align 8, !tbaa !15 %add.ptr.i.i359.i = getelementptr inbounds i8, ptr %237, i64 %230 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i359.i, ptr nonnull align 1 %mini_buff.i281.i, i64 %spec.select.i.i358.i, i1 false), !alias.scope !136 %238 = load i64, ptr %buff_cur26.i.i333.i, align 8, !tbaa !19 %add.i.i360.i = add i64 %238, %spec.select.i.i358.i br label %return.sink.split.i.i351.i return.sink.split.i.i351.i: ; preds = %if.then28.i.i356.i, %if.then12.i.i347.i, %if.end9.i.i345.i %add.sink.i.i352.i = phi i64 [ %add.i.i360.i, %if.then28.i.i356.i ], [ 0, %if.then12.i.i347.i ], [ 0, %if.end9.i.i345.i ] store i64 %add.sink.i.i352.i, ptr %buff_cur26.i.i333.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i340.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i340.i: ; preds = %return.sink.split.i.i351.i, %if.else.i.i353.i, %if.then12.i.i347.i, %if.then3.i.i336.i %retval.3.i.i341.i = phi i32 [ %call.i.i338.i, %if.then3.i.i336.i ], [ %call17.i.i349.i, %if.then12.i.i347.i ], [ 0, %if.else.i.i353.i ], [ 0, %return.sink.split.i.i351.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp35.i280.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i279.i) %cmp12.not.i342.i = icmp eq i32 %retval.3.i.i341.i, 0 br i1 %cmp12.not.i342.i, label %while.cond.i293.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit361.i, !llvm.loop !102 while.end.i297.i: ; preds = %while.cond.i293.i %written.1.i294.i.lcssa = phi i64 [ %written.1.i294.i, %while.cond.i293.i ] %sub16.i298.i = sub i64 %cond.i86.i, %written.1.i294.i.lcssa %cond.i6.i.i299.i = call noundef i64 @llvm.umin.i64(i64 %sub16.i298.i, i64 64) %239 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1939.i278.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i40.i277.i) store ptr %mini_buff.i281.i, ptr %agg.tmp1939.i278.i, align 8 store i64 %cond.i6.i.i299.i, ptr %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i300.i, align 8 %stream_writer.i41.i301.i = getelementptr inbounds i8, ptr %239, i64 24 %240 = load ptr, ptr %stream_writer.i41.i301.i, align 8, !tbaa !20 %cmp.not.i42.i302.i = icmp eq ptr %240, null %buff_cur26.i43.i303.i = getelementptr inbounds i8, ptr %239, i64 16 %241 = load i64, ptr %buff_cur26.i43.i303.i, align 8, !tbaa !19 br i1 %cmp.not.i42.i302.i, label %if.else.i61.i322.i, label %if.then.i44.i304.i if.then.i44.i304.i: ; preds = %while.end.i297.i %cmp2.not.i45.i305.i = icmp eq i64 %241, 0 br i1 %cmp2.not.i45.i305.i, label %if.end9.i52.i314.i, label %if.then3.i46.i306.i if.then3.i46.i306.i: ; preds = %if.then.i44.i304.i %242 = load ptr, ptr %239, align 8, !tbaa !15 store ptr %242, ptr %agg.tmp.i40.i277.i, align 8, !tbaa !91 store i64 %241, ptr %Len.i.i.i47.i307.i, align 8, !tbaa !93 %output_target.i48.i308.i = getelementptr inbounds i8, ptr %239, i64 32 %243 = load ptr, ptr %output_target.i48.i308.i, align 8, !tbaa !21 %call.i49.i309.i = call noundef i32 %240(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i40.i277.i, ptr noundef %243) #19 %cmp7.i50.i310.i = icmp sgt i32 %call.i49.i309.i, -1 br i1 %cmp7.i50.i310.i, label %if.end9.i52.i314.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i311.i if.end9.i52.i314.i: ; preds = %if.then3.i46.i306.i, %if.then.i44.i304.i %cmp11.not.i54.i315.i = icmp eq i64 %written.1.i294.i.lcssa, %cond.i86.i br i1 %cmp11.not.i54.i315.i, label %return.sink.split.i59.i320.i, label %if.then12.i55.i316.i if.then12.i55.i316.i: ; preds = %if.end9.i52.i314.i %244 = load ptr, ptr %stream_writer.i41.i301.i, align 8, !tbaa !20 %output_target16.i56.i317.i = getelementptr inbounds i8, ptr %239, i64 32 %245 = load ptr, ptr %output_target16.i56.i317.i, align 8, !tbaa !21 %call17.i57.i318.i = call noundef i32 %244(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp1939.i278.i, ptr noundef %245) #19 %cmp18.i58.i319.i = icmp sgt i32 %call17.i57.i318.i, -1 br i1 %cmp18.i58.i319.i, label %return.sink.split.i59.i320.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i311.i if.else.i61.i322.i: ; preds = %while.end.i297.i %buff_len.i62.i323.i = getelementptr inbounds i8, ptr %239, i64 8 %246 = load i64, ptr %buff_len.i62.i323.i, align 8, !tbaa !18 %cmp27.i63.i324.i = icmp ult i64 %241, %246 br i1 %cmp27.i63.i324.i, label %if.then28.i64.i325.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i311.i if.then28.i64.i325.i: ; preds = %if.else.i61.i322.i %sub.i65.i326.i = sub i64 %246, %241 %spec.select.i67.i327.i = call i64 @llvm.umin.i64(i64 %sub.i65.i326.i, i64 %cond.i6.i.i299.i) %247 = load ptr, ptr %239, align 8, !tbaa !15 %add.ptr.i68.i328.i = getelementptr inbounds i8, ptr %247, i64 %241 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i68.i328.i, ptr nonnull align 1 %mini_buff.i281.i, i64 %spec.select.i67.i327.i, i1 false), !alias.scope !140 %248 = load i64, ptr %buff_cur26.i43.i303.i, align 8, !tbaa !19 %add.i69.i329.i = add i64 %248, %spec.select.i67.i327.i br label %return.sink.split.i59.i320.i return.sink.split.i59.i320.i: ; preds = %if.then28.i64.i325.i, %if.then12.i55.i316.i, %if.end9.i52.i314.i %add.sink.i60.i321.i = phi i64 [ %add.i69.i329.i, %if.then28.i64.i325.i ], [ 0, %if.then12.i55.i316.i ], [ 0, %if.end9.i52.i314.i ] store i64 %add.sink.i60.i321.i, ptr %buff_cur26.i43.i303.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i311.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i311.i: ; preds = %return.sink.split.i59.i320.i, %if.else.i61.i322.i, %if.then12.i55.i316.i, %if.then3.i46.i306.i %retval.3.i51.i312.i = phi i32 [ %call.i49.i309.i, %if.then3.i46.i306.i ], [ %call17.i57.i318.i, %if.then12.i55.i316.i ], [ 0, %if.else.i61.i322.i ], [ 0, %return.sink.split.i59.i320.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1939.i278.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i40.i277.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit361.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit361.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i311.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i340.i %retval.2.i313.i = phi i32 [ %retval.3.i51.i312.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i311.i ], [ %retval.3.i.i341.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i340.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %mini_buff.i281.i) #18 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit102.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit102.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit361.i, %if.then.i95.i.i %retval.0.i99.i.i = phi i32 [ 0, %if.then.i95.i.i ], [ %retval.2.i313.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit361.i ] %cmp38.i.i = icmp sgt i32 %retval.0.i99.i.i, -1 br i1 %cmp38.i.i, label %if.end44.i.i, label %if.end if.end44.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit102.i.i, %cleanup.cont28.i.i br label %if.end sw.bb7.i: ; preds = %if.end.i9, %if.end.i9, %if.end.i9, %if.end.i9, %if.end.i9, %if.end.i9, %if.end.i9, %if.end.i9 %249 = and i8 %cur_section.sroa.62.0, 32 switch i8 %cur_section.sroa.62.0, label %if.else.i.i15 [ i8 100, label %if.then.i128.i i8 105, label %if.then.i128.i ] if.then.i128.i: ; preds = %sw.bb7.i, %sw.bb7.i %cmp6.not.i.i = icmp slt i64 %cur_section.sroa.54.0, 0 %spec.select327.i.i = call i64 @llvm.abs.i64(i64 %cur_section.sroa.54.0, i1 false) br label %if.end11.i.i if.else.i.i15: ; preds = %sw.bb7.i %250 = and i8 %cur_section.sroa.22.0, -7 br label %if.end11.i.i if.end11.i.i: ; preds = %if.else.i.i15, %if.then.i128.i %flags.0.i.i = phi i8 [ %250, %if.else.i.i15 ], [ %cur_section.sroa.22.0, %if.then.i128.i ] %is_negative.0.off0.i.i = phi i1 [ false, %if.else.i.i15 ], [ %cmp6.not.i.i, %if.then.i128.i ] %num.0.i.i = phi i64 [ %cur_section.sroa.54.0, %if.else.i.i15 ], [ %spec.select327.i.i, %if.then.i128.i ] switch i32 %cur_section.sroa.36.0, label %default.unreachable [ i32 10, label %sw.bb.i.i.i i32 2, label %_ZN22__llvm_libc_19_0_0_git11printf_core21apply_length_modifierEyNS0_10LengthSpecE.exit.i.i i32 3, label %_ZN22__llvm_libc_19_0_0_git11printf_core21apply_length_modifierEyNS0_10LengthSpecE.exit.i.i i32 7, label %_ZN22__llvm_libc_19_0_0_git11printf_core21apply_length_modifierEyNS0_10LengthSpecE.exit.i.i i32 1, label %sw.bb7.i.i.i i32 0, label %sw.bb11.i.i.i i32 5, label %_ZN22__llvm_libc_19_0_0_git11printf_core21apply_length_modifierEyNS0_10LengthSpecE.exit.i.i i32 6, label %_ZN22__llvm_libc_19_0_0_git11printf_core21apply_length_modifierEyNS0_10LengthSpecE.exit.i.i i32 4, label %_ZN22__llvm_libc_19_0_0_git11printf_core21apply_length_modifierEyNS0_10LengthSpecE.exit.i.i i32 8, label %sw.bb22.i.i.i i32 9, label %sw.bb22.i.i.i ] sw.bb.i.i.i: ; preds = %if.end11.i.i %and.i.i.i = and i64 %num.0.i.i, 4294967295 br label %_ZN22__llvm_libc_19_0_0_git11printf_core21apply_length_modifierEyNS0_10LengthSpecE.exit.i.i sw.bb7.i.i.i: ; preds = %if.end11.i.i %and10.i.i.i = and i64 %num.0.i.i, 65535 br label %_ZN22__llvm_libc_19_0_0_git11printf_core21apply_length_modifierEyNS0_10LengthSpecE.exit.i.i sw.bb11.i.i.i: ; preds = %if.end11.i.i %and14.i.i.i = and i64 %num.0.i.i, 255 br label %_ZN22__llvm_libc_19_0_0_git11printf_core21apply_length_modifierEyNS0_10LengthSpecE.exit.i.i sw.bb22.i.i.i: ; preds = %if.end11.i.i, %if.end11.i.i %cmp24.i.i.i = icmp ult i64 %cur_section.sroa.39.0, 64 %notmask.i.i.i = shl nsw i64 -1, %cur_section.sroa.39.0 %sub.i.i129.i = xor i64 %notmask.i.i.i, -1 %spec.select.i.i130.i = select i1 %cmp24.i.i.i, i64 %sub.i.i129.i, i64 -1 %and29.i.i.i = and i64 %spec.select.i.i130.i, %num.0.i.i br label %_ZN22__llvm_libc_19_0_0_git11printf_core21apply_length_modifierEyNS0_10LengthSpecE.exit.i.i _ZN22__llvm_libc_19_0_0_git11printf_core21apply_length_modifierEyNS0_10LengthSpecE.exit.i.i: ; preds = %sw.bb22.i.i.i, %sw.bb11.i.i.i, %sw.bb7.i.i.i, %sw.bb.i.i.i, %if.end11.i.i, %if.end11.i.i, %if.end11.i.i, %if.end11.i.i, %if.end11.i.i, %if.end11.i.i %retval.0.i.i131.i = phi i64 [ %and29.i.i.i, %sw.bb22.i.i.i ], [ %and14.i.i.i, %sw.bb11.i.i.i ], [ %and10.i.i.i, %sw.bb7.i.i.i ], [ %and.i.i.i, %sw.bb.i.i.i ], [ %num.0.i.i, %if.end11.i.i ], [ %num.0.i.i, %if.end11.i.i ], [ %num.0.i.i, %if.end11.i.i ], [ %num.0.i.i, %if.end11.i.i ], [ %num.0.i.i, %if.end11.i.i ], [ %num.0.i.i, %if.end11.i.i ] %retval.0.i.i131.fr.i = freeze i64 %retval.0.i.i131.i call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %buf.i.i) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %buf.i.i, i8 -86, i64 64, i1 false), !annotation !10 %251 = or i8 %cur_section.sroa.62.0, 32 %cmp.i336.i.i = icmp eq i8 %251, 120 br i1 %cmp.i336.i.i, label %if.then.i.i177.i, label %if.else6.i.i.i if.then.i.i177.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core21apply_length_modifierEyNS0_10LengthSpecE.exit.i.i %cmp.i.not.i.i.i = icmp eq i8 %249, 0 %cmp8.i.i.i123.i.i.i = icmp eq i64 %retval.0.i.i131.fr.i, 0 br i1 %cmp.i.not.i.i.i, label %if.else.i337.i.i, label %if.then2.i.i.i if.then2.i.i.i: ; preds = %if.then.i.i177.i br i1 %cmp8.i.i.i123.i.i.i, label %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, label %for.body.i.i.i.i.i.i for.body.i.i.i.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i, %if.then2.i.i.i %writer.sroa.10.0.i.i.i.i = phi i64 [ %writer.sroa.10.1.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i ], [ 0, %if.then2.i.i.i ] %252 = phi i64 [ %256, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i ], [ 0, %if.then2.i.i.i ] %value.addr.010.i.i.i.i.i.i = phi i64 [ %div6.i.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i ], [ %retval.0.i.i131.fr.i, %if.then2.i.i.i ] %cmp.i.i.i.i.i.i.i.i = icmp eq i64 %252, 64 br i1 %cmp.i.i.i.i.i.i.i.i, label %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i, label %if.then3.i.i.i.i.i.i.i if.then3.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i %253 = trunc i64 %value.addr.010.i.i.i.i.i.i to i8 %conv.i.i.i.i.i.i = and i8 %253, 15 %cmp.i.i.i.i.i.i.i = icmp ult i8 %conv.i.i.i.i.i.i, 10 %254 = or disjoint i8 %conv.i.i.i.i.i.i, 48 %add6.i.i.i.i.i.i.i = add nuw nsw i8 %conv.i.i.i.i.i.i, 87 %retval.0.i.i.i.i.i.i.i = select i1 %cmp.i.i.i.i.i.i.i, i8 %254, i8 %add6.i.i.i.i.i.i.i %255 = xor i64 %252, -1 %arrayidx.i.i.i.i.i.i.i.i = getelementptr i8, ptr %76, i64 %255 store i8 %retval.0.i.i.i.i.i.i.i, ptr %arrayidx.i.i.i.i.i.i.i.i, align 1, !tbaa !26 %inc.i.i.i.i.i.i.i = add i64 %writer.sroa.10.0.i.i.i.i, 1 br label %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i _ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i: ; preds = %if.then3.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i %writer.sroa.10.1.i.i.i.i = phi i64 [ %inc.i.i.i.i.i.i.i, %if.then3.i.i.i.i.i.i.i ], [ %writer.sroa.10.0.i.i.i.i, %for.body.i.i.i.i.i.i ] %256 = phi i64 [ %inc.i.i.i.i.i.i.i, %if.then3.i.i.i.i.i.i.i ], [ 64, %for.body.i.i.i.i.i.i ] %div6.i.i.i.i.i.i = lshr i64 %value.addr.010.i.i.i.i.i.i, 4 %cmp.i.i.i.i.i.i = icmp ult i64 %value.addr.010.i.i.i.i.i.i, 16 %.not.i.i.i.i.i.i = select i1 %cmp.i.i.i.i.i.i.i.i, i1 true, i1 %cmp.i.i.i.i.i.i br i1 %.not.i.i.i.i.i.i, label %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, label %for.body.i.i.i.i.i.i, !llvm.loop !144 _ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i, %if.then2.i.i.i %writer.sroa.10.2.i.i.i.i = phi i64 [ 0, %if.then2.i.i.i ], [ %writer.sroa.10.1.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i ] %.off0.i.i.i.i.i = phi i1 [ false, %if.then2.i.i.i ], [ %cmp.i.i.i.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i ] br i1 %.off0.i.i.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.sink.split.i.i if.else.i337.i.i: ; preds = %if.then.i.i177.i br i1 %cmp8.i.i.i123.i.i.i, label %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb1ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, label %for.body.i.i.i125.i.i.i for.body.i.i.i125.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i136.i.i.i, %if.else.i337.i.i %writer.sroa.10.0.i126.i.i.i = phi i64 [ %writer.sroa.10.1.i137.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i136.i.i.i ], [ 0, %if.else.i337.i.i ] %257 = phi i64 [ %261, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i136.i.i.i ], [ 0, %if.else.i337.i.i ] %value.addr.010.i.i.i127.i.i.i = phi i64 [ %div6.i.i.i138.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i136.i.i.i ], [ %retval.0.i.i131.fr.i, %if.else.i337.i.i ] %cmp.i.i.i.i.i128.i.i.i = icmp eq i64 %257, 64 br i1 %cmp.i.i.i.i.i128.i.i.i, label %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i136.i.i.i, label %if.then3.i.i.i.i129.i.i.i if.then3.i.i.i.i129.i.i.i: ; preds = %for.body.i.i.i125.i.i.i %258 = trunc i64 %value.addr.010.i.i.i127.i.i.i to i8 %conv.i.i.i130.i.i.i = and i8 %258, 15 %cmp.i.i.i.i131.i.i.i = icmp ult i8 %conv.i.i.i130.i.i.i, 10 %259 = or disjoint i8 %conv.i.i.i130.i.i.i, 48 %add6.i.i.i.i132.i.i.i = add nuw nsw i8 %conv.i.i.i130.i.i.i, 55 %retval.0.i.i.i.i133.i.i.i = select i1 %cmp.i.i.i.i131.i.i.i, i8 %259, i8 %add6.i.i.i.i132.i.i.i %260 = xor i64 %257, -1 %arrayidx.i.i.i.i.i134.i.i.i = getelementptr i8, ptr %76, i64 %260 store i8 %retval.0.i.i.i.i133.i.i.i, ptr %arrayidx.i.i.i.i.i134.i.i.i, align 1, !tbaa !26 %inc.i.i.i.i135.i.i.i = add i64 %writer.sroa.10.0.i126.i.i.i, 1 br label %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i136.i.i.i _ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i136.i.i.i: ; preds = %if.then3.i.i.i.i129.i.i.i, %for.body.i.i.i125.i.i.i %writer.sroa.10.1.i137.i.i.i = phi i64 [ %inc.i.i.i.i135.i.i.i, %if.then3.i.i.i.i129.i.i.i ], [ %writer.sroa.10.0.i126.i.i.i, %for.body.i.i.i125.i.i.i ] %261 = phi i64 [ %inc.i.i.i.i135.i.i.i, %if.then3.i.i.i.i129.i.i.i ], [ 64, %for.body.i.i.i125.i.i.i ] %div6.i.i.i138.i.i.i = lshr i64 %value.addr.010.i.i.i127.i.i.i, 4 %cmp.i.i.i139.i.i.i = icmp ult i64 %value.addr.010.i.i.i127.i.i.i, 16 %.not.i.i.i140.i.i.i = select i1 %cmp.i.i.i.i.i128.i.i.i, i1 true, i1 %cmp.i.i.i139.i.i.i br i1 %.not.i.i.i140.i.i.i, label %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb1ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, label %for.body.i.i.i125.i.i.i, !llvm.loop !145 _ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb1ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i136.i.i.i, %if.else.i337.i.i %writer.sroa.10.2.i141.i.i.i = phi i64 [ 0, %if.else.i337.i.i ], [ %writer.sroa.10.1.i137.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i136.i.i.i ] %.off0.i.i142.i.i.i = phi i1 [ false, %if.else.i337.i.i ], [ %cmp.i.i.i.i.i128.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i136.i.i.i ] br i1 %.off0.i.i142.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.sink.split.i.i if.else6.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core21apply_length_modifierEyNS0_10LengthSpecE.exit.i.i %cmp8.i.i.i = icmp eq i8 %cur_section.sroa.62.0, 111 br i1 %cmp8.i.i.i, label %if.then9.i.i.i, label %if.else12.i.i.i if.then9.i.i.i: ; preds = %if.else6.i.i.i %cmp8.i.i.i176.i.i.i = icmp eq i64 %retval.0.i.i131.fr.i, 0 br i1 %cmp8.i.i.i176.i.i.i, label %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh8ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, label %for.body.i.i.i178.i.i.i for.body.i.i.i178.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i186.i.i.i, %if.then9.i.i.i %writer.sroa.10.0.i179.i.i.i = phi i64 [ %writer.sroa.10.1.i187.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i186.i.i.i ], [ 0, %if.then9.i.i.i ] %262 = phi i64 [ %266, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i186.i.i.i ], [ 0, %if.then9.i.i.i ] %value.addr.010.i.i.i180.i.i.i = phi i64 [ %div6.i.i.i188.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i186.i.i.i ], [ %retval.0.i.i131.fr.i, %if.then9.i.i.i ] %cmp.i.i.i.i.i181.i.i.i = icmp eq i64 %262, 64 br i1 %cmp.i.i.i.i.i181.i.i.i, label %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i186.i.i.i, label %if.then3.i.i.i.i182.i.i.i if.then3.i.i.i.i182.i.i.i: ; preds = %for.body.i.i.i178.i.i.i %263 = trunc i64 %value.addr.010.i.i.i180.i.i.i to i8 %conv.i.i.i183.i.i.i = and i8 %263, 7 %264 = or disjoint i8 %conv.i.i.i183.i.i.i, 48 %265 = xor i64 %262, -1 %arrayidx.i.i.i.i.i184.i.i.i = getelementptr i8, ptr %76, i64 %265 store i8 %264, ptr %arrayidx.i.i.i.i.i184.i.i.i, align 1, !tbaa !26 %inc.i.i.i.i185.i.i.i = add i64 %writer.sroa.10.0.i179.i.i.i, 1 br label %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i186.i.i.i _ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i186.i.i.i: ; preds = %if.then3.i.i.i.i182.i.i.i, %for.body.i.i.i178.i.i.i %writer.sroa.10.1.i187.i.i.i = phi i64 [ %inc.i.i.i.i185.i.i.i, %if.then3.i.i.i.i182.i.i.i ], [ %writer.sroa.10.0.i179.i.i.i, %for.body.i.i.i178.i.i.i ] %266 = phi i64 [ %inc.i.i.i.i185.i.i.i, %if.then3.i.i.i.i182.i.i.i ], [ 64, %for.body.i.i.i178.i.i.i ] %div6.i.i.i188.i.i.i = lshr i64 %value.addr.010.i.i.i180.i.i.i, 3 %cmp.i.i.i189.i.i.i = icmp ult i64 %value.addr.010.i.i.i180.i.i.i, 8 %.not.i.i.i190.i.i.i = select i1 %cmp.i.i.i.i.i181.i.i.i, i1 true, i1 %cmp.i.i.i189.i.i.i br i1 %.not.i.i.i190.i.i.i, label %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh8ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, label %for.body.i.i.i178.i.i.i, !llvm.loop !146 _ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh8ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i186.i.i.i, %if.then9.i.i.i %writer.sroa.10.2.i191.i.i.i = phi i64 [ 0, %if.then9.i.i.i ], [ %writer.sroa.10.1.i187.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i186.i.i.i ] %.off0.i.i192.i.i.i = phi i1 [ false, %if.then9.i.i.i ], [ %cmp.i.i.i.i.i181.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i186.i.i.i ] br i1 %.off0.i.i192.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.sink.split.i.i if.else12.i.i.i: ; preds = %if.else6.i.i.i %cmp15.i.i.i = icmp eq i8 %251, 98 %cmp8.i.i.i226.i.i.i = icmp eq i64 %retval.0.i.i131.fr.i, 0 br i1 %cmp15.i.i.i, label %if.then16.i.i.i, label %if.else19.i.i.i if.then16.i.i.i: ; preds = %if.else12.i.i.i br i1 %cmp8.i.i.i226.i.i.i, label %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh2ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, label %for.body.i.i.i228.i.i.i for.body.i.i.i228.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i236.i.i.i, %if.then16.i.i.i %writer.sroa.10.0.i229.i.i.i = phi i64 [ %writer.sroa.10.1.i237.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i236.i.i.i ], [ 0, %if.then16.i.i.i ] %267 = phi i64 [ %271, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i236.i.i.i ], [ 0, %if.then16.i.i.i ] %value.addr.010.i.i.i230.i.i.i = phi i64 [ %div6.i.i.i238.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i236.i.i.i ], [ %retval.0.i.i131.fr.i, %if.then16.i.i.i ] %cmp.i.i.i.i.i231.i.i.i = icmp eq i64 %267, 64 br i1 %cmp.i.i.i.i.i231.i.i.i, label %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i236.i.i.i, label %if.then3.i.i.i.i232.i.i.i if.then3.i.i.i.i232.i.i.i: ; preds = %for.body.i.i.i228.i.i.i %268 = trunc i64 %value.addr.010.i.i.i230.i.i.i to i8 %conv.i.i.i233.i.i.i = and i8 %268, 1 %269 = or disjoint i8 %conv.i.i.i233.i.i.i, 48 %270 = xor i64 %267, -1 %arrayidx.i.i.i.i.i234.i.i.i = getelementptr i8, ptr %76, i64 %270 store i8 %269, ptr %arrayidx.i.i.i.i.i234.i.i.i, align 1, !tbaa !26 %inc.i.i.i.i235.i.i.i = add i64 %writer.sroa.10.0.i229.i.i.i, 1 br label %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i236.i.i.i _ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i236.i.i.i: ; preds = %if.then3.i.i.i.i232.i.i.i, %for.body.i.i.i228.i.i.i %writer.sroa.10.1.i237.i.i.i = phi i64 [ %inc.i.i.i.i235.i.i.i, %if.then3.i.i.i.i232.i.i.i ], [ %writer.sroa.10.0.i229.i.i.i, %for.body.i.i.i228.i.i.i ] %271 = phi i64 [ %inc.i.i.i.i235.i.i.i, %if.then3.i.i.i.i232.i.i.i ], [ 64, %for.body.i.i.i228.i.i.i ] %div6.i.i.i238.i.i.i = lshr i64 %value.addr.010.i.i.i230.i.i.i, 1 %cmp.i.i.i239.i.i.i = icmp ult i64 %value.addr.010.i.i.i230.i.i.i, 2 %.not.i.i.i240.i.i.i = select i1 %cmp.i.i.i.i.i231.i.i.i, i1 true, i1 %cmp.i.i.i239.i.i.i br i1 %.not.i.i.i240.i.i.i, label %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh2ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, label %for.body.i.i.i228.i.i.i, !llvm.loop !147 _ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh2ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i236.i.i.i, %if.then16.i.i.i %writer.sroa.10.2.i241.i.i.i = phi i64 [ 0, %if.then16.i.i.i ], [ %writer.sroa.10.1.i237.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i236.i.i.i ] %.off0.i.i242.i.i.i = phi i1 [ false, %if.then16.i.i.i ], [ %cmp.i.i.i.i.i231.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i236.i.i.i ] br i1 %.off0.i.i242.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.sink.split.i.i if.else19.i.i.i: ; preds = %if.else12.i.i.i br i1 %cmp8.i.i.i226.i.i.i, label %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh10ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, label %for.body.i.i.i277.i.i.i for.body.i.i.i277.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i284.i.i.i, %if.else19.i.i.i %writer.sroa.10.0.i278.i.i.i = phi i64 [ %writer.sroa.10.1.i285.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i284.i.i.i ], [ 0, %if.else19.i.i.i ] %272 = phi i64 [ %275, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i284.i.i.i ], [ 0, %if.else19.i.i.i ] %value.addr.09.i.i.i.i.i.i = phi i64 [ %div.i.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i284.i.i.i ], [ %retval.0.i.i131.fr.i, %if.else19.i.i.i ] %cmp.i.i.i.i.i279.i.i.i = icmp eq i64 %272, 64 %div.i.i.i.i.i.i = udiv i64 %value.addr.09.i.i.i.i.i.i, 10 br i1 %cmp.i.i.i.i.i279.i.i.i, label %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i284.i.i.i, label %if.then3.i.i.i.i280.i.i.i if.then3.i.i.i.i280.i.i.i: ; preds = %for.body.i.i.i277.i.i.i %273 = xor i64 %272, -1 %arrayidx.i.i.i.i.i282.i.i.i = getelementptr i8, ptr %76, i64 %273 %inc.i.i.i.i281.i.i.i = add i64 %writer.sroa.10.0.i278.i.i.i, 1 %.neg.i = mul i64 %div.i.i.i.i.i.i, 246 %rem.i.i.i.i.i.decomposed.i = add i64 %.neg.i, %value.addr.09.i.i.i.i.i.i %conv.i.i.i283.i.i.i = trunc i64 %rem.i.i.i.i.i.decomposed.i to i8 %274 = or disjoint i8 %conv.i.i.i283.i.i.i, 48 store i8 %274, ptr %arrayidx.i.i.i.i.i282.i.i.i, align 1, !tbaa !26 br label %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i284.i.i.i _ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i284.i.i.i: ; preds = %if.then3.i.i.i.i280.i.i.i, %for.body.i.i.i277.i.i.i %writer.sroa.10.1.i285.i.i.i = phi i64 [ %inc.i.i.i.i281.i.i.i, %if.then3.i.i.i.i280.i.i.i ], [ %writer.sroa.10.0.i278.i.i.i, %for.body.i.i.i277.i.i.i ] %275 = phi i64 [ %inc.i.i.i.i281.i.i.i, %if.then3.i.i.i.i280.i.i.i ], [ 64, %for.body.i.i.i277.i.i.i ] %cmp.i.i.i286.i.i.i = icmp ult i64 %value.addr.09.i.i.i.i.i.i, 10 %.not.i.i.i287.i.i.i = select i1 %cmp.i.i.i.i.i279.i.i.i, i1 true, i1 %cmp.i.i.i286.i.i.i br i1 %.not.i.i.i287.i.i.i, label %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh10ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, label %for.body.i.i.i277.i.i.i, !llvm.loop !148 _ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh10ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i284.i.i.i, %if.else19.i.i.i %writer.sroa.10.2.i288.i.i.i = phi i64 [ 0, %if.else19.i.i.i ], [ %writer.sroa.10.1.i285.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i284.i.i.i ] %.off0.i.i289.i.i.i = phi i1 [ false, %if.else19.i.i.i ], [ %cmp.i.i.i.i.i279.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i284.i.i.i ] br i1 %.off0.i.i289.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.sink.split.i.i _ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.sink.split.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh10ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh2ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh8ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb1ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i %writer.sroa.10.2.i288.i.sink571.i.i = phi i64 [ %writer.sroa.10.2.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i ], [ %writer.sroa.10.2.i141.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb1ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i ], [ %writer.sroa.10.2.i191.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh8ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i ], [ %writer.sroa.10.2.i241.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh2ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i ], [ %writer.sroa.10.2.i288.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh10ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i ] %arrayidx.i.i.i.i292.i.promoted.i.i = load i8, ptr %arrayidx.i.i.i.i292.i.i.i, align 1, !tbaa !26 %cmp.i.i295.i.peel.i.i = icmp eq i64 %writer.sroa.10.2.i288.i.sink571.i.i, 0 %.lcssa564.i.i = select i1 %cmp.i.i295.i.peel.i.i, i8 48, i8 %arrayidx.i.i.i.i292.i.promoted.i.i %writer.sroa.10.3.i294.i.lcssa.i.i = call i64 @llvm.umax.i64(i64 %writer.sroa.10.2.i288.i.sink571.i.i, i64 1) store i8 %.lcssa564.i.i, ptr %arrayidx.i.i.i.i292.i.i.i, align 1, !tbaa !26 br label %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.i.i _ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.sink.split.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh10ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh2ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh8ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb1ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i %276 = phi i64 [ %writer.sroa.10.2.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i ], [ %writer.sroa.10.2.i141.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb1ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i ], [ %writer.sroa.10.2.i191.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh8ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i ], [ %writer.sroa.10.2.i241.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh2ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i ], [ %writer.sroa.10.2.i288.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh10ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i ], [ %writer.sroa.10.3.i294.i.lcssa.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.sink.split.i.i ] %writer.sroa.20.5.off0.i297.sink.i.i.i = phi i1 [ true, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i ], [ true, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb1ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i ], [ true, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh8ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i ], [ true, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh2ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i ], [ true, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh10ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i ], [ false, %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.sink.split.i.i ] %idx.neg.i300.i.i.i = sub i64 0, %276 %add.ptr4.i301.i.i.i = getelementptr inbounds i8, ptr %76, i64 %idx.neg.i300.i.i.i br i1 %writer.sroa.20.5.off0.i297.sink.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11convert_intEPNS0_6WriterERKNS0_13FormatSectionE.exit.i, label %if.end19.i.i if.end19.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.i.i br i1 %is_negative.0.off0.i.i, label %if.end35.i.i, label %if.else23.i.i if.else23.i.i: ; preds = %if.end19.i.i %conv24.i.i = zext nneg i8 %flags.0.i.i to i32 %and25.i.i = and i32 %conv24.i.i, 2 %cmp26.not.i.i = icmp eq i32 %and25.i.i, 0 %and30.i.i = and i32 %conv24.i.i, 4 %and30.lobit.i.i = lshr exact i32 %and30.i.i, 2 %277 = trunc nuw nsw i32 %and30.i.i to i8 %spec.select329.i.i = shl nuw nsw i8 %277, 3 %narrow550.i.i = select i1 %cmp26.not.i.i, i32 %and30.lobit.i.i, i32 1 %spec.select545.i.i = zext nneg i32 %narrow550.i.i to i64 %spec.select546.i.i = select i1 %cmp26.not.i.i, i8 %spec.select329.i.i, i8 43 br label %if.end35.i.i if.end35.i.i: ; preds = %if.else23.i.i, %if.end19.i.i %not.cmp68.i.i = phi i64 [ 1, %if.end19.i.i ], [ %spec.select545.i.i, %if.else23.i.i ] %sign_char.0.i.i = phi i8 [ 45, %if.end19.i.i ], [ %spec.select546.i.i, %if.else23.i.i ] call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %prefix.i.i) #18 store i8 -86, ptr %77, align 1, !annotation !10 br i1 %cmp.i336.i.i, label %land.lhs.true.i176.i, label %if.else49.i.i land.lhs.true.i176.i: ; preds = %if.end35.i.i %278 = and i8 %flags.0.i.i, 8 %cmp42.i.i = icmp ne i8 %278, 0 %cmp44.i.i = icmp ne i64 %retval.0.i.i131.fr.i, 0 %or.cond.i.i = and i1 %cmp42.i.i, %cmp44.i.i br i1 %or.cond.i.i, label %if.then45.i.i, label %if.else49.i.i if.then45.i.i: ; preds = %land.lhs.true.i176.i store i8 48, ptr %prefix.i.i, align 1, !tbaa !26 store i8 %cur_section.sroa.62.0, ptr %77, align 1, !tbaa !26 br label %if.end73.i.i if.else49.i.i: ; preds = %land.lhs.true.i176.i, %if.end35.i.i %cmp53.i.i = icmp eq i8 %251, 98 br i1 %cmp53.i.i, label %land.lhs.true54.i.i, label %if.else66.i.i land.lhs.true54.i.i: ; preds = %if.else49.i.i %279 = and i8 %flags.0.i.i, 8 %cmp57.i.i14 = icmp ne i8 %279, 0 %cmp59.i.i = icmp ne i64 %retval.0.i.i131.fr.i, 0 %or.cond249.i.i = and i1 %cmp57.i.i14, %cmp59.i.i br i1 %or.cond249.i.i, label %if.then60.i.i, label %if.else66.i.i if.then60.i.i: ; preds = %land.lhs.true54.i.i store i8 48, ptr %prefix.i.i, align 1, !tbaa !26 store i8 %cur_section.sroa.62.0, ptr %77, align 1, !tbaa !26 br label %if.end73.i.i if.else66.i.i: ; preds = %land.lhs.true54.i.i, %if.else49.i.i store i8 %sign_char.0.i.i, ptr %prefix.i.i, align 1, !tbaa !26 br label %if.end73.i.i if.end73.i.i: ; preds = %if.else66.i.i, %if.then60.i.i, %if.then45.i.i %280 = phi i64 [ 2, %if.then45.i.i ], [ 2, %if.then60.i.i ], [ %not.cmp68.i.i, %if.else66.i.i ] %cmp74.i.i = icmp slt i32 %cur_section.sroa.49.0, 0 br i1 %cmp74.i.i, label %if.then75.i.i, label %if.else91.i.i if.then75.i.i: ; preds = %if.end73.i.i %281 = and i8 %flags.0.i.i, 17 %cmp78.i.i = icmp eq i8 %281, 16 %282 = add i64 %280, %276 %283 = trunc i64 %282 to i32 %conv83.i.i = sub i32 %cur_section.sroa.42.0, %283 %.conv83.i.i = select i1 %cmp78.i.i, i32 0, i32 %conv83.i.i %conv83..i.i = select i1 %cmp78.i.i, i32 %conv83.i.i, i32 0 br label %if.end111.i.i if.else91.i.i: ; preds = %if.end73.i.i %cmp92.i.i = icmp eq i64 %retval.0.i.i131.fr.i, 0 %cmp95.i.i = icmp eq i32 %cur_section.sroa.49.0, 0 %or.cond330.i.i = and i1 %cmp92.i.i, %cmp95.i.i %digits_written.0.i.i = select i1 %or.cond330.i.i, i64 0, i64 %276 %284 = trunc i64 %digits_written.0.i.i to i32 %conv101.i.i = sub i32 %cur_section.sroa.49.0, %284 %spec.store.select.i133.i = call i32 @llvm.smax.i32(i32 %conv101.i.i, i32 0) %285 = add i64 %digits_written.0.i.i, %280 %286 = trunc i64 %285 to i32 %287 = add i32 %spec.store.select.i133.i, %286 %conv110.i.i = sub i32 %cur_section.sroa.42.0, %287 br label %if.end111.i.i if.end111.i.i: ; preds = %if.else91.i.i, %if.then75.i.i %spaces.0.i.i = phi i32 [ %conv110.i.i, %if.else91.i.i ], [ %.conv83.i.i, %if.then75.i.i ] %zeroes.0.i.i = phi i32 [ %spec.store.select.i133.i, %if.else91.i.i ], [ %conv83..i.i, %if.then75.i.i ] %digits_written.1.i.i = phi i64 [ %digits_written.0.i.i, %if.else91.i.i ], [ %276, %if.then75.i.i ] %cmp117.i.i = icmp eq i8 %cur_section.sroa.62.0, 111 br i1 %cmp117.i.i, label %land.lhs.true118.i.i, label %if.end126.i.i land.lhs.true118.i.i: ; preds = %if.end111.i.i %cmp112.i.i = icmp slt i32 %zeroes.0.i.i, 1 %cmp113.i.i = icmp ne i64 %retval.0.i.i131.fr.i, 0 %cmp114.i.i = icmp eq i64 %digits_written.1.i.i, 0 %.not551.i.i = or i1 %cmp113.i.i, %cmp114.i.i %288 = and i8 %cur_section.sroa.22.0, 8 %cmp122.not.i.i = icmp ne i8 %288, 0 %289 = select i1 %cmp122.not.i.i, i1 %cmp112.i.i, i1 false %narrow.i174.i = select i1 %289, i1 %.not551.i.i, i1 false %spec.select331.i.i = sext i1 %narrow.i174.i to i32 %spec.select548.i.i = add nsw i32 %spaces.0.i.i, %spec.select331.i.i %spec.select549.i.i = select i1 %narrow.i174.i, i32 1, i32 %zeroes.0.i.i br label %if.end126.i.i if.end126.i.i: ; preds = %land.lhs.true118.i.i, %if.end111.i.i %spaces.1.i.i = phi i32 [ %spaces.0.i.i, %if.end111.i.i ], [ %spec.select548.i.i, %land.lhs.true118.i.i ] %zeroes.1.i.i = phi i32 [ %zeroes.0.i.i, %if.end111.i.i ], [ %spec.select549.i.i, %land.lhs.true118.i.i ] %290 = and i8 %flags.0.i.i, 1 %cmp129.not.i.i = icmp eq i8 %290, 0 br i1 %cmp129.not.i.i, label %if.else176.i.i, label %if.then130.i.i if.then130.i.i: ; preds = %if.end126.i.i %cmp131.not.i.i = icmp eq i64 %280, 0 br i1 %cmp131.not.i.i, label %if.end138.i.i, label %if.then132.i.i if.then132.i.i: ; preds = %if.then130.i.i %conv.i.i134.i = trunc nuw nsw i64 %280 to i32 %291 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i.i136.i = add nsw i32 %291, %conv.i.i134.i store i32 %add.i.i136.i, ptr %chars_written.i, align 8, !tbaa !25 %292 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i.i137.i = getelementptr inbounds i8, ptr %292, i64 16 %293 = load i64, ptr %buff_cur.i.i137.i, align 8, !tbaa !19 %add3.i.i138.i = add i64 %293, %280 %buff_len.i.i139.i = getelementptr inbounds i8, ptr %292, i64 8 %294 = load i64, ptr %buff_len.i.i139.i, align 8, !tbaa !18 %cmp.not.i.i140.i = icmp ugt i64 %add3.i.i138.i, %294 br i1 %cmp.not.i.i140.i, label %if.end.i.i150.i, label %if.then.i340.i.i if.then.i340.i.i: ; preds = %if.then132.i.i %295 = load ptr, ptr %292, align 8, !tbaa !15 %add.ptr.i.i141.i = getelementptr inbounds i8, ptr %295, i64 %293 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i141.i, ptr nonnull align 1 %prefix.i.i, i64 %280, i1 false), !alias.scope !149 %296 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur13.i.i142.i = getelementptr inbounds i8, ptr %296, i64 16 %297 = load i64, ptr %buff_cur13.i.i142.i, align 8, !tbaa !19 %add14.i.i143.i = add i64 %297, %280 store i64 %add14.i.i143.i, ptr %buff_cur13.i.i142.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i144.i if.end.i.i150.i: ; preds = %if.then132.i.i call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp20.i.i126.i) store ptr %prefix.i.i, ptr %agg.tmp20.i.i126.i, align 8 store i64 %280, ptr %agg.tmp133338.sroa.5.0.agg.tmp20.i.sroa_idx.i.i, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i.i125.i) %stream_writer.i.i.i151.i = getelementptr inbounds i8, ptr %292, i64 24 %298 = load ptr, ptr %stream_writer.i.i.i151.i, align 8, !tbaa !20 %cmp.not.i.i.i152.i = icmp eq ptr %298, null br i1 %cmp.not.i.i.i152.i, label %if.else.i.i.i168.i, label %if.then.i.i.i153.i if.then.i.i.i153.i: ; preds = %if.end.i.i150.i %cmp2.not.i.i.i154.i = icmp eq i64 %293, 0 br i1 %cmp2.not.i.i.i154.i, label %if.then12.i.i.i162.i, label %if.then3.i.i.i155.i if.then3.i.i.i155.i: ; preds = %if.then.i.i.i153.i %299 = load ptr, ptr %292, align 8, !tbaa !15 store ptr %299, ptr %agg.tmp.i.i.i125.i, align 8, !tbaa !91 store i64 %293, ptr %Len.i.i.i.i.i156.i, align 8, !tbaa !93 %output_target.i.i.i157.i = getelementptr inbounds i8, ptr %292, i64 32 %300 = load ptr, ptr %output_target.i.i.i157.i, align 8, !tbaa !21 %call.i.i.i158.i = call noundef i32 %298(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i.i125.i, ptr noundef %300) #19 %cmp7.i.i.i159.i = icmp sgt i32 %call.i.i.i158.i, -1 br i1 %cmp7.i.i.i159.i, label %if.then3.i.i.i155.if.then12.i.i.i162_crit_edge.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i160.i if.then3.i.i.i155.if.then12.i.i.i162_crit_edge.i: ; preds = %if.then3.i.i.i155.i %.pre.i13 = load ptr, ptr %stream_writer.i.i.i151.i, align 8, !tbaa !20 br label %if.then12.i.i.i162.i if.then12.i.i.i162.i: ; preds = %if.then3.i.i.i155.if.then12.i.i.i162_crit_edge.i, %if.then.i.i.i153.i %301 = phi ptr [ %.pre.i13, %if.then3.i.i.i155.if.then12.i.i.i162_crit_edge.i ], [ %298, %if.then.i.i.i153.i ] %output_target16.i.i.i163.i = getelementptr inbounds i8, ptr %292, i64 32 %302 = load ptr, ptr %output_target16.i.i.i163.i, align 8, !tbaa !21 %call17.i.i.i164.i = call noundef i32 %301(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp20.i.i126.i, ptr noundef %302) #19 %cmp18.i.i.i165.i = icmp sgt i32 %call17.i.i.i164.i, -1 br i1 %cmp18.i.i.i165.i, label %return.sink.split.i.i.i166.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i160.i if.else.i.i.i168.i: ; preds = %if.end.i.i150.i %cmp27.i.i.i169.i = icmp ult i64 %293, %294 br i1 %cmp27.i.i.i169.i, label %if.then28.i.i.i170.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i160.i if.then28.i.i.i170.i: ; preds = %if.else.i.i.i168.i %sub.i.i.i171.i = sub i64 %294, %293 %spec.select.i.i.i172.i = call i64 @llvm.umin.i64(i64 %sub.i.i.i171.i, i64 %280) %303 = load ptr, ptr %292, align 8, !tbaa !15 %add.ptr.i.i342.i.i = getelementptr inbounds i8, ptr %303, i64 %293 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i342.i.i, ptr nonnull align 1 %prefix.i.i, i64 %spec.select.i.i.i172.i, i1 false), !alias.scope !153 %304 = load i64, ptr %buff_cur.i.i137.i, align 8, !tbaa !19 %add.i.i.i173.i = add i64 %304, %spec.select.i.i.i172.i br label %return.sink.split.i.i.i166.i return.sink.split.i.i.i166.i: ; preds = %if.then28.i.i.i170.i, %if.then12.i.i.i162.i %add.sink.i.i.i167.i = phi i64 [ %add.i.i.i173.i, %if.then28.i.i.i170.i ], [ 0, %if.then12.i.i.i162.i ] store i64 %add.sink.i.i.i167.i, ptr %buff_cur.i.i137.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i160.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i160.i: ; preds = %return.sink.split.i.i.i166.i, %if.else.i.i.i168.i, %if.then12.i.i.i162.i, %if.then3.i.i.i155.i %retval.3.i.i.i161.i = phi i32 [ %call.i.i.i158.i, %if.then3.i.i.i155.i ], [ %call17.i.i.i164.i, %if.then12.i.i.i162.i ], [ 0, %if.else.i.i.i168.i ], [ 0, %return.sink.split.i.i.i166.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp20.i.i126.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i.i125.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i144.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i144.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i160.i, %if.then.i340.i.i %retval.0.i341.i.i = phi i32 [ 0, %if.then.i340.i.i ], [ %retval.3.i.i.i161.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i160.i ] %cmp135.i.i = icmp sgt i32 %retval.0.i341.i.i, -1 br i1 %cmp135.i.i, label %if.end138.i.i, label %cleanup228.i.i if.end138.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i144.i, %if.then130.i.i %cmp139.i.i = icmp sgt i32 %zeroes.1.i.i, 0 br i1 %cmp139.i.i, label %if.then140.i.i, label %if.end150.i.i if.then140.i.i: ; preds = %if.end138.i.i %conv142.i.i = zext nneg i32 %zeroes.1.i.i to i64 %305 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i345.i.i = add nsw i32 %305, %zeroes.1.i.i store i32 %add.i345.i.i, ptr %chars_written.i, align 8, !tbaa !25 %306 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i346.i.i = getelementptr inbounds i8, ptr %306, i64 16 %307 = load i64, ptr %buff_cur.i346.i.i, align 8, !tbaa !19 %add2.i.i145.i = add i64 %307, %conv142.i.i %buff_len.i347.i.i = getelementptr inbounds i8, ptr %306, i64 8 %308 = load i64, ptr %buff_len.i347.i.i, align 8, !tbaa !18 %cmp.not.i348.i.i = icmp ugt i64 %add2.i.i145.i, %308 br i1 %cmp.not.i348.i.i, label %if.end.i352.i.i, label %if.then.i349.i.i if.then.i349.i.i: ; preds = %if.then140.i.i %309 = load ptr, ptr %306, align 8, !tbaa !15 %add.ptr.i350.i.i = getelementptr inbounds i8, ptr %309, i64 %307 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i350.i.i, i8 48, i64 %conv142.i.i, i1 false) %310 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur8.i.i146.i = getelementptr inbounds i8, ptr %310, i64 16 %311 = load i64, ptr %buff_cur8.i.i146.i, align 8, !tbaa !19 %add9.i.i147.i = add i64 %311, %conv142.i.i store i64 %add9.i.i147.i, ptr %buff_cur8.i.i146.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i148.i if.end.i352.i.i: ; preds = %if.then140.i.i %sub.i369.i = sub i64 %308, %307 %cmp.not.i370.i = icmp eq i64 %sub.i369.i, 0 br i1 %cmp.not.i370.i, label %if.end.i375.i, label %if.then.i371.i if.then.i371.i: ; preds = %if.end.i352.i.i %312 = load ptr, ptr %306, align 8, !tbaa !15 %add.ptr.i372.i = getelementptr inbounds i8, ptr %312, i64 %307 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i372.i, i8 48, i64 %sub.i369.i, i1 false) %313 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur7.i373.i = getelementptr inbounds i8, ptr %313, i64 16 %314 = load i64, ptr %buff_cur7.i373.i, align 8, !tbaa !19 %add.i374.i = add i64 %314, %sub.i369.i store i64 %add.i374.i, ptr %buff_cur7.i373.i, align 8, !tbaa !19 br label %if.end.i375.i if.end.i375.i: ; preds = %if.then.i371.i, %if.end.i352.i.i call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %mini_buff.i366.i) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %mini_buff.i366.i, i8 48, i64 64, i1 false) br label %while.cond.i378.i while.cond.i378.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i425.i, %if.end.i375.i %written.1.i379.i = phi i64 [ %sub.i369.i, %if.end.i375.i ], [ %add9.i380.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i425.i ] %add9.i380.i = add i64 %written.1.i379.i, 64 %cmp10.i381.i = icmp ult i64 %add9.i380.i, %conv142.i.i br i1 %cmp10.i381.i, label %while.body.i415.i, label %while.end.i382.i while.body.i415.i: ; preds = %while.cond.i378.i %315 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp35.i365.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i364.i) store ptr %mini_buff.i366.i, ptr %agg.tmp35.i365.i, align 8 store i64 64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i376.i, align 8 %stream_writer.i.i416.i = getelementptr inbounds i8, ptr %315, i64 24 %316 = load ptr, ptr %stream_writer.i.i416.i, align 8, !tbaa !20 %cmp.not.i.i417.i = icmp eq ptr %316, null %buff_cur26.i.i418.i = getelementptr inbounds i8, ptr %315, i64 16 %317 = load i64, ptr %buff_cur26.i.i418.i, align 8, !tbaa !19 br i1 %cmp.not.i.i417.i, label %if.else.i.i438.i, label %if.then.i.i419.i if.then.i.i419.i: ; preds = %while.body.i415.i %cmp2.not.i.i420.i = icmp eq i64 %317, 0 br i1 %cmp2.not.i.i420.i, label %if.end9.i.i430.i, label %if.then3.i.i421.i if.then3.i.i421.i: ; preds = %if.then.i.i419.i %318 = load ptr, ptr %315, align 8, !tbaa !15 store ptr %318, ptr %agg.tmp.i.i364.i, align 8, !tbaa !91 store i64 %317, ptr %Len.i.i.i.i377.i, align 8, !tbaa !93 %output_target.i.i422.i = getelementptr inbounds i8, ptr %315, i64 32 %319 = load ptr, ptr %output_target.i.i422.i, align 8, !tbaa !21 %call.i.i423.i = call noundef i32 %316(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i364.i, ptr noundef %319) #19 %cmp7.i.i424.i = icmp sgt i32 %call.i.i423.i, -1 br i1 %cmp7.i.i424.i, label %if.then3.i.if.end9.i_crit_edge.i428.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i425.i if.then3.i.if.end9.i_crit_edge.i428.i: ; preds = %if.then3.i.i421.i %.pre.i429.i = load i64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i376.i, align 8, !tbaa !93 br label %if.end9.i.i430.i if.end9.i.i430.i: ; preds = %if.then3.i.if.end9.i_crit_edge.i428.i, %if.then.i.i419.i %320 = phi i64 [ %.pre.i429.i, %if.then3.i.if.end9.i_crit_edge.i428.i ], [ 64, %if.then.i.i419.i ] %cmp11.not.i.i431.i = icmp eq i64 %320, 0 br i1 %cmp11.not.i.i431.i, label %return.sink.split.i.i436.i, label %if.then12.i.i432.i if.then12.i.i432.i: ; preds = %if.end9.i.i430.i %321 = load ptr, ptr %stream_writer.i.i416.i, align 8, !tbaa !20 %output_target16.i.i433.i = getelementptr inbounds i8, ptr %315, i64 32 %322 = load ptr, ptr %output_target16.i.i433.i, align 8, !tbaa !21 %call17.i.i434.i = call noundef i32 %321(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp35.i365.i, ptr noundef %322) #19 %cmp18.i.i435.i = icmp sgt i32 %call17.i.i434.i, -1 br i1 %cmp18.i.i435.i, label %return.sink.split.i.i436.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i425.i if.else.i.i438.i: ; preds = %while.body.i415.i %buff_len.i.i439.i = getelementptr inbounds i8, ptr %315, i64 8 %323 = load i64, ptr %buff_len.i.i439.i, align 8, !tbaa !18 %cmp27.i.i440.i = icmp ult i64 %317, %323 br i1 %cmp27.i.i440.i, label %if.then28.i.i441.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i425.i if.then28.i.i441.i: ; preds = %if.else.i.i438.i %sub.i.i442.i = sub i64 %323, %317 %spec.select.i.i443.i = call i64 @llvm.umin.i64(i64 %sub.i.i442.i, i64 64) %324 = load ptr, ptr %315, align 8, !tbaa !15 %add.ptr.i.i444.i = getelementptr inbounds i8, ptr %324, i64 %317 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i444.i, ptr nonnull align 1 %mini_buff.i366.i, i64 %spec.select.i.i443.i, i1 false), !alias.scope !157 %325 = load i64, ptr %buff_cur26.i.i418.i, align 8, !tbaa !19 %add.i.i445.i = add i64 %325, %spec.select.i.i443.i br label %return.sink.split.i.i436.i return.sink.split.i.i436.i: ; preds = %if.then28.i.i441.i, %if.then12.i.i432.i, %if.end9.i.i430.i %add.sink.i.i437.i = phi i64 [ %add.i.i445.i, %if.then28.i.i441.i ], [ 0, %if.then12.i.i432.i ], [ 0, %if.end9.i.i430.i ] store i64 %add.sink.i.i437.i, ptr %buff_cur26.i.i418.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i425.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i425.i: ; preds = %return.sink.split.i.i436.i, %if.else.i.i438.i, %if.then12.i.i432.i, %if.then3.i.i421.i %retval.3.i.i426.i = phi i32 [ %call.i.i423.i, %if.then3.i.i421.i ], [ %call17.i.i434.i, %if.then12.i.i432.i ], [ 0, %if.else.i.i438.i ], [ 0, %return.sink.split.i.i436.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp35.i365.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i364.i) %cmp12.not.i427.i = icmp eq i32 %retval.3.i.i426.i, 0 br i1 %cmp12.not.i427.i, label %while.cond.i378.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit446.i, !llvm.loop !102 while.end.i382.i: ; preds = %while.cond.i378.i %written.1.i379.i.lcssa = phi i64 [ %written.1.i379.i, %while.cond.i378.i ] %sub16.i383.i = sub i64 %conv142.i.i, %written.1.i379.i.lcssa %cond.i6.i.i384.i = call noundef i64 @llvm.umin.i64(i64 %sub16.i383.i, i64 64) %326 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1939.i363.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i40.i362.i) store ptr %mini_buff.i366.i, ptr %agg.tmp1939.i363.i, align 8 store i64 %cond.i6.i.i384.i, ptr %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i385.i, align 8 %stream_writer.i41.i386.i = getelementptr inbounds i8, ptr %326, i64 24 %327 = load ptr, ptr %stream_writer.i41.i386.i, align 8, !tbaa !20 %cmp.not.i42.i387.i = icmp eq ptr %327, null %buff_cur26.i43.i388.i = getelementptr inbounds i8, ptr %326, i64 16 %328 = load i64, ptr %buff_cur26.i43.i388.i, align 8, !tbaa !19 br i1 %cmp.not.i42.i387.i, label %if.else.i61.i407.i, label %if.then.i44.i389.i if.then.i44.i389.i: ; preds = %while.end.i382.i %cmp2.not.i45.i390.i = icmp eq i64 %328, 0 br i1 %cmp2.not.i45.i390.i, label %if.end9.i52.i399.i, label %if.then3.i46.i391.i if.then3.i46.i391.i: ; preds = %if.then.i44.i389.i %329 = load ptr, ptr %326, align 8, !tbaa !15 store ptr %329, ptr %agg.tmp.i40.i362.i, align 8, !tbaa !91 store i64 %328, ptr %Len.i.i.i47.i392.i, align 8, !tbaa !93 %output_target.i48.i393.i = getelementptr inbounds i8, ptr %326, i64 32 %330 = load ptr, ptr %output_target.i48.i393.i, align 8, !tbaa !21 %call.i49.i394.i = call noundef i32 %327(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i40.i362.i, ptr noundef %330) #19 %cmp7.i50.i395.i = icmp sgt i32 %call.i49.i394.i, -1 br i1 %cmp7.i50.i395.i, label %if.end9.i52.i399.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i396.i if.end9.i52.i399.i: ; preds = %if.then3.i46.i391.i, %if.then.i44.i389.i %cmp11.not.i54.i400.i = icmp eq i64 %written.1.i379.i.lcssa, %conv142.i.i br i1 %cmp11.not.i54.i400.i, label %return.sink.split.i59.i405.i, label %if.then12.i55.i401.i if.then12.i55.i401.i: ; preds = %if.end9.i52.i399.i %331 = load ptr, ptr %stream_writer.i41.i386.i, align 8, !tbaa !20 %output_target16.i56.i402.i = getelementptr inbounds i8, ptr %326, i64 32 %332 = load ptr, ptr %output_target16.i56.i402.i, align 8, !tbaa !21 %call17.i57.i403.i = call noundef i32 %331(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp1939.i363.i, ptr noundef %332) #19 %cmp18.i58.i404.i = icmp sgt i32 %call17.i57.i403.i, -1 br i1 %cmp18.i58.i404.i, label %return.sink.split.i59.i405.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i396.i if.else.i61.i407.i: ; preds = %while.end.i382.i %buff_len.i62.i408.i = getelementptr inbounds i8, ptr %326, i64 8 %333 = load i64, ptr %buff_len.i62.i408.i, align 8, !tbaa !18 %cmp27.i63.i409.i = icmp ult i64 %328, %333 br i1 %cmp27.i63.i409.i, label %if.then28.i64.i410.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i396.i if.then28.i64.i410.i: ; preds = %if.else.i61.i407.i %sub.i65.i411.i = sub i64 %333, %328 %spec.select.i67.i412.i = call i64 @llvm.umin.i64(i64 %sub.i65.i411.i, i64 %cond.i6.i.i384.i) %334 = load ptr, ptr %326, align 8, !tbaa !15 %add.ptr.i68.i413.i = getelementptr inbounds i8, ptr %334, i64 %328 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i68.i413.i, ptr nonnull align 1 %mini_buff.i366.i, i64 %spec.select.i67.i412.i, i1 false), !alias.scope !161 %335 = load i64, ptr %buff_cur26.i43.i388.i, align 8, !tbaa !19 %add.i69.i414.i = add i64 %335, %spec.select.i67.i412.i br label %return.sink.split.i59.i405.i return.sink.split.i59.i405.i: ; preds = %if.then28.i64.i410.i, %if.then12.i55.i401.i, %if.end9.i52.i399.i %add.sink.i60.i406.i = phi i64 [ %add.i69.i414.i, %if.then28.i64.i410.i ], [ 0, %if.then12.i55.i401.i ], [ 0, %if.end9.i52.i399.i ] store i64 %add.sink.i60.i406.i, ptr %buff_cur26.i43.i388.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i396.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i396.i: ; preds = %return.sink.split.i59.i405.i, %if.else.i61.i407.i, %if.then12.i55.i401.i, %if.then3.i46.i391.i %retval.3.i51.i397.i = phi i32 [ %call.i49.i394.i, %if.then3.i46.i391.i ], [ %call17.i57.i403.i, %if.then12.i55.i401.i ], [ 0, %if.else.i61.i407.i ], [ 0, %return.sink.split.i59.i405.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1939.i363.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i40.i362.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit446.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit446.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i396.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i425.i %retval.2.i398.i = phi i32 [ %retval.3.i51.i397.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i396.i ], [ %retval.3.i.i426.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i425.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %mini_buff.i366.i) #18 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i148.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i148.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit446.i, %if.then.i349.i.i %retval.0.i351.i.i = phi i32 [ 0, %if.then.i349.i.i ], [ %retval.2.i398.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit446.i ] %cmp144.i.i = icmp sgt i32 %retval.0.i351.i.i, -1 br i1 %cmp144.i.i, label %if.end150.i.i, label %cleanup228.i.i if.end150.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i148.i, %if.end138.i.i %cmp151.not.i.i = icmp eq i64 %digits_written.1.i.i, 0 br i1 %cmp151.not.i.i, label %if.end163.i.i, label %if.then152.i.i if.then152.i.i: ; preds = %if.end150.i.i %conv.i357.i.i = trunc i64 %276 to i32 %336 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i359.i.i = add nsw i32 %336, %conv.i357.i.i store i32 %add.i359.i.i, ptr %chars_written.i, align 8, !tbaa !25 %337 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i360.i.i = getelementptr inbounds i8, ptr %337, i64 16 %338 = load i64, ptr %buff_cur.i360.i.i, align 8, !tbaa !19 %add3.i361.i.i = add i64 %338, %276 %buff_len.i362.i.i = getelementptr inbounds i8, ptr %337, i64 8 %339 = load i64, ptr %buff_len.i362.i.i, align 8, !tbaa !18 %cmp.not.i363.i.i = icmp ugt i64 %add3.i361.i.i, %339 br i1 %cmp.not.i363.i.i, label %if.end.i369.i.i, label %if.then.i364.i.i if.then.i364.i.i: ; preds = %if.then152.i.i %340 = load ptr, ptr %337, align 8, !tbaa !15 %add.ptr.i365.i.i = getelementptr inbounds i8, ptr %340, i64 %338 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i365.i.i, ptr nonnull align 1 %add.ptr4.i301.i.i.i, i64 %276, i1 false), !alias.scope !165 %341 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur13.i366.i.i = getelementptr inbounds i8, ptr %341, i64 16 %342 = load i64, ptr %buff_cur13.i366.i.i, align 8, !tbaa !19 %add14.i367.i.i = add i64 %342, %276 store i64 %add14.i367.i.i, ptr %buff_cur13.i366.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit398.i.i if.end.i369.i.i: ; preds = %if.then152.i.i call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp20.i355.i.i) store ptr %add.ptr4.i301.i.i.i, ptr %agg.tmp20.i355.i.i, align 8 store i64 %276, ptr %agg.tmp154353.sroa.5.0.agg.tmp20.i355.sroa_idx.i.i, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i354.i.i) %stream_writer.i.i370.i.i = getelementptr inbounds i8, ptr %337, i64 24 %343 = load ptr, ptr %stream_writer.i.i370.i.i, align 8, !tbaa !20 %cmp.not.i.i371.i.i = icmp eq ptr %343, null br i1 %cmp.not.i.i371.i.i, label %if.else.i.i390.i.i, label %if.then.i.i372.i.i if.then.i.i372.i.i: ; preds = %if.end.i369.i.i %cmp2.not.i.i373.i.i = icmp eq i64 %338, 0 br i1 %cmp2.not.i.i373.i.i, label %if.end9.i.i381.i.i, label %if.then3.i.i374.i.i if.then3.i.i374.i.i: ; preds = %if.then.i.i372.i.i %344 = load ptr, ptr %337, align 8, !tbaa !15 store ptr %344, ptr %agg.tmp.i.i354.i.i, align 8, !tbaa !91 store i64 %338, ptr %Len.i.i.i.i375.i.i, align 8, !tbaa !93 %output_target.i.i376.i.i = getelementptr inbounds i8, ptr %337, i64 32 %345 = load ptr, ptr %output_target.i.i376.i.i, align 8, !tbaa !21 %call.i.i377.i.i = call noundef i32 %343(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i354.i.i, ptr noundef %345) #19 %cmp7.i.i378.i.i = icmp sgt i32 %call.i.i377.i.i, -1 br i1 %cmp7.i.i378.i.i, label %if.end9.i.i381.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i379.i.i if.end9.i.i381.i.i: ; preds = %if.then3.i.i374.i.i, %if.then.i.i372.i.i %cmp11.not.i.i383.i.i = icmp eq i64 %276, 0 br i1 %cmp11.not.i.i383.i.i, label %return.sink.split.i.i388.i.i, label %if.then12.i.i384.i.i if.then12.i.i384.i.i: ; preds = %if.end9.i.i381.i.i %346 = load ptr, ptr %stream_writer.i.i370.i.i, align 8, !tbaa !20 %output_target16.i.i385.i.i = getelementptr inbounds i8, ptr %337, i64 32 %347 = load ptr, ptr %output_target16.i.i385.i.i, align 8, !tbaa !21 %call17.i.i386.i.i = call noundef i32 %346(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp20.i355.i.i, ptr noundef %347) #19 %cmp18.i.i387.i.i = icmp sgt i32 %call17.i.i386.i.i, -1 br i1 %cmp18.i.i387.i.i, label %return.sink.split.i.i388.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i379.i.i if.else.i.i390.i.i: ; preds = %if.end.i369.i.i %cmp27.i.i391.i.i = icmp ult i64 %338, %339 br i1 %cmp27.i.i391.i.i, label %if.then28.i.i392.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i379.i.i if.then28.i.i392.i.i: ; preds = %if.else.i.i390.i.i %sub.i.i393.i.i = sub i64 %339, %338 %spec.select.i.i395.i.i = call i64 @llvm.umin.i64(i64 %sub.i.i393.i.i, i64 %276) %348 = load ptr, ptr %337, align 8, !tbaa !15 %add.ptr.i.i396.i.i = getelementptr inbounds i8, ptr %348, i64 %338 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i396.i.i, ptr nonnull align 1 %add.ptr4.i301.i.i.i, i64 %spec.select.i.i395.i.i, i1 false), !alias.scope !169 %349 = load i64, ptr %buff_cur.i360.i.i, align 8, !tbaa !19 %add.i.i397.i.i = add i64 %349, %spec.select.i.i395.i.i br label %return.sink.split.i.i388.i.i return.sink.split.i.i388.i.i: ; preds = %if.then28.i.i392.i.i, %if.then12.i.i384.i.i, %if.end9.i.i381.i.i %add.sink.i.i389.i.i = phi i64 [ %add.i.i397.i.i, %if.then28.i.i392.i.i ], [ 0, %if.then12.i.i384.i.i ], [ 0, %if.end9.i.i381.i.i ] store i64 %add.sink.i.i389.i.i, ptr %buff_cur.i360.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i379.i.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i379.i.i: ; preds = %return.sink.split.i.i388.i.i, %if.else.i.i390.i.i, %if.then12.i.i384.i.i, %if.then3.i.i374.i.i %retval.3.i.i380.i.i = phi i32 [ %call.i.i377.i.i, %if.then3.i.i374.i.i ], [ %call17.i.i386.i.i, %if.then12.i.i384.i.i ], [ 0, %if.else.i.i390.i.i ], [ 0, %return.sink.split.i.i388.i.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp20.i355.i.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i354.i.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit398.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit398.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i379.i.i, %if.then.i364.i.i %retval.0.i368.i.i = phi i32 [ 0, %if.then.i364.i.i ], [ %retval.3.i.i380.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i379.i.i ] %cmp157.i.i = icmp sgt i32 %retval.0.i368.i.i, -1 br i1 %cmp157.i.i, label %if.end163.i.i, label %cleanup228.i.i if.end163.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit398.i.i, %if.end150.i.i %cmp164.i.i = icmp sgt i32 %spaces.1.i.i, 0 br i1 %cmp164.i.i, label %if.then165.i.i, label %if.end227.i.i if.then165.i.i: ; preds = %if.end163.i.i %conv167.i.i = zext nneg i32 %spaces.1.i.i to i64 %350 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i401.i.i = add nsw i32 %350, %spaces.1.i.i store i32 %add.i401.i.i, ptr %chars_written.i, align 8, !tbaa !25 %351 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i402.i.i = getelementptr inbounds i8, ptr %351, i64 16 %352 = load i64, ptr %buff_cur.i402.i.i, align 8, !tbaa !19 %add2.i403.i.i = add i64 %352, %conv167.i.i %buff_len.i404.i.i = getelementptr inbounds i8, ptr %351, i64 8 %353 = load i64, ptr %buff_len.i404.i.i, align 8, !tbaa !18 %cmp.not.i405.i.i = icmp ugt i64 %add2.i403.i.i, %353 br i1 %cmp.not.i405.i.i, label %if.end.i411.i.i, label %if.then.i406.i.i if.then.i406.i.i: ; preds = %if.then165.i.i %354 = load ptr, ptr %351, align 8, !tbaa !15 %add.ptr.i407.i.i = getelementptr inbounds i8, ptr %354, i64 %352 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i407.i.i, i8 32, i64 %conv167.i.i, i1 false) %355 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur8.i408.i.i = getelementptr inbounds i8, ptr %355, i64 16 %356 = load i64, ptr %buff_cur8.i408.i.i, align 8, !tbaa !19 %add9.i409.i.i = add i64 %356, %conv167.i.i store i64 %add9.i409.i.i, ptr %buff_cur8.i408.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit413.i.i if.end.i411.i.i: ; preds = %if.then165.i.i %sub.i454.i = sub i64 %353, %352 %cmp.not.i455.i = icmp eq i64 %sub.i454.i, 0 br i1 %cmp.not.i455.i, label %if.end.i460.i, label %if.then.i456.i if.then.i456.i: ; preds = %if.end.i411.i.i %357 = load ptr, ptr %351, align 8, !tbaa !15 %add.ptr.i457.i = getelementptr inbounds i8, ptr %357, i64 %352 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i457.i, i8 32, i64 %sub.i454.i, i1 false) %358 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur7.i458.i = getelementptr inbounds i8, ptr %358, i64 16 %359 = load i64, ptr %buff_cur7.i458.i, align 8, !tbaa !19 %add.i459.i = add i64 %359, %sub.i454.i store i64 %add.i459.i, ptr %buff_cur7.i458.i, align 8, !tbaa !19 br label %if.end.i460.i if.end.i460.i: ; preds = %if.then.i456.i, %if.end.i411.i.i call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %mini_buff.i451.i) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %mini_buff.i451.i, i8 32, i64 64, i1 false) br label %while.cond.i463.i while.cond.i463.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i510.i, %if.end.i460.i %written.1.i464.i = phi i64 [ %sub.i454.i, %if.end.i460.i ], [ %add9.i465.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i510.i ] %add9.i465.i = add i64 %written.1.i464.i, 64 %cmp10.i466.i = icmp ult i64 %add9.i465.i, %conv167.i.i br i1 %cmp10.i466.i, label %while.body.i500.i, label %while.end.i467.i while.body.i500.i: ; preds = %while.cond.i463.i %360 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp35.i450.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i449.i) store ptr %mini_buff.i451.i, ptr %agg.tmp35.i450.i, align 8 store i64 64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i461.i, align 8 %stream_writer.i.i501.i = getelementptr inbounds i8, ptr %360, i64 24 %361 = load ptr, ptr %stream_writer.i.i501.i, align 8, !tbaa !20 %cmp.not.i.i502.i = icmp eq ptr %361, null %buff_cur26.i.i503.i = getelementptr inbounds i8, ptr %360, i64 16 %362 = load i64, ptr %buff_cur26.i.i503.i, align 8, !tbaa !19 br i1 %cmp.not.i.i502.i, label %if.else.i.i523.i, label %if.then.i.i504.i if.then.i.i504.i: ; preds = %while.body.i500.i %cmp2.not.i.i505.i = icmp eq i64 %362, 0 br i1 %cmp2.not.i.i505.i, label %if.end9.i.i515.i, label %if.then3.i.i506.i if.then3.i.i506.i: ; preds = %if.then.i.i504.i %363 = load ptr, ptr %360, align 8, !tbaa !15 store ptr %363, ptr %agg.tmp.i.i449.i, align 8, !tbaa !91 store i64 %362, ptr %Len.i.i.i.i462.i, align 8, !tbaa !93 %output_target.i.i507.i = getelementptr inbounds i8, ptr %360, i64 32 %364 = load ptr, ptr %output_target.i.i507.i, align 8, !tbaa !21 %call.i.i508.i = call noundef i32 %361(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i449.i, ptr noundef %364) #19 %cmp7.i.i509.i = icmp sgt i32 %call.i.i508.i, -1 br i1 %cmp7.i.i509.i, label %if.then3.i.if.end9.i_crit_edge.i513.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i510.i if.then3.i.if.end9.i_crit_edge.i513.i: ; preds = %if.then3.i.i506.i %.pre.i514.i = load i64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i461.i, align 8, !tbaa !93 br label %if.end9.i.i515.i if.end9.i.i515.i: ; preds = %if.then3.i.if.end9.i_crit_edge.i513.i, %if.then.i.i504.i %365 = phi i64 [ %.pre.i514.i, %if.then3.i.if.end9.i_crit_edge.i513.i ], [ 64, %if.then.i.i504.i ] %cmp11.not.i.i516.i = icmp eq i64 %365, 0 br i1 %cmp11.not.i.i516.i, label %return.sink.split.i.i521.i, label %if.then12.i.i517.i if.then12.i.i517.i: ; preds = %if.end9.i.i515.i %366 = load ptr, ptr %stream_writer.i.i501.i, align 8, !tbaa !20 %output_target16.i.i518.i = getelementptr inbounds i8, ptr %360, i64 32 %367 = load ptr, ptr %output_target16.i.i518.i, align 8, !tbaa !21 %call17.i.i519.i = call noundef i32 %366(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp35.i450.i, ptr noundef %367) #19 %cmp18.i.i520.i = icmp sgt i32 %call17.i.i519.i, -1 br i1 %cmp18.i.i520.i, label %return.sink.split.i.i521.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i510.i if.else.i.i523.i: ; preds = %while.body.i500.i %buff_len.i.i524.i = getelementptr inbounds i8, ptr %360, i64 8 %368 = load i64, ptr %buff_len.i.i524.i, align 8, !tbaa !18 %cmp27.i.i525.i = icmp ult i64 %362, %368 br i1 %cmp27.i.i525.i, label %if.then28.i.i526.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i510.i if.then28.i.i526.i: ; preds = %if.else.i.i523.i %sub.i.i527.i = sub i64 %368, %362 %spec.select.i.i528.i = call i64 @llvm.umin.i64(i64 %sub.i.i527.i, i64 64) %369 = load ptr, ptr %360, align 8, !tbaa !15 %add.ptr.i.i529.i = getelementptr inbounds i8, ptr %369, i64 %362 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i529.i, ptr nonnull align 1 %mini_buff.i451.i, i64 %spec.select.i.i528.i, i1 false), !alias.scope !173 %370 = load i64, ptr %buff_cur26.i.i503.i, align 8, !tbaa !19 %add.i.i530.i = add i64 %370, %spec.select.i.i528.i br label %return.sink.split.i.i521.i return.sink.split.i.i521.i: ; preds = %if.then28.i.i526.i, %if.then12.i.i517.i, %if.end9.i.i515.i %add.sink.i.i522.i = phi i64 [ %add.i.i530.i, %if.then28.i.i526.i ], [ 0, %if.then12.i.i517.i ], [ 0, %if.end9.i.i515.i ] store i64 %add.sink.i.i522.i, ptr %buff_cur26.i.i503.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i510.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i510.i: ; preds = %return.sink.split.i.i521.i, %if.else.i.i523.i, %if.then12.i.i517.i, %if.then3.i.i506.i %retval.3.i.i511.i = phi i32 [ %call.i.i508.i, %if.then3.i.i506.i ], [ %call17.i.i519.i, %if.then12.i.i517.i ], [ 0, %if.else.i.i523.i ], [ 0, %return.sink.split.i.i521.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp35.i450.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i449.i) %cmp12.not.i512.i = icmp eq i32 %retval.3.i.i511.i, 0 br i1 %cmp12.not.i512.i, label %while.cond.i463.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit531.i, !llvm.loop !102 while.end.i467.i: ; preds = %while.cond.i463.i %written.1.i464.i.lcssa = phi i64 [ %written.1.i464.i, %while.cond.i463.i ] %sub16.i468.i = sub i64 %conv167.i.i, %written.1.i464.i.lcssa %cond.i6.i.i469.i = call noundef i64 @llvm.umin.i64(i64 %sub16.i468.i, i64 64) %371 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1939.i448.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i40.i447.i) store ptr %mini_buff.i451.i, ptr %agg.tmp1939.i448.i, align 8 store i64 %cond.i6.i.i469.i, ptr %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i470.i, align 8 %stream_writer.i41.i471.i = getelementptr inbounds i8, ptr %371, i64 24 %372 = load ptr, ptr %stream_writer.i41.i471.i, align 8, !tbaa !20 %cmp.not.i42.i472.i = icmp eq ptr %372, null %buff_cur26.i43.i473.i = getelementptr inbounds i8, ptr %371, i64 16 %373 = load i64, ptr %buff_cur26.i43.i473.i, align 8, !tbaa !19 br i1 %cmp.not.i42.i472.i, label %if.else.i61.i492.i, label %if.then.i44.i474.i if.then.i44.i474.i: ; preds = %while.end.i467.i %cmp2.not.i45.i475.i = icmp eq i64 %373, 0 br i1 %cmp2.not.i45.i475.i, label %if.end9.i52.i484.i, label %if.then3.i46.i476.i if.then3.i46.i476.i: ; preds = %if.then.i44.i474.i %374 = load ptr, ptr %371, align 8, !tbaa !15 store ptr %374, ptr %agg.tmp.i40.i447.i, align 8, !tbaa !91 store i64 %373, ptr %Len.i.i.i47.i477.i, align 8, !tbaa !93 %output_target.i48.i478.i = getelementptr inbounds i8, ptr %371, i64 32 %375 = load ptr, ptr %output_target.i48.i478.i, align 8, !tbaa !21 %call.i49.i479.i = call noundef i32 %372(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i40.i447.i, ptr noundef %375) #19 %cmp7.i50.i480.i = icmp sgt i32 %call.i49.i479.i, -1 br i1 %cmp7.i50.i480.i, label %if.end9.i52.i484.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i481.i if.end9.i52.i484.i: ; preds = %if.then3.i46.i476.i, %if.then.i44.i474.i %cmp11.not.i54.i485.i = icmp eq i64 %written.1.i464.i.lcssa, %conv167.i.i br i1 %cmp11.not.i54.i485.i, label %return.sink.split.i59.i490.i, label %if.then12.i55.i486.i if.then12.i55.i486.i: ; preds = %if.end9.i52.i484.i %376 = load ptr, ptr %stream_writer.i41.i471.i, align 8, !tbaa !20 %output_target16.i56.i487.i = getelementptr inbounds i8, ptr %371, i64 32 %377 = load ptr, ptr %output_target16.i56.i487.i, align 8, !tbaa !21 %call17.i57.i488.i = call noundef i32 %376(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp1939.i448.i, ptr noundef %377) #19 %cmp18.i58.i489.i = icmp sgt i32 %call17.i57.i488.i, -1 br i1 %cmp18.i58.i489.i, label %return.sink.split.i59.i490.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i481.i if.else.i61.i492.i: ; preds = %while.end.i467.i %buff_len.i62.i493.i = getelementptr inbounds i8, ptr %371, i64 8 %378 = load i64, ptr %buff_len.i62.i493.i, align 8, !tbaa !18 %cmp27.i63.i494.i = icmp ult i64 %373, %378 br i1 %cmp27.i63.i494.i, label %if.then28.i64.i495.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i481.i if.then28.i64.i495.i: ; preds = %if.else.i61.i492.i %sub.i65.i496.i = sub i64 %378, %373 %spec.select.i67.i497.i = call i64 @llvm.umin.i64(i64 %sub.i65.i496.i, i64 %cond.i6.i.i469.i) %379 = load ptr, ptr %371, align 8, !tbaa !15 %add.ptr.i68.i498.i = getelementptr inbounds i8, ptr %379, i64 %373 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i68.i498.i, ptr nonnull align 1 %mini_buff.i451.i, i64 %spec.select.i67.i497.i, i1 false), !alias.scope !177 %380 = load i64, ptr %buff_cur26.i43.i473.i, align 8, !tbaa !19 %add.i69.i499.i = add i64 %380, %spec.select.i67.i497.i br label %return.sink.split.i59.i490.i return.sink.split.i59.i490.i: ; preds = %if.then28.i64.i495.i, %if.then12.i55.i486.i, %if.end9.i52.i484.i %add.sink.i60.i491.i = phi i64 [ %add.i69.i499.i, %if.then28.i64.i495.i ], [ 0, %if.then12.i55.i486.i ], [ 0, %if.end9.i52.i484.i ] store i64 %add.sink.i60.i491.i, ptr %buff_cur26.i43.i473.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i481.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i481.i: ; preds = %return.sink.split.i59.i490.i, %if.else.i61.i492.i, %if.then12.i55.i486.i, %if.then3.i46.i476.i %retval.3.i51.i482.i = phi i32 [ %call.i49.i479.i, %if.then3.i46.i476.i ], [ %call17.i57.i488.i, %if.then12.i55.i486.i ], [ 0, %if.else.i61.i492.i ], [ 0, %return.sink.split.i59.i490.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1939.i448.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i40.i447.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit531.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit531.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i481.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i510.i %retval.2.i483.i = phi i32 [ %retval.3.i51.i482.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i481.i ], [ %retval.3.i.i511.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i510.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %mini_buff.i451.i) #18 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit413.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit413.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit531.i, %if.then.i406.i.i %retval.0.i410.i.i = phi i32 [ 0, %if.then.i406.i.i ], [ %retval.2.i483.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit531.i ] %cmp169.i.i = icmp sgt i32 %retval.0.i410.i.i, -1 br i1 %cmp169.i.i, label %if.end227.i.i, label %cleanup228.i.i if.else176.i.i: ; preds = %if.end126.i.i %cmp177.i.i = icmp sgt i32 %spaces.1.i.i, 0 br i1 %cmp177.i.i, label %if.then178.i.i, label %if.end188.i.i if.then178.i.i: ; preds = %if.else176.i.i %conv180.i.i = zext nneg i32 %spaces.1.i.i to i64 %381 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i416.i.i = add nsw i32 %381, %spaces.1.i.i store i32 %add.i416.i.i, ptr %chars_written.i, align 8, !tbaa !25 %382 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i417.i.i = getelementptr inbounds i8, ptr %382, i64 16 %383 = load i64, ptr %buff_cur.i417.i.i, align 8, !tbaa !19 %add2.i418.i.i = add i64 %383, %conv180.i.i %buff_len.i419.i.i = getelementptr inbounds i8, ptr %382, i64 8 %384 = load i64, ptr %buff_len.i419.i.i, align 8, !tbaa !18 %cmp.not.i420.i.i = icmp ugt i64 %add2.i418.i.i, %384 br i1 %cmp.not.i420.i.i, label %if.end.i426.i.i, label %if.then.i421.i.i if.then.i421.i.i: ; preds = %if.then178.i.i %385 = load ptr, ptr %382, align 8, !tbaa !15 %add.ptr.i422.i.i = getelementptr inbounds i8, ptr %385, i64 %383 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i422.i.i, i8 32, i64 %conv180.i.i, i1 false) %386 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur8.i423.i.i = getelementptr inbounds i8, ptr %386, i64 16 %387 = load i64, ptr %buff_cur8.i423.i.i, align 8, !tbaa !19 %add9.i424.i.i = add i64 %387, %conv180.i.i store i64 %add9.i424.i.i, ptr %buff_cur8.i423.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.i if.end.i426.i.i: ; preds = %if.then178.i.i %sub.i539.i = sub i64 %384, %383 %cmp.not.i540.i = icmp eq i64 %sub.i539.i, 0 br i1 %cmp.not.i540.i, label %if.end.i545.i, label %if.then.i541.i if.then.i541.i: ; preds = %if.end.i426.i.i %388 = load ptr, ptr %382, align 8, !tbaa !15 %add.ptr.i542.i = getelementptr inbounds i8, ptr %388, i64 %383 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i542.i, i8 32, i64 %sub.i539.i, i1 false) %389 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur7.i543.i = getelementptr inbounds i8, ptr %389, i64 16 %390 = load i64, ptr %buff_cur7.i543.i, align 8, !tbaa !19 %add.i544.i = add i64 %390, %sub.i539.i store i64 %add.i544.i, ptr %buff_cur7.i543.i, align 8, !tbaa !19 br label %if.end.i545.i if.end.i545.i: ; preds = %if.then.i541.i, %if.end.i426.i.i call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %mini_buff.i536.i) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %mini_buff.i536.i, i8 32, i64 64, i1 false) br label %while.cond.i548.i while.cond.i548.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i595.i, %if.end.i545.i %written.1.i549.i = phi i64 [ %sub.i539.i, %if.end.i545.i ], [ %add9.i550.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i595.i ] %add9.i550.i = add i64 %written.1.i549.i, 64 %cmp10.i551.i = icmp ult i64 %add9.i550.i, %conv180.i.i br i1 %cmp10.i551.i, label %while.body.i585.i, label %while.end.i552.i while.body.i585.i: ; preds = %while.cond.i548.i %391 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp35.i535.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i534.i) store ptr %mini_buff.i536.i, ptr %agg.tmp35.i535.i, align 8 store i64 64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i546.i, align 8 %stream_writer.i.i586.i = getelementptr inbounds i8, ptr %391, i64 24 %392 = load ptr, ptr %stream_writer.i.i586.i, align 8, !tbaa !20 %cmp.not.i.i587.i = icmp eq ptr %392, null %buff_cur26.i.i588.i = getelementptr inbounds i8, ptr %391, i64 16 %393 = load i64, ptr %buff_cur26.i.i588.i, align 8, !tbaa !19 br i1 %cmp.not.i.i587.i, label %if.else.i.i608.i, label %if.then.i.i589.i if.then.i.i589.i: ; preds = %while.body.i585.i %cmp2.not.i.i590.i = icmp eq i64 %393, 0 br i1 %cmp2.not.i.i590.i, label %if.end9.i.i600.i, label %if.then3.i.i591.i if.then3.i.i591.i: ; preds = %if.then.i.i589.i %394 = load ptr, ptr %391, align 8, !tbaa !15 store ptr %394, ptr %agg.tmp.i.i534.i, align 8, !tbaa !91 store i64 %393, ptr %Len.i.i.i.i547.i, align 8, !tbaa !93 %output_target.i.i592.i = getelementptr inbounds i8, ptr %391, i64 32 %395 = load ptr, ptr %output_target.i.i592.i, align 8, !tbaa !21 %call.i.i593.i = call noundef i32 %392(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i534.i, ptr noundef %395) #19 %cmp7.i.i594.i = icmp sgt i32 %call.i.i593.i, -1 br i1 %cmp7.i.i594.i, label %if.then3.i.if.end9.i_crit_edge.i598.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i595.i if.then3.i.if.end9.i_crit_edge.i598.i: ; preds = %if.then3.i.i591.i %.pre.i599.i = load i64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i546.i, align 8, !tbaa !93 br label %if.end9.i.i600.i if.end9.i.i600.i: ; preds = %if.then3.i.if.end9.i_crit_edge.i598.i, %if.then.i.i589.i %396 = phi i64 [ %.pre.i599.i, %if.then3.i.if.end9.i_crit_edge.i598.i ], [ 64, %if.then.i.i589.i ] %cmp11.not.i.i601.i = icmp eq i64 %396, 0 br i1 %cmp11.not.i.i601.i, label %return.sink.split.i.i606.i, label %if.then12.i.i602.i if.then12.i.i602.i: ; preds = %if.end9.i.i600.i %397 = load ptr, ptr %stream_writer.i.i586.i, align 8, !tbaa !20 %output_target16.i.i603.i = getelementptr inbounds i8, ptr %391, i64 32 %398 = load ptr, ptr %output_target16.i.i603.i, align 8, !tbaa !21 %call17.i.i604.i = call noundef i32 %397(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp35.i535.i, ptr noundef %398) #19 %cmp18.i.i605.i = icmp sgt i32 %call17.i.i604.i, -1 br i1 %cmp18.i.i605.i, label %return.sink.split.i.i606.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i595.i if.else.i.i608.i: ; preds = %while.body.i585.i %buff_len.i.i609.i = getelementptr inbounds i8, ptr %391, i64 8 %399 = load i64, ptr %buff_len.i.i609.i, align 8, !tbaa !18 %cmp27.i.i610.i = icmp ult i64 %393, %399 br i1 %cmp27.i.i610.i, label %if.then28.i.i611.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i595.i if.then28.i.i611.i: ; preds = %if.else.i.i608.i %sub.i.i612.i = sub i64 %399, %393 %spec.select.i.i613.i = call i64 @llvm.umin.i64(i64 %sub.i.i612.i, i64 64) %400 = load ptr, ptr %391, align 8, !tbaa !15 %add.ptr.i.i614.i = getelementptr inbounds i8, ptr %400, i64 %393 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i614.i, ptr nonnull align 1 %mini_buff.i536.i, i64 %spec.select.i.i613.i, i1 false), !alias.scope !181 %401 = load i64, ptr %buff_cur26.i.i588.i, align 8, !tbaa !19 %add.i.i615.i = add i64 %401, %spec.select.i.i613.i br label %return.sink.split.i.i606.i return.sink.split.i.i606.i: ; preds = %if.then28.i.i611.i, %if.then12.i.i602.i, %if.end9.i.i600.i %add.sink.i.i607.i = phi i64 [ %add.i.i615.i, %if.then28.i.i611.i ], [ 0, %if.then12.i.i602.i ], [ 0, %if.end9.i.i600.i ] store i64 %add.sink.i.i607.i, ptr %buff_cur26.i.i588.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i595.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i595.i: ; preds = %return.sink.split.i.i606.i, %if.else.i.i608.i, %if.then12.i.i602.i, %if.then3.i.i591.i %retval.3.i.i596.i = phi i32 [ %call.i.i593.i, %if.then3.i.i591.i ], [ %call17.i.i604.i, %if.then12.i.i602.i ], [ 0, %if.else.i.i608.i ], [ 0, %return.sink.split.i.i606.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp35.i535.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i534.i) %cmp12.not.i597.i = icmp eq i32 %retval.3.i.i596.i, 0 br i1 %cmp12.not.i597.i, label %while.cond.i548.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit616.i, !llvm.loop !102 while.end.i552.i: ; preds = %while.cond.i548.i %written.1.i549.i.lcssa = phi i64 [ %written.1.i549.i, %while.cond.i548.i ] %sub16.i553.i = sub i64 %conv180.i.i, %written.1.i549.i.lcssa %cond.i6.i.i554.i = call noundef i64 @llvm.umin.i64(i64 %sub16.i553.i, i64 64) %402 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1939.i533.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i40.i532.i) store ptr %mini_buff.i536.i, ptr %agg.tmp1939.i533.i, align 8 store i64 %cond.i6.i.i554.i, ptr %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i555.i, align 8 %stream_writer.i41.i556.i = getelementptr inbounds i8, ptr %402, i64 24 %403 = load ptr, ptr %stream_writer.i41.i556.i, align 8, !tbaa !20 %cmp.not.i42.i557.i = icmp eq ptr %403, null %buff_cur26.i43.i558.i = getelementptr inbounds i8, ptr %402, i64 16 %404 = load i64, ptr %buff_cur26.i43.i558.i, align 8, !tbaa !19 br i1 %cmp.not.i42.i557.i, label %if.else.i61.i577.i, label %if.then.i44.i559.i if.then.i44.i559.i: ; preds = %while.end.i552.i %cmp2.not.i45.i560.i = icmp eq i64 %404, 0 br i1 %cmp2.not.i45.i560.i, label %if.end9.i52.i569.i, label %if.then3.i46.i561.i if.then3.i46.i561.i: ; preds = %if.then.i44.i559.i %405 = load ptr, ptr %402, align 8, !tbaa !15 store ptr %405, ptr %agg.tmp.i40.i532.i, align 8, !tbaa !91 store i64 %404, ptr %Len.i.i.i47.i562.i, align 8, !tbaa !93 %output_target.i48.i563.i = getelementptr inbounds i8, ptr %402, i64 32 %406 = load ptr, ptr %output_target.i48.i563.i, align 8, !tbaa !21 %call.i49.i564.i = call noundef i32 %403(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i40.i532.i, ptr noundef %406) #19 %cmp7.i50.i565.i = icmp sgt i32 %call.i49.i564.i, -1 br i1 %cmp7.i50.i565.i, label %if.end9.i52.i569.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i566.i if.end9.i52.i569.i: ; preds = %if.then3.i46.i561.i, %if.then.i44.i559.i %cmp11.not.i54.i570.i = icmp eq i64 %written.1.i549.i.lcssa, %conv180.i.i br i1 %cmp11.not.i54.i570.i, label %return.sink.split.i59.i575.i, label %if.then12.i55.i571.i if.then12.i55.i571.i: ; preds = %if.end9.i52.i569.i %407 = load ptr, ptr %stream_writer.i41.i556.i, align 8, !tbaa !20 %output_target16.i56.i572.i = getelementptr inbounds i8, ptr %402, i64 32 %408 = load ptr, ptr %output_target16.i56.i572.i, align 8, !tbaa !21 %call17.i57.i573.i = call noundef i32 %407(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp1939.i533.i, ptr noundef %408) #19 %cmp18.i58.i574.i = icmp sgt i32 %call17.i57.i573.i, -1 br i1 %cmp18.i58.i574.i, label %return.sink.split.i59.i575.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i566.i if.else.i61.i577.i: ; preds = %while.end.i552.i %buff_len.i62.i578.i = getelementptr inbounds i8, ptr %402, i64 8 %409 = load i64, ptr %buff_len.i62.i578.i, align 8, !tbaa !18 %cmp27.i63.i579.i = icmp ult i64 %404, %409 br i1 %cmp27.i63.i579.i, label %if.then28.i64.i580.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i566.i if.then28.i64.i580.i: ; preds = %if.else.i61.i577.i %sub.i65.i581.i = sub i64 %409, %404 %spec.select.i67.i582.i = call i64 @llvm.umin.i64(i64 %sub.i65.i581.i, i64 %cond.i6.i.i554.i) %410 = load ptr, ptr %402, align 8, !tbaa !15 %add.ptr.i68.i583.i = getelementptr inbounds i8, ptr %410, i64 %404 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i68.i583.i, ptr nonnull align 1 %mini_buff.i536.i, i64 %spec.select.i67.i582.i, i1 false), !alias.scope !185 %411 = load i64, ptr %buff_cur26.i43.i558.i, align 8, !tbaa !19 %add.i69.i584.i = add i64 %411, %spec.select.i67.i582.i br label %return.sink.split.i59.i575.i return.sink.split.i59.i575.i: ; preds = %if.then28.i64.i580.i, %if.then12.i55.i571.i, %if.end9.i52.i569.i %add.sink.i60.i576.i = phi i64 [ %add.i69.i584.i, %if.then28.i64.i580.i ], [ 0, %if.then12.i55.i571.i ], [ 0, %if.end9.i52.i569.i ] store i64 %add.sink.i60.i576.i, ptr %buff_cur26.i43.i558.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i566.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i566.i: ; preds = %return.sink.split.i59.i575.i, %if.else.i61.i577.i, %if.then12.i55.i571.i, %if.then3.i46.i561.i %retval.3.i51.i567.i = phi i32 [ %call.i49.i564.i, %if.then3.i46.i561.i ], [ %call17.i57.i573.i, %if.then12.i55.i571.i ], [ 0, %if.else.i61.i577.i ], [ 0, %return.sink.split.i59.i575.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1939.i533.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i40.i532.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit616.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit616.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i566.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i595.i %retval.2.i568.i = phi i32 [ %retval.3.i51.i567.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i566.i ], [ %retval.3.i.i596.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i595.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %mini_buff.i536.i) #18 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit616.i, %if.then.i421.i.i %retval.0.i425.i.i = phi i32 [ 0, %if.then.i421.i.i ], [ %retval.2.i568.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit616.i ] %cmp182.i.i = icmp sgt i32 %retval.0.i425.i.i, -1 br i1 %cmp182.i.i, label %if.end188.i.i, label %cleanup228.i.i if.end188.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.i, %if.else176.i.i %cmp189.not.i.i = icmp eq i64 %280, 0 br i1 %cmp189.not.i.i, label %if.end201.i.i, label %if.then190.i.i if.then190.i.i: ; preds = %if.end188.i.i %conv.i434.i.i = trunc nuw nsw i64 %280 to i32 %412 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i436.i.i = add nsw i32 %412, %conv.i434.i.i store i32 %add.i436.i.i, ptr %chars_written.i, align 8, !tbaa !25 %413 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i437.i.i = getelementptr inbounds i8, ptr %413, i64 16 %414 = load i64, ptr %buff_cur.i437.i.i, align 8, !tbaa !19 %add3.i438.i.i = add i64 %414, %280 %buff_len.i439.i.i = getelementptr inbounds i8, ptr %413, i64 8 %415 = load i64, ptr %buff_len.i439.i.i, align 8, !tbaa !18 %cmp.not.i440.i.i = icmp ugt i64 %add3.i438.i.i, %415 br i1 %cmp.not.i440.i.i, label %if.end.i446.i.i, label %if.then.i441.i.i if.then.i441.i.i: ; preds = %if.then190.i.i %416 = load ptr, ptr %413, align 8, !tbaa !15 %add.ptr.i442.i.i = getelementptr inbounds i8, ptr %416, i64 %414 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i442.i.i, ptr nonnull align 1 %prefix.i.i, i64 %280, i1 false), !alias.scope !189 %417 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur13.i443.i.i = getelementptr inbounds i8, ptr %417, i64 16 %418 = load i64, ptr %buff_cur13.i443.i.i, align 8, !tbaa !19 %add14.i444.i.i = add i64 %418, %280 store i64 %add14.i444.i.i, ptr %buff_cur13.i443.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit475.i.i if.end.i446.i.i: ; preds = %if.then190.i.i call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp20.i432.i.i) store ptr %prefix.i.i, ptr %agg.tmp20.i432.i.i, align 8 store i64 %280, ptr %agg.tmp192430.sroa.5.0.agg.tmp20.i432.sroa_idx.i.i, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i431.i.i) %stream_writer.i.i447.i.i = getelementptr inbounds i8, ptr %413, i64 24 %419 = load ptr, ptr %stream_writer.i.i447.i.i, align 8, !tbaa !20 %cmp.not.i.i448.i.i = icmp eq ptr %419, null br i1 %cmp.not.i.i448.i.i, label %if.else.i.i467.i.i, label %if.then.i.i449.i.i if.then.i.i449.i.i: ; preds = %if.end.i446.i.i %cmp2.not.i.i450.i.i = icmp eq i64 %414, 0 br i1 %cmp2.not.i.i450.i.i, label %if.then12.i.i461.i.i, label %if.then3.i.i451.i.i if.then3.i.i451.i.i: ; preds = %if.then.i.i449.i.i %420 = load ptr, ptr %413, align 8, !tbaa !15 store ptr %420, ptr %agg.tmp.i.i431.i.i, align 8, !tbaa !91 store i64 %414, ptr %Len.i.i.i.i452.i.i, align 8, !tbaa !93 %output_target.i.i453.i.i = getelementptr inbounds i8, ptr %413, i64 32 %421 = load ptr, ptr %output_target.i.i453.i.i, align 8, !tbaa !21 %call.i.i454.i.i = call noundef i32 %419(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i431.i.i, ptr noundef %421) #19 %cmp7.i.i455.i.i = icmp sgt i32 %call.i.i454.i.i, -1 br i1 %cmp7.i.i455.i.i, label %if.then3.i.i451.i.if.then12.i.i461.i_crit_edge.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i456.i.i if.then3.i.i451.i.if.then12.i.i461.i_crit_edge.i: ; preds = %if.then3.i.i451.i.i %.pre248.i = load ptr, ptr %stream_writer.i.i447.i.i, align 8, !tbaa !20 br label %if.then12.i.i461.i.i if.then12.i.i461.i.i: ; preds = %if.then3.i.i451.i.if.then12.i.i461.i_crit_edge.i, %if.then.i.i449.i.i %422 = phi ptr [ %.pre248.i, %if.then3.i.i451.i.if.then12.i.i461.i_crit_edge.i ], [ %419, %if.then.i.i449.i.i ] %output_target16.i.i462.i.i = getelementptr inbounds i8, ptr %413, i64 32 %423 = load ptr, ptr %output_target16.i.i462.i.i, align 8, !tbaa !21 %call17.i.i463.i.i = call noundef i32 %422(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp20.i432.i.i, ptr noundef %423) #19 %cmp18.i.i464.i.i = icmp sgt i32 %call17.i.i463.i.i, -1 br i1 %cmp18.i.i464.i.i, label %return.sink.split.i.i465.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i456.i.i if.else.i.i467.i.i: ; preds = %if.end.i446.i.i %cmp27.i.i468.i.i = icmp ult i64 %414, %415 br i1 %cmp27.i.i468.i.i, label %if.then28.i.i469.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i456.i.i if.then28.i.i469.i.i: ; preds = %if.else.i.i467.i.i %sub.i.i470.i.i = sub i64 %415, %414 %spec.select.i.i472.i.i = call i64 @llvm.umin.i64(i64 %sub.i.i470.i.i, i64 %280) %424 = load ptr, ptr %413, align 8, !tbaa !15 %add.ptr.i.i473.i.i = getelementptr inbounds i8, ptr %424, i64 %414 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i473.i.i, ptr nonnull align 1 %prefix.i.i, i64 %spec.select.i.i472.i.i, i1 false), !alias.scope !193 %425 = load i64, ptr %buff_cur.i437.i.i, align 8, !tbaa !19 %add.i.i474.i.i = add i64 %425, %spec.select.i.i472.i.i br label %return.sink.split.i.i465.i.i return.sink.split.i.i465.i.i: ; preds = %if.then28.i.i469.i.i, %if.then12.i.i461.i.i %add.sink.i.i466.i.i = phi i64 [ %add.i.i474.i.i, %if.then28.i.i469.i.i ], [ 0, %if.then12.i.i461.i.i ] store i64 %add.sink.i.i466.i.i, ptr %buff_cur.i437.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i456.i.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i456.i.i: ; preds = %return.sink.split.i.i465.i.i, %if.else.i.i467.i.i, %if.then12.i.i461.i.i, %if.then3.i.i451.i.i %retval.3.i.i457.i.i = phi i32 [ %call.i.i454.i.i, %if.then3.i.i451.i.i ], [ %call17.i.i463.i.i, %if.then12.i.i461.i.i ], [ 0, %if.else.i.i467.i.i ], [ 0, %return.sink.split.i.i465.i.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp20.i432.i.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i431.i.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit475.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit475.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i456.i.i, %if.then.i441.i.i %retval.0.i445.i.i = phi i32 [ 0, %if.then.i441.i.i ], [ %retval.3.i.i457.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i456.i.i ] %cmp195.i.i = icmp sgt i32 %retval.0.i445.i.i, -1 br i1 %cmp195.i.i, label %if.end201.i.i, label %cleanup228.i.i if.end201.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit475.i.i, %if.end188.i.i %cmp202.i.i = icmp sgt i32 %zeroes.1.i.i, 0 br i1 %cmp202.i.i, label %if.then203.i.i, label %if.end213.i.i if.then203.i.i: ; preds = %if.end201.i.i %conv205.i.i = zext nneg i32 %zeroes.1.i.i to i64 %426 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i478.i.i = add nsw i32 %426, %zeroes.1.i.i store i32 %add.i478.i.i, ptr %chars_written.i, align 8, !tbaa !25 %427 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i479.i.i = getelementptr inbounds i8, ptr %427, i64 16 %428 = load i64, ptr %buff_cur.i479.i.i, align 8, !tbaa !19 %add2.i480.i.i = add i64 %428, %conv205.i.i %buff_len.i481.i.i = getelementptr inbounds i8, ptr %427, i64 8 %429 = load i64, ptr %buff_len.i481.i.i, align 8, !tbaa !18 %cmp.not.i482.i.i = icmp ugt i64 %add2.i480.i.i, %429 br i1 %cmp.not.i482.i.i, label %if.end.i488.i.i, label %if.then.i483.i.i if.then.i483.i.i: ; preds = %if.then203.i.i %430 = load ptr, ptr %427, align 8, !tbaa !15 %add.ptr.i484.i.i = getelementptr inbounds i8, ptr %430, i64 %428 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i484.i.i, i8 48, i64 %conv205.i.i, i1 false) %431 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur8.i485.i.i = getelementptr inbounds i8, ptr %431, i64 16 %432 = load i64, ptr %buff_cur8.i485.i.i, align 8, !tbaa !19 %add9.i486.i.i = add i64 %432, %conv205.i.i store i64 %add9.i486.i.i, ptr %buff_cur8.i485.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit490.i.i if.end.i488.i.i: ; preds = %if.then203.i.i %sub.i624.i = sub i64 %429, %428 %cmp.not.i625.i = icmp eq i64 %sub.i624.i, 0 br i1 %cmp.not.i625.i, label %if.end.i630.i, label %if.then.i626.i if.then.i626.i: ; preds = %if.end.i488.i.i %433 = load ptr, ptr %427, align 8, !tbaa !15 %add.ptr.i627.i = getelementptr inbounds i8, ptr %433, i64 %428 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i627.i, i8 48, i64 %sub.i624.i, i1 false) %434 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur7.i628.i = getelementptr inbounds i8, ptr %434, i64 16 %435 = load i64, ptr %buff_cur7.i628.i, align 8, !tbaa !19 %add.i629.i = add i64 %435, %sub.i624.i store i64 %add.i629.i, ptr %buff_cur7.i628.i, align 8, !tbaa !19 br label %if.end.i630.i if.end.i630.i: ; preds = %if.then.i626.i, %if.end.i488.i.i call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %mini_buff.i621.i) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %mini_buff.i621.i, i8 48, i64 64, i1 false) br label %while.cond.i633.i while.cond.i633.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i680.i, %if.end.i630.i %written.1.i634.i = phi i64 [ %sub.i624.i, %if.end.i630.i ], [ %add9.i635.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i680.i ] %add9.i635.i = add i64 %written.1.i634.i, 64 %cmp10.i636.i = icmp ult i64 %add9.i635.i, %conv205.i.i br i1 %cmp10.i636.i, label %while.body.i670.i, label %while.end.i637.i while.body.i670.i: ; preds = %while.cond.i633.i %436 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp35.i620.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i619.i) store ptr %mini_buff.i621.i, ptr %agg.tmp35.i620.i, align 8 store i64 64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i631.i, align 8 %stream_writer.i.i671.i = getelementptr inbounds i8, ptr %436, i64 24 %437 = load ptr, ptr %stream_writer.i.i671.i, align 8, !tbaa !20 %cmp.not.i.i672.i = icmp eq ptr %437, null %buff_cur26.i.i673.i = getelementptr inbounds i8, ptr %436, i64 16 %438 = load i64, ptr %buff_cur26.i.i673.i, align 8, !tbaa !19 br i1 %cmp.not.i.i672.i, label %if.else.i.i693.i, label %if.then.i.i674.i if.then.i.i674.i: ; preds = %while.body.i670.i %cmp2.not.i.i675.i = icmp eq i64 %438, 0 br i1 %cmp2.not.i.i675.i, label %if.end9.i.i685.i, label %if.then3.i.i676.i if.then3.i.i676.i: ; preds = %if.then.i.i674.i %439 = load ptr, ptr %436, align 8, !tbaa !15 store ptr %439, ptr %agg.tmp.i.i619.i, align 8, !tbaa !91 store i64 %438, ptr %Len.i.i.i.i632.i, align 8, !tbaa !93 %output_target.i.i677.i = getelementptr inbounds i8, ptr %436, i64 32 %440 = load ptr, ptr %output_target.i.i677.i, align 8, !tbaa !21 %call.i.i678.i = call noundef i32 %437(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i619.i, ptr noundef %440) #19 %cmp7.i.i679.i = icmp sgt i32 %call.i.i678.i, -1 br i1 %cmp7.i.i679.i, label %if.then3.i.if.end9.i_crit_edge.i683.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i680.i if.then3.i.if.end9.i_crit_edge.i683.i: ; preds = %if.then3.i.i676.i %.pre.i684.i = load i64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i631.i, align 8, !tbaa !93 br label %if.end9.i.i685.i if.end9.i.i685.i: ; preds = %if.then3.i.if.end9.i_crit_edge.i683.i, %if.then.i.i674.i %441 = phi i64 [ %.pre.i684.i, %if.then3.i.if.end9.i_crit_edge.i683.i ], [ 64, %if.then.i.i674.i ] %cmp11.not.i.i686.i = icmp eq i64 %441, 0 br i1 %cmp11.not.i.i686.i, label %return.sink.split.i.i691.i, label %if.then12.i.i687.i if.then12.i.i687.i: ; preds = %if.end9.i.i685.i %442 = load ptr, ptr %stream_writer.i.i671.i, align 8, !tbaa !20 %output_target16.i.i688.i = getelementptr inbounds i8, ptr %436, i64 32 %443 = load ptr, ptr %output_target16.i.i688.i, align 8, !tbaa !21 %call17.i.i689.i = call noundef i32 %442(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp35.i620.i, ptr noundef %443) #19 %cmp18.i.i690.i = icmp sgt i32 %call17.i.i689.i, -1 br i1 %cmp18.i.i690.i, label %return.sink.split.i.i691.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i680.i if.else.i.i693.i: ; preds = %while.body.i670.i %buff_len.i.i694.i = getelementptr inbounds i8, ptr %436, i64 8 %444 = load i64, ptr %buff_len.i.i694.i, align 8, !tbaa !18 %cmp27.i.i695.i = icmp ult i64 %438, %444 br i1 %cmp27.i.i695.i, label %if.then28.i.i696.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i680.i if.then28.i.i696.i: ; preds = %if.else.i.i693.i %sub.i.i697.i = sub i64 %444, %438 %spec.select.i.i698.i = call i64 @llvm.umin.i64(i64 %sub.i.i697.i, i64 64) %445 = load ptr, ptr %436, align 8, !tbaa !15 %add.ptr.i.i699.i = getelementptr inbounds i8, ptr %445, i64 %438 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i699.i, ptr nonnull align 1 %mini_buff.i621.i, i64 %spec.select.i.i698.i, i1 false), !alias.scope !197 %446 = load i64, ptr %buff_cur26.i.i673.i, align 8, !tbaa !19 %add.i.i700.i = add i64 %446, %spec.select.i.i698.i br label %return.sink.split.i.i691.i return.sink.split.i.i691.i: ; preds = %if.then28.i.i696.i, %if.then12.i.i687.i, %if.end9.i.i685.i %add.sink.i.i692.i = phi i64 [ %add.i.i700.i, %if.then28.i.i696.i ], [ 0, %if.then12.i.i687.i ], [ 0, %if.end9.i.i685.i ] store i64 %add.sink.i.i692.i, ptr %buff_cur26.i.i673.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i680.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i680.i: ; preds = %return.sink.split.i.i691.i, %if.else.i.i693.i, %if.then12.i.i687.i, %if.then3.i.i676.i %retval.3.i.i681.i = phi i32 [ %call.i.i678.i, %if.then3.i.i676.i ], [ %call17.i.i689.i, %if.then12.i.i687.i ], [ 0, %if.else.i.i693.i ], [ 0, %return.sink.split.i.i691.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp35.i620.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i619.i) %cmp12.not.i682.i = icmp eq i32 %retval.3.i.i681.i, 0 br i1 %cmp12.not.i682.i, label %while.cond.i633.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit701.i, !llvm.loop !102 while.end.i637.i: ; preds = %while.cond.i633.i %written.1.i634.i.lcssa = phi i64 [ %written.1.i634.i, %while.cond.i633.i ] %sub16.i638.i = sub i64 %conv205.i.i, %written.1.i634.i.lcssa %cond.i6.i.i639.i = call noundef i64 @llvm.umin.i64(i64 %sub16.i638.i, i64 64) %447 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1939.i618.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i40.i617.i) store ptr %mini_buff.i621.i, ptr %agg.tmp1939.i618.i, align 8 store i64 %cond.i6.i.i639.i, ptr %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i640.i, align 8 %stream_writer.i41.i641.i = getelementptr inbounds i8, ptr %447, i64 24 %448 = load ptr, ptr %stream_writer.i41.i641.i, align 8, !tbaa !20 %cmp.not.i42.i642.i = icmp eq ptr %448, null %buff_cur26.i43.i643.i = getelementptr inbounds i8, ptr %447, i64 16 %449 = load i64, ptr %buff_cur26.i43.i643.i, align 8, !tbaa !19 br i1 %cmp.not.i42.i642.i, label %if.else.i61.i662.i, label %if.then.i44.i644.i if.then.i44.i644.i: ; preds = %while.end.i637.i %cmp2.not.i45.i645.i = icmp eq i64 %449, 0 br i1 %cmp2.not.i45.i645.i, label %if.end9.i52.i654.i, label %if.then3.i46.i646.i if.then3.i46.i646.i: ; preds = %if.then.i44.i644.i %450 = load ptr, ptr %447, align 8, !tbaa !15 store ptr %450, ptr %agg.tmp.i40.i617.i, align 8, !tbaa !91 store i64 %449, ptr %Len.i.i.i47.i647.i, align 8, !tbaa !93 %output_target.i48.i648.i = getelementptr inbounds i8, ptr %447, i64 32 %451 = load ptr, ptr %output_target.i48.i648.i, align 8, !tbaa !21 %call.i49.i649.i = call noundef i32 %448(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i40.i617.i, ptr noundef %451) #19 %cmp7.i50.i650.i = icmp sgt i32 %call.i49.i649.i, -1 br i1 %cmp7.i50.i650.i, label %if.end9.i52.i654.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i651.i if.end9.i52.i654.i: ; preds = %if.then3.i46.i646.i, %if.then.i44.i644.i %cmp11.not.i54.i655.i = icmp eq i64 %written.1.i634.i.lcssa, %conv205.i.i br i1 %cmp11.not.i54.i655.i, label %return.sink.split.i59.i660.i, label %if.then12.i55.i656.i if.then12.i55.i656.i: ; preds = %if.end9.i52.i654.i %452 = load ptr, ptr %stream_writer.i41.i641.i, align 8, !tbaa !20 %output_target16.i56.i657.i = getelementptr inbounds i8, ptr %447, i64 32 %453 = load ptr, ptr %output_target16.i56.i657.i, align 8, !tbaa !21 %call17.i57.i658.i = call noundef i32 %452(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp1939.i618.i, ptr noundef %453) #19 %cmp18.i58.i659.i = icmp sgt i32 %call17.i57.i658.i, -1 br i1 %cmp18.i58.i659.i, label %return.sink.split.i59.i660.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i651.i if.else.i61.i662.i: ; preds = %while.end.i637.i %buff_len.i62.i663.i = getelementptr inbounds i8, ptr %447, i64 8 %454 = load i64, ptr %buff_len.i62.i663.i, align 8, !tbaa !18 %cmp27.i63.i664.i = icmp ult i64 %449, %454 br i1 %cmp27.i63.i664.i, label %if.then28.i64.i665.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i651.i if.then28.i64.i665.i: ; preds = %if.else.i61.i662.i %sub.i65.i666.i = sub i64 %454, %449 %spec.select.i67.i667.i = call i64 @llvm.umin.i64(i64 %sub.i65.i666.i, i64 %cond.i6.i.i639.i) %455 = load ptr, ptr %447, align 8, !tbaa !15 %add.ptr.i68.i668.i = getelementptr inbounds i8, ptr %455, i64 %449 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i68.i668.i, ptr nonnull align 1 %mini_buff.i621.i, i64 %spec.select.i67.i667.i, i1 false), !alias.scope !201 %456 = load i64, ptr %buff_cur26.i43.i643.i, align 8, !tbaa !19 %add.i69.i669.i = add i64 %456, %spec.select.i67.i667.i br label %return.sink.split.i59.i660.i return.sink.split.i59.i660.i: ; preds = %if.then28.i64.i665.i, %if.then12.i55.i656.i, %if.end9.i52.i654.i %add.sink.i60.i661.i = phi i64 [ %add.i69.i669.i, %if.then28.i64.i665.i ], [ 0, %if.then12.i55.i656.i ], [ 0, %if.end9.i52.i654.i ] store i64 %add.sink.i60.i661.i, ptr %buff_cur26.i43.i643.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i651.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i651.i: ; preds = %return.sink.split.i59.i660.i, %if.else.i61.i662.i, %if.then12.i55.i656.i, %if.then3.i46.i646.i %retval.3.i51.i652.i = phi i32 [ %call.i49.i649.i, %if.then3.i46.i646.i ], [ %call17.i57.i658.i, %if.then12.i55.i656.i ], [ 0, %if.else.i61.i662.i ], [ 0, %return.sink.split.i59.i660.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1939.i618.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i40.i617.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit701.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit701.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i651.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i680.i %retval.2.i653.i = phi i32 [ %retval.3.i51.i652.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i651.i ], [ %retval.3.i.i681.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i680.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %mini_buff.i621.i) #18 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit490.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit490.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit701.i, %if.then.i483.i.i %retval.0.i487.i.i = phi i32 [ 0, %if.then.i483.i.i ], [ %retval.2.i653.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit701.i ] %cmp207.i.i = icmp sgt i32 %retval.0.i487.i.i, -1 br i1 %cmp207.i.i, label %if.end213.i.i, label %cleanup228.i.i if.end213.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit490.i.i, %if.end201.i.i %cmp214.not.i.i = icmp eq i64 %digits_written.1.i.i, 0 br i1 %cmp214.not.i.i, label %if.end227.i.i, label %if.then215.i.i if.then215.i.i: ; preds = %if.end213.i.i %conv.i495.i.i = trunc i64 %276 to i32 %457 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i497.i.i = add nsw i32 %457, %conv.i495.i.i store i32 %add.i497.i.i, ptr %chars_written.i, align 8, !tbaa !25 %458 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i498.i.i = getelementptr inbounds i8, ptr %458, i64 16 %459 = load i64, ptr %buff_cur.i498.i.i, align 8, !tbaa !19 %add3.i499.i.i = add i64 %459, %276 %buff_len.i500.i.i = getelementptr inbounds i8, ptr %458, i64 8 %460 = load i64, ptr %buff_len.i500.i.i, align 8, !tbaa !18 %cmp.not.i501.i.i = icmp ugt i64 %add3.i499.i.i, %460 br i1 %cmp.not.i501.i.i, label %if.end.i507.i.i, label %if.then.i502.i.i if.then.i502.i.i: ; preds = %if.then215.i.i %461 = load ptr, ptr %458, align 8, !tbaa !15 %add.ptr.i503.i.i = getelementptr inbounds i8, ptr %461, i64 %459 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i503.i.i, ptr nonnull align 1 %add.ptr4.i301.i.i.i, i64 %276, i1 false), !alias.scope !205 %462 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur13.i504.i.i = getelementptr inbounds i8, ptr %462, i64 16 %463 = load i64, ptr %buff_cur13.i504.i.i, align 8, !tbaa !19 %add14.i505.i.i = add i64 %463, %276 store i64 %add14.i505.i.i, ptr %buff_cur13.i504.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit536.i.i if.end.i507.i.i: ; preds = %if.then215.i.i call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp20.i493.i.i) store ptr %add.ptr4.i301.i.i.i, ptr %agg.tmp20.i493.i.i, align 8 store i64 %276, ptr %agg.tmp217491.sroa.5.0.agg.tmp20.i493.sroa_idx.i.i, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i492.i.i) %stream_writer.i.i508.i.i = getelementptr inbounds i8, ptr %458, i64 24 %464 = load ptr, ptr %stream_writer.i.i508.i.i, align 8, !tbaa !20 %cmp.not.i.i509.i.i = icmp eq ptr %464, null br i1 %cmp.not.i.i509.i.i, label %if.else.i.i528.i.i, label %if.then.i.i510.i.i if.then.i.i510.i.i: ; preds = %if.end.i507.i.i %cmp2.not.i.i511.i.i = icmp eq i64 %459, 0 br i1 %cmp2.not.i.i511.i.i, label %if.end9.i.i519.i.i, label %if.then3.i.i512.i.i if.then3.i.i512.i.i: ; preds = %if.then.i.i510.i.i %465 = load ptr, ptr %458, align 8, !tbaa !15 store ptr %465, ptr %agg.tmp.i.i492.i.i, align 8, !tbaa !91 store i64 %459, ptr %Len.i.i.i.i513.i.i, align 8, !tbaa !93 %output_target.i.i514.i.i = getelementptr inbounds i8, ptr %458, i64 32 %466 = load ptr, ptr %output_target.i.i514.i.i, align 8, !tbaa !21 %call.i.i515.i.i = call noundef i32 %464(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i492.i.i, ptr noundef %466) #19 %cmp7.i.i516.i.i = icmp sgt i32 %call.i.i515.i.i, -1 br i1 %cmp7.i.i516.i.i, label %if.end9.i.i519.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i517.i.i if.end9.i.i519.i.i: ; preds = %if.then3.i.i512.i.i, %if.then.i.i510.i.i %cmp11.not.i.i521.i.i = icmp eq i64 %276, 0 br i1 %cmp11.not.i.i521.i.i, label %return.sink.split.i.i526.i.i, label %if.then12.i.i522.i.i if.then12.i.i522.i.i: ; preds = %if.end9.i.i519.i.i %467 = load ptr, ptr %stream_writer.i.i508.i.i, align 8, !tbaa !20 %output_target16.i.i523.i.i = getelementptr inbounds i8, ptr %458, i64 32 %468 = load ptr, ptr %output_target16.i.i523.i.i, align 8, !tbaa !21 %call17.i.i524.i.i = call noundef i32 %467(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp20.i493.i.i, ptr noundef %468) #19 %cmp18.i.i525.i.i = icmp sgt i32 %call17.i.i524.i.i, -1 br i1 %cmp18.i.i525.i.i, label %return.sink.split.i.i526.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i517.i.i if.else.i.i528.i.i: ; preds = %if.end.i507.i.i %cmp27.i.i529.i.i = icmp ult i64 %459, %460 br i1 %cmp27.i.i529.i.i, label %if.then28.i.i530.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i517.i.i if.then28.i.i530.i.i: ; preds = %if.else.i.i528.i.i %sub.i.i531.i.i = sub i64 %460, %459 %spec.select.i.i533.i.i = call i64 @llvm.umin.i64(i64 %sub.i.i531.i.i, i64 %276) %469 = load ptr, ptr %458, align 8, !tbaa !15 %add.ptr.i.i534.i.i = getelementptr inbounds i8, ptr %469, i64 %459 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i534.i.i, ptr nonnull align 1 %add.ptr4.i301.i.i.i, i64 %spec.select.i.i533.i.i, i1 false), !alias.scope !209 %470 = load i64, ptr %buff_cur.i498.i.i, align 8, !tbaa !19 %add.i.i535.i.i = add i64 %470, %spec.select.i.i533.i.i br label %return.sink.split.i.i526.i.i return.sink.split.i.i526.i.i: ; preds = %if.then28.i.i530.i.i, %if.then12.i.i522.i.i, %if.end9.i.i519.i.i %add.sink.i.i527.i.i = phi i64 [ %add.i.i535.i.i, %if.then28.i.i530.i.i ], [ 0, %if.then12.i.i522.i.i ], [ 0, %if.end9.i.i519.i.i ] store i64 %add.sink.i.i527.i.i, ptr %buff_cur.i498.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i517.i.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i517.i.i: ; preds = %return.sink.split.i.i526.i.i, %if.else.i.i528.i.i, %if.then12.i.i522.i.i, %if.then3.i.i512.i.i %retval.3.i.i518.i.i = phi i32 [ %call.i.i515.i.i, %if.then3.i.i512.i.i ], [ %call17.i.i524.i.i, %if.then12.i.i522.i.i ], [ 0, %if.else.i.i528.i.i ], [ 0, %return.sink.split.i.i526.i.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp20.i493.i.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i492.i.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit536.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit536.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i517.i.i, %if.then.i502.i.i %retval.0.i506.i.i = phi i32 [ 0, %if.then.i502.i.i ], [ %retval.3.i.i518.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i517.i.i ] %cmp220.i.i = icmp sgt i32 %retval.0.i506.i.i, -1 br i1 %cmp220.i.i, label %if.end227.i.i, label %cleanup228.i.i if.end227.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit536.i.i, %if.end213.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit413.i.i, %if.end163.i.i br label %cleanup228.i.i cleanup228.i.i: ; preds = %if.end227.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit536.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit490.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit475.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit413.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit398.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i148.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i144.i %retval.14.i.i = phi i32 [ 0, %if.end227.i.i ], [ %retval.0.i410.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit413.i.i ], [ %retval.0.i368.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit398.i.i ], [ %retval.0.i351.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i148.i ], [ %retval.0.i341.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i144.i ], [ %retval.0.i506.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit536.i.i ], [ %retval.0.i487.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit490.i.i ], [ %retval.0.i445.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit475.i.i ], [ %retval.0.i425.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.i ] call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %prefix.i.i) #18 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11convert_intEPNS0_6WriterERKNS0_13FormatSectionE.exit.i _ZN22__llvm_libc_19_0_0_git11printf_core11convert_intEPNS0_6WriterERKNS0_13FormatSectionE.exit.i: ; preds = %cleanup228.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.i.i %retval.15.i.i = phi i32 [ %retval.14.i.i, %cleanup228.i.i ], [ -4, %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.i.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %buf.i.i) #18 br label %if.end sw.bb9.i: ; preds = %if.end.i9 %cmp.i178.i = icmp eq ptr %cur_section.sroa.58.0, null br i1 %cmp.i178.i, label %if.then.i184.i, label %if.end.i179.i if.then.i184.i: ; preds = %sw.bb9.i call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %NULLPTR_STR.i.i) #18 store <4 x i8> <i8 40, i8 110, i8 117, i8 108>, ptr %NULLPTR_STR.i.i, align 4 store <4 x i8> <i8 108, i8 112, i8 116, i8 114>, ptr %73, align 4 store i8 41, ptr %74, align 4 store i8 0, ptr %75, align 1 br label %for.cond.i.i.i for.cond.i.i.i: ; preds = %for.cond.i.i.i, %if.then.i184.i %string_len.0.i.i.i = phi i64 [ 0, %if.then.i184.i ], [ %inc.i.i.i10, %for.cond.i.i.i ] %arrayidx.i.i185.i = getelementptr inbounds i8, ptr %NULLPTR_STR.i.i, i64 %string_len.0.i.i.i %471 = load i8, ptr %arrayidx.i.i185.i, align 1, !tbaa !26 %tobool.not.i.i.i = icmp eq i8 %471, 0 %inc.i.i.i10 = add i64 %string_len.0.i.i.i, 1 br i1 %tobool.not.i.i.i, label %for.cond.cleanup.i.i.i, label %for.cond.i.i.i, !llvm.loop !119 for.cond.cleanup.i.i.i: ; preds = %for.cond.i.i.i %string_len.0.i.i.i.lcssa = phi i64 [ %string_len.0.i.i.i, %for.cond.i.i.i ] %conv.i.i186.i = zext nneg i32 %cur_section.sroa.49.0 to i64 %spec.select.i.i187.i = call i64 @llvm.umin.i64(i64 %string_len.0.i.i.i.lcssa, i64 %conv.i.i186.i) %cmp1103.i.i.i = icmp slt i32 %cur_section.sroa.49.0, 0 %string_len.1.i.i.i = select i1 %cmp1103.i.i.i, i64 %string_len.0.i.i.i.lcssa, i64 %spec.select.i.i187.i %conv8.i.i.i = trunc i64 %string_len.1.i.i.i to i32 %cmp9.i.i.i = icmp sgt i32 %cur_section.sroa.42.0, %conv8.i.i.i %conv11.i.i.i = zext nneg i32 %cur_section.sroa.42.0 to i64 %sub.i.i188.i = sub i64 %conv11.i.i.i, %string_len.1.i.i.i %cond.i.i.i11 = select i1 %cmp9.i.i.i, i64 %sub.i.i188.i, i64 0 %cmp12.not.i.i.i = icmp eq i64 %cond.i.i.i11, 0 %472 = and i8 %cur_section.sroa.22.0, 1 %cmp15.i.i189.i = icmp ne i8 %472, 0 %or.cond.not.i.i = select i1 %cmp12.not.i.i.i, i1 true, i1 %cmp15.i.i189.i %.pre80.i.i = load ptr, ptr %writer, align 8, !tbaa !22 %.pre90 = load i32, ptr %chars_written.i, align 8, !tbaa !25 br i1 %or.cond.not.i.i, label %if.end20.i.i.i, label %if.then16.i.i190.i if.then16.i.i190.i: ; preds = %for.cond.cleanup.i.i.i %conv.i.i.i.i = trunc i64 %cond.i.i.i11 to i32 %add.i.i.i191.i = add nsw i32 %.pre90, %conv.i.i.i.i store i32 %add.i.i.i191.i, ptr %chars_written.i, align 8, !tbaa !25 %buff_cur.i.i.i.i = getelementptr inbounds i8, ptr %.pre80.i.i, i64 16 %473 = load i64, ptr %buff_cur.i.i.i.i, align 8, !tbaa !19 %add2.i.i.i.i = add i64 %473, %cond.i.i.i11 %buff_len.i.i.i.i = getelementptr inbounds i8, ptr %.pre80.i.i, i64 8 %474 = load i64, ptr %buff_len.i.i.i.i, align 8, !tbaa !18 %cmp.not.i.i.i192.i = icmp ugt i64 %add2.i.i.i.i, %474 br i1 %cmp.not.i.i.i192.i, label %if.end.i.i.i.i, label %if.then.i.i.i193.i if.then.i.i.i193.i: ; preds = %if.then16.i.i190.i %475 = load ptr, ptr %.pre80.i.i, align 8, !tbaa !15 %add.ptr.i.i.i194.i = getelementptr inbounds i8, ptr %475, i64 %473 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i.i.i194.i, i8 32, i64 %cond.i.i.i11, i1 false) %476 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur8.i.i.i.i = getelementptr inbounds i8, ptr %476, i64 16 %477 = load i64, ptr %buff_cur8.i.i.i.i, align 8, !tbaa !19 %add9.i.i.i.i = add i64 %477, %cond.i.i.i11 store i64 %add9.i.i.i.i, ptr %buff_cur8.i.i.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.i.i if.end.i.i.i.i: ; preds = %if.then16.i.i190.i %sub.i709.i = sub i64 %474, %473 %cmp.not.i710.i = icmp eq i64 %sub.i709.i, 0 br i1 %cmp.not.i710.i, label %if.end.i715.i, label %if.then.i711.i if.then.i711.i: ; preds = %if.end.i.i.i.i %478 = load ptr, ptr %.pre80.i.i, align 8, !tbaa !15 %add.ptr.i712.i = getelementptr inbounds i8, ptr %478, i64 %473 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i712.i, i8 32, i64 %sub.i709.i, i1 false) %479 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur7.i713.i = getelementptr inbounds i8, ptr %479, i64 16 %480 = load i64, ptr %buff_cur7.i713.i, align 8, !tbaa !19 %add.i714.i = add i64 %480, %sub.i709.i store i64 %add.i714.i, ptr %buff_cur7.i713.i, align 8, !tbaa !19 br label %if.end.i715.i if.end.i715.i: ; preds = %if.then.i711.i, %if.end.i.i.i.i call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %mini_buff.i706.i) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %mini_buff.i706.i, i8 32, i64 64, i1 false) br label %while.cond.i718.i while.cond.i718.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i765.i, %if.end.i715.i %written.1.i719.i = phi i64 [ %sub.i709.i, %if.end.i715.i ], [ %add9.i720.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i765.i ] %add9.i720.i = add i64 %written.1.i719.i, 64 %cmp10.i721.i = icmp ult i64 %add9.i720.i, %cond.i.i.i11 br i1 %cmp10.i721.i, label %while.body.i755.i, label %while.end.i722.i while.body.i755.i: ; preds = %while.cond.i718.i %481 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp35.i705.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i704.i) store ptr %mini_buff.i706.i, ptr %agg.tmp35.i705.i, align 8 store i64 64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i716.i, align 8 %stream_writer.i.i756.i = getelementptr inbounds i8, ptr %481, i64 24 %482 = load ptr, ptr %stream_writer.i.i756.i, align 8, !tbaa !20 %cmp.not.i.i757.i = icmp eq ptr %482, null %buff_cur26.i.i758.i = getelementptr inbounds i8, ptr %481, i64 16 %483 = load i64, ptr %buff_cur26.i.i758.i, align 8, !tbaa !19 br i1 %cmp.not.i.i757.i, label %if.else.i.i778.i, label %if.then.i.i759.i if.then.i.i759.i: ; preds = %while.body.i755.i %cmp2.not.i.i760.i = icmp eq i64 %483, 0 br i1 %cmp2.not.i.i760.i, label %if.end9.i.i770.i, label %if.then3.i.i761.i if.then3.i.i761.i: ; preds = %if.then.i.i759.i %484 = load ptr, ptr %481, align 8, !tbaa !15 store ptr %484, ptr %agg.tmp.i.i704.i, align 8, !tbaa !91 store i64 %483, ptr %Len.i.i.i.i717.i, align 8, !tbaa !93 %output_target.i.i762.i = getelementptr inbounds i8, ptr %481, i64 32 %485 = load ptr, ptr %output_target.i.i762.i, align 8, !tbaa !21 %call.i.i763.i = call noundef i32 %482(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i704.i, ptr noundef %485) #19 %cmp7.i.i764.i = icmp sgt i32 %call.i.i763.i, -1 br i1 %cmp7.i.i764.i, label %if.then3.i.if.end9.i_crit_edge.i768.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i765.i if.then3.i.if.end9.i_crit_edge.i768.i: ; preds = %if.then3.i.i761.i %.pre.i769.i = load i64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i716.i, align 8, !tbaa !93 br label %if.end9.i.i770.i if.end9.i.i770.i: ; preds = %if.then3.i.if.end9.i_crit_edge.i768.i, %if.then.i.i759.i %486 = phi i64 [ %.pre.i769.i, %if.then3.i.if.end9.i_crit_edge.i768.i ], [ 64, %if.then.i.i759.i ] %cmp11.not.i.i771.i = icmp eq i64 %486, 0 br i1 %cmp11.not.i.i771.i, label %return.sink.split.i.i776.i, label %if.then12.i.i772.i if.then12.i.i772.i: ; preds = %if.end9.i.i770.i %487 = load ptr, ptr %stream_writer.i.i756.i, align 8, !tbaa !20 %output_target16.i.i773.i = getelementptr inbounds i8, ptr %481, i64 32 %488 = load ptr, ptr %output_target16.i.i773.i, align 8, !tbaa !21 %call17.i.i774.i = call noundef i32 %487(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp35.i705.i, ptr noundef %488) #19 %cmp18.i.i775.i = icmp sgt i32 %call17.i.i774.i, -1 br i1 %cmp18.i.i775.i, label %return.sink.split.i.i776.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i765.i if.else.i.i778.i: ; preds = %while.body.i755.i %buff_len.i.i779.i = getelementptr inbounds i8, ptr %481, i64 8 %489 = load i64, ptr %buff_len.i.i779.i, align 8, !tbaa !18 %cmp27.i.i780.i = icmp ult i64 %483, %489 br i1 %cmp27.i.i780.i, label %if.then28.i.i781.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i765.i if.then28.i.i781.i: ; preds = %if.else.i.i778.i %sub.i.i782.i = sub i64 %489, %483 %spec.select.i.i783.i = call i64 @llvm.umin.i64(i64 %sub.i.i782.i, i64 64) %490 = load ptr, ptr %481, align 8, !tbaa !15 %add.ptr.i.i784.i = getelementptr inbounds i8, ptr %490, i64 %483 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i784.i, ptr nonnull align 1 %mini_buff.i706.i, i64 %spec.select.i.i783.i, i1 false), !alias.scope !213 %491 = load i64, ptr %buff_cur26.i.i758.i, align 8, !tbaa !19 %add.i.i785.i = add i64 %491, %spec.select.i.i783.i br label %return.sink.split.i.i776.i return.sink.split.i.i776.i: ; preds = %if.then28.i.i781.i, %if.then12.i.i772.i, %if.end9.i.i770.i %add.sink.i.i777.i = phi i64 [ %add.i.i785.i, %if.then28.i.i781.i ], [ 0, %if.then12.i.i772.i ], [ 0, %if.end9.i.i770.i ] store i64 %add.sink.i.i777.i, ptr %buff_cur26.i.i758.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i765.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i765.i: ; preds = %return.sink.split.i.i776.i, %if.else.i.i778.i, %if.then12.i.i772.i, %if.then3.i.i761.i %retval.3.i.i766.i = phi i32 [ %call.i.i763.i, %if.then3.i.i761.i ], [ %call17.i.i774.i, %if.then12.i.i772.i ], [ 0, %if.else.i.i778.i ], [ 0, %return.sink.split.i.i776.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp35.i705.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i704.i) %cmp12.not.i767.i = icmp eq i32 %retval.3.i.i766.i, 0 br i1 %cmp12.not.i767.i, label %while.cond.i718.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit786.i, !llvm.loop !102 while.end.i722.i: ; preds = %while.cond.i718.i %written.1.i719.i.lcssa = phi i64 [ %written.1.i719.i, %while.cond.i718.i ] %sub16.i723.i = sub i64 %cond.i.i.i11, %written.1.i719.i.lcssa %cond.i6.i.i724.i = call noundef i64 @llvm.umin.i64(i64 %sub16.i723.i, i64 64) %492 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1939.i703.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i40.i702.i) store ptr %mini_buff.i706.i, ptr %agg.tmp1939.i703.i, align 8 store i64 %cond.i6.i.i724.i, ptr %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i725.i, align 8 %stream_writer.i41.i726.i = getelementptr inbounds i8, ptr %492, i64 24 %493 = load ptr, ptr %stream_writer.i41.i726.i, align 8, !tbaa !20 %cmp.not.i42.i727.i = icmp eq ptr %493, null %buff_cur26.i43.i728.i = getelementptr inbounds i8, ptr %492, i64 16 %494 = load i64, ptr %buff_cur26.i43.i728.i, align 8, !tbaa !19 br i1 %cmp.not.i42.i727.i, label %if.else.i61.i747.i, label %if.then.i44.i729.i if.then.i44.i729.i: ; preds = %while.end.i722.i %cmp2.not.i45.i730.i = icmp eq i64 %494, 0 br i1 %cmp2.not.i45.i730.i, label %if.end9.i52.i739.i, label %if.then3.i46.i731.i if.then3.i46.i731.i: ; preds = %if.then.i44.i729.i %495 = load ptr, ptr %492, align 8, !tbaa !15 store ptr %495, ptr %agg.tmp.i40.i702.i, align 8, !tbaa !91 store i64 %494, ptr %Len.i.i.i47.i732.i, align 8, !tbaa !93 %output_target.i48.i733.i = getelementptr inbounds i8, ptr %492, i64 32 %496 = load ptr, ptr %output_target.i48.i733.i, align 8, !tbaa !21 %call.i49.i734.i = call noundef i32 %493(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i40.i702.i, ptr noundef %496) #19 %cmp7.i50.i735.i = icmp sgt i32 %call.i49.i734.i, -1 br i1 %cmp7.i50.i735.i, label %if.end9.i52.i739.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i736.i if.end9.i52.i739.i: ; preds = %if.then3.i46.i731.i, %if.then.i44.i729.i %cmp11.not.i54.i740.i = icmp eq i64 %written.1.i719.i.lcssa, %cond.i.i.i11 br i1 %cmp11.not.i54.i740.i, label %return.sink.split.i59.i745.i, label %if.then12.i55.i741.i if.then12.i55.i741.i: ; preds = %if.end9.i52.i739.i %497 = load ptr, ptr %stream_writer.i41.i726.i, align 8, !tbaa !20 %output_target16.i56.i742.i = getelementptr inbounds i8, ptr %492, i64 32 %498 = load ptr, ptr %output_target16.i56.i742.i, align 8, !tbaa !21 %call17.i57.i743.i = call noundef i32 %497(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp1939.i703.i, ptr noundef %498) #19 %cmp18.i58.i744.i = icmp sgt i32 %call17.i57.i743.i, -1 br i1 %cmp18.i58.i744.i, label %return.sink.split.i59.i745.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i736.i if.else.i61.i747.i: ; preds = %while.end.i722.i %buff_len.i62.i748.i = getelementptr inbounds i8, ptr %492, i64 8 %499 = load i64, ptr %buff_len.i62.i748.i, align 8, !tbaa !18 %cmp27.i63.i749.i = icmp ult i64 %494, %499 br i1 %cmp27.i63.i749.i, label %if.then28.i64.i750.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i736.i if.then28.i64.i750.i: ; preds = %if.else.i61.i747.i %sub.i65.i751.i = sub i64 %499, %494 %spec.select.i67.i752.i = call i64 @llvm.umin.i64(i64 %sub.i65.i751.i, i64 %cond.i6.i.i724.i) %500 = load ptr, ptr %492, align 8, !tbaa !15 %add.ptr.i68.i753.i = getelementptr inbounds i8, ptr %500, i64 %494 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i68.i753.i, ptr nonnull align 1 %mini_buff.i706.i, i64 %spec.select.i67.i752.i, i1 false), !alias.scope !217 %501 = load i64, ptr %buff_cur26.i43.i728.i, align 8, !tbaa !19 %add.i69.i754.i = add i64 %501, %spec.select.i67.i752.i br label %return.sink.split.i59.i745.i return.sink.split.i59.i745.i: ; preds = %if.then28.i64.i750.i, %if.then12.i55.i741.i, %if.end9.i52.i739.i %add.sink.i60.i746.i = phi i64 [ %add.i69.i754.i, %if.then28.i64.i750.i ], [ 0, %if.then12.i55.i741.i ], [ 0, %if.end9.i52.i739.i ] store i64 %add.sink.i60.i746.i, ptr %buff_cur26.i43.i728.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i736.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i736.i: ; preds = %return.sink.split.i59.i745.i, %if.else.i61.i747.i, %if.then12.i55.i741.i, %if.then3.i46.i731.i %retval.3.i51.i737.i = phi i32 [ %call.i49.i734.i, %if.then3.i46.i731.i ], [ %call17.i57.i743.i, %if.then12.i55.i741.i ], [ 0, %if.else.i61.i747.i ], [ 0, %return.sink.split.i59.i745.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1939.i703.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i40.i702.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit786.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit786.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i736.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i765.i %retval.2.i738.i = phi i32 [ %retval.3.i51.i737.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i736.i ], [ %retval.3.i.i766.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i765.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %mini_buff.i706.i) #18 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit786.i, %if.then.i.i.i193.i %retval.0.i.i.i.i = phi i32 [ 0, %if.then.i.i.i193.i ], [ %retval.2.i738.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit786.i ] %cmp17.i.i.i = icmp sgt i32 %retval.0.i.i.i.i, -1 br i1 %cmp17.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.if.end20.i_crit_edge.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core14convert_stringEPNS0_6WriterERKNS0_13FormatSectionE.exit.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.if.end20.i_crit_edge.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.i.i %.pre79.i.i = load ptr, ptr %writer, align 8, !tbaa !22 %.pre89 = load i32, ptr %chars_written.i, align 8, !tbaa !25 br label %if.end20.i.i.i if.end20.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.if.end20.i_crit_edge.i.i, %for.cond.cleanup.i.i.i %502 = phi i32 [ %.pre89, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.if.end20.i_crit_edge.i.i ], [ %.pre90, %for.cond.cleanup.i.i.i ] %503 = phi ptr [ %.pre79.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.if.end20.i_crit_edge.i.i ], [ %.pre80.i.i, %for.cond.cleanup.i.i.i ] %add.i80.i.i.i = add nsw i32 %502, %conv8.i.i.i store i32 %add.i80.i.i.i, ptr %chars_written.i, align 8, !tbaa !25 %buff_cur.i81.i.i.i = getelementptr inbounds i8, ptr %503, i64 16 %504 = load i64, ptr %buff_cur.i81.i.i.i, align 8, !tbaa !19 %add3.i.i.i.i = add i64 %504, %string_len.1.i.i.i %buff_len.i82.i.i.i = getelementptr inbounds i8, ptr %503, i64 8 %505 = load i64, ptr %buff_len.i82.i.i.i, align 8, !tbaa !18 %cmp.not.i83.i.i.i = icmp ugt i64 %add3.i.i.i.i, %505 br i1 %cmp.not.i83.i.i.i, label %if.end.i87.i.i.i, label %if.then.i84.i.i.i if.then.i84.i.i.i: ; preds = %if.end20.i.i.i %506 = load ptr, ptr %503, align 8, !tbaa !15 %add.ptr.i85.i.i.i = getelementptr inbounds i8, ptr %506, i64 %504 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i85.i.i.i, ptr nonnull align 4 %NULLPTR_STR.i.i, i64 %string_len.1.i.i.i, i1 false), !alias.scope !221 %507 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur13.i.i.i.i = getelementptr inbounds i8, ptr %507, i64 16 %508 = load i64, ptr %buff_cur13.i.i.i.i, align 8, !tbaa !19 %add14.i.i.i.i = add i64 %508, %string_len.1.i.i.i store i64 %add14.i.i.i.i, ptr %buff_cur13.i.i.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i.i.i if.end.i87.i.i.i: ; preds = %if.end20.i.i.i call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp20.i.i.i.i) store ptr %NULLPTR_STR.i.i, ptr %agg.tmp20.i.i.i.i, align 8 store i64 %string_len.1.i.i.i, ptr %agg.tmp76.sroa.5.0.agg.tmp20.i.sroa_idx.i.i.i, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i.i.i.i) %stream_writer.i.i.i.i.i = getelementptr inbounds i8, ptr %503, i64 24 %509 = load ptr, ptr %stream_writer.i.i.i.i.i, align 8, !tbaa !20 %cmp.not.i.i.i.i.i = icmp eq ptr %509, null br i1 %cmp.not.i.i.i.i.i, label %if.else.i.i.i.i.i, label %if.then.i.i.i.i.i if.then.i.i.i.i.i: ; preds = %if.end.i87.i.i.i %cmp2.not.i.i.i.i.i = icmp eq i64 %504, 0 br i1 %cmp2.not.i.i.i.i.i, label %if.end9.i.i.i.i.i, label %if.then3.i.i.i.i.i if.then3.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i %510 = load ptr, ptr %503, align 8, !tbaa !15 store ptr %510, ptr %agg.tmp.i.i.i.i.i, align 8, !tbaa !91 store i64 %504, ptr %Len.i.i.i.i.i.i.i, align 8, !tbaa !93 %output_target.i.i.i.i.i = getelementptr inbounds i8, ptr %503, i64 32 %511 = load ptr, ptr %output_target.i.i.i.i.i, align 8, !tbaa !21 %call.i.i.i.i.i = call noundef i32 %509(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i.i.i.i, ptr noundef %511) #19 %cmp7.i.i.i.i.i = icmp sgt i32 %call.i.i.i.i.i, -1 br i1 %cmp7.i.i.i.i.i, label %if.end9.i.i.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i.i.i if.end9.i.i.i.i.i: ; preds = %if.then3.i.i.i.i.i, %if.then.i.i.i.i.i %cmp11.not.i.i.i.i.i = icmp eq i64 %string_len.1.i.i.i, 0 br i1 %cmp11.not.i.i.i.i.i, label %return.sink.split.i.i.i.i.i, label %if.then12.i.i.i.i.i if.then12.i.i.i.i.i: ; preds = %if.end9.i.i.i.i.i %512 = load ptr, ptr %stream_writer.i.i.i.i.i, align 8, !tbaa !20 %output_target16.i.i.i.i.i = getelementptr inbounds i8, ptr %503, i64 32 %513 = load ptr, ptr %output_target16.i.i.i.i.i, align 8, !tbaa !21 %call17.i.i.i.i.i = call noundef i32 %512(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp20.i.i.i.i, ptr noundef %513) #19 %cmp18.i.i.i.i.i = icmp sgt i32 %call17.i.i.i.i.i, -1 br i1 %cmp18.i.i.i.i.i, label %return.sink.split.i.i.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i.i.i if.else.i.i.i.i.i: ; preds = %if.end.i87.i.i.i %cmp27.i.i.i.i.i = icmp ult i64 %504, %505 br i1 %cmp27.i.i.i.i.i, label %if.then28.i.i.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i.i.i if.then28.i.i.i.i.i: ; preds = %if.else.i.i.i.i.i %sub.i.i.i.i.i12 = sub i64 %505, %504 %spec.select.i.i.i.i.i = call i64 @llvm.umin.i64(i64 %sub.i.i.i.i.i12, i64 %string_len.1.i.i.i) %514 = load ptr, ptr %503, align 8, !tbaa !15 %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %514, i64 %504 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i.i.i.i, ptr nonnull align 4 %NULLPTR_STR.i.i, i64 %spec.select.i.i.i.i.i, i1 false), !alias.scope !225 %515 = load i64, ptr %buff_cur.i81.i.i.i, align 8, !tbaa !19 %add.i.i.i.i.i = add i64 %515, %spec.select.i.i.i.i.i br label %return.sink.split.i.i.i.i.i return.sink.split.i.i.i.i.i: ; preds = %if.then28.i.i.i.i.i, %if.then12.i.i.i.i.i, %if.end9.i.i.i.i.i %add.sink.i.i.i.i.i = phi i64 [ %add.i.i.i.i.i, %if.then28.i.i.i.i.i ], [ 0, %if.then12.i.i.i.i.i ], [ 0, %if.end9.i.i.i.i.i ] store i64 %add.sink.i.i.i.i.i, ptr %buff_cur.i81.i.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i.i.i: ; preds = %return.sink.split.i.i.i.i.i, %if.else.i.i.i.i.i, %if.then12.i.i.i.i.i, %if.then3.i.i.i.i.i %retval.3.i.i.i.i.i = phi i32 [ %call.i.i.i.i.i, %if.then3.i.i.i.i.i ], [ %call17.i.i.i.i.i, %if.then12.i.i.i.i.i ], [ 0, %if.else.i.i.i.i.i ], [ 0, %return.sink.split.i.i.i.i.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp20.i.i.i.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i.i.i.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i.i.i, %if.then.i84.i.i.i %retval.0.i86.i.i.i = phi i32 [ 0, %if.then.i84.i.i.i ], [ %retval.3.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i.i.i ] %cmp23.i.i.i = icmp sgt i32 %retval.0.i86.i.i.i, -1 br i1 %cmp23.i.i.i, label %cleanup.cont28.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core14convert_stringEPNS0_6WriterERKNS0_13FormatSectionE.exit.i.i cleanup.cont28.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i.i.i %cmp34.not.i.i.i = icmp eq i8 %472, 0 %or.cond69.i.i = select i1 %cmp12.not.i.i.i, i1 true, i1 %cmp34.not.i.i.i br i1 %or.cond69.i.i, label %if.end44.i.i.i, label %if.then35.i.i.i if.then35.i.i.i: ; preds = %cleanup.cont28.i.i.i %conv.i88.i.i.i = trunc i64 %cond.i.i.i11 to i32 %516 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i90.i.i.i = add nsw i32 %516, %conv.i88.i.i.i store i32 %add.i90.i.i.i, ptr %chars_written.i, align 8, !tbaa !25 %517 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i91.i.i.i = getelementptr inbounds i8, ptr %517, i64 16 %518 = load i64, ptr %buff_cur.i91.i.i.i, align 8, !tbaa !19 %add2.i92.i.i.i = add i64 %518, %cond.i.i.i11 %buff_len.i93.i.i.i = getelementptr inbounds i8, ptr %517, i64 8 %519 = load i64, ptr %buff_len.i93.i.i.i, align 8, !tbaa !18 %cmp.not.i94.i.i.i = icmp ugt i64 %add2.i92.i.i.i, %519 br i1 %cmp.not.i94.i.i.i, label %if.end.i100.i.i.i, label %if.then.i95.i.i.i if.then.i95.i.i.i: ; preds = %if.then35.i.i.i %520 = load ptr, ptr %517, align 8, !tbaa !15 %add.ptr.i96.i.i.i = getelementptr inbounds i8, ptr %520, i64 %518 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i96.i.i.i, i8 32, i64 %cond.i.i.i11, i1 false) %521 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur8.i97.i.i.i = getelementptr inbounds i8, ptr %521, i64 16 %522 = load i64, ptr %buff_cur8.i97.i.i.i, align 8, !tbaa !19 %add9.i98.i.i.i = add i64 %522, %cond.i.i.i11 store i64 %add9.i98.i.i.i, ptr %buff_cur8.i97.i.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit102.i.i.i if.end.i100.i.i.i: ; preds = %if.then35.i.i.i %sub.i794.i = sub i64 %519, %518 %cmp.not.i795.i = icmp eq i64 %sub.i794.i, 0 br i1 %cmp.not.i795.i, label %if.end.i800.i, label %if.then.i796.i if.then.i796.i: ; preds = %if.end.i100.i.i.i %523 = load ptr, ptr %517, align 8, !tbaa !15 %add.ptr.i797.i = getelementptr inbounds i8, ptr %523, i64 %518 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i797.i, i8 32, i64 %sub.i794.i, i1 false) %524 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur7.i798.i = getelementptr inbounds i8, ptr %524, i64 16 %525 = load i64, ptr %buff_cur7.i798.i, align 8, !tbaa !19 %add.i799.i = add i64 %525, %sub.i794.i store i64 %add.i799.i, ptr %buff_cur7.i798.i, align 8, !tbaa !19 br label %if.end.i800.i if.end.i800.i: ; preds = %if.then.i796.i, %if.end.i100.i.i.i call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %mini_buff.i791.i) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %mini_buff.i791.i, i8 32, i64 64, i1 false) br label %while.cond.i803.i while.cond.i803.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i850.i, %if.end.i800.i %written.1.i804.i = phi i64 [ %sub.i794.i, %if.end.i800.i ], [ %add9.i805.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i850.i ] %add9.i805.i = add i64 %written.1.i804.i, 64 %cmp10.i806.i = icmp ult i64 %add9.i805.i, %cond.i.i.i11 br i1 %cmp10.i806.i, label %while.body.i840.i, label %while.end.i807.i while.body.i840.i: ; preds = %while.cond.i803.i %526 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp35.i790.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i789.i) store ptr %mini_buff.i791.i, ptr %agg.tmp35.i790.i, align 8 store i64 64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i801.i, align 8 %stream_writer.i.i841.i = getelementptr inbounds i8, ptr %526, i64 24 %527 = load ptr, ptr %stream_writer.i.i841.i, align 8, !tbaa !20 %cmp.not.i.i842.i = icmp eq ptr %527, null %buff_cur26.i.i843.i = getelementptr inbounds i8, ptr %526, i64 16 %528 = load i64, ptr %buff_cur26.i.i843.i, align 8, !tbaa !19 br i1 %cmp.not.i.i842.i, label %if.else.i.i863.i, label %if.then.i.i844.i if.then.i.i844.i: ; preds = %while.body.i840.i %cmp2.not.i.i845.i = icmp eq i64 %528, 0 br i1 %cmp2.not.i.i845.i, label %if.end9.i.i855.i, label %if.then3.i.i846.i if.then3.i.i846.i: ; preds = %if.then.i.i844.i %529 = load ptr, ptr %526, align 8, !tbaa !15 store ptr %529, ptr %agg.tmp.i.i789.i, align 8, !tbaa !91 store i64 %528, ptr %Len.i.i.i.i802.i, align 8, !tbaa !93 %output_target.i.i847.i = getelementptr inbounds i8, ptr %526, i64 32 %530 = load ptr, ptr %output_target.i.i847.i, align 8, !tbaa !21 %call.i.i848.i = call noundef i32 %527(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i789.i, ptr noundef %530) #19 %cmp7.i.i849.i = icmp sgt i32 %call.i.i848.i, -1 br i1 %cmp7.i.i849.i, label %if.then3.i.if.end9.i_crit_edge.i853.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i850.i if.then3.i.if.end9.i_crit_edge.i853.i: ; preds = %if.then3.i.i846.i %.pre.i854.i = load i64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i801.i, align 8, !tbaa !93 br label %if.end9.i.i855.i if.end9.i.i855.i: ; preds = %if.then3.i.if.end9.i_crit_edge.i853.i, %if.then.i.i844.i %531 = phi i64 [ %.pre.i854.i, %if.then3.i.if.end9.i_crit_edge.i853.i ], [ 64, %if.then.i.i844.i ] %cmp11.not.i.i856.i = icmp eq i64 %531, 0 br i1 %cmp11.not.i.i856.i, label %return.sink.split.i.i861.i, label %if.then12.i.i857.i if.then12.i.i857.i: ; preds = %if.end9.i.i855.i %532 = load ptr, ptr %stream_writer.i.i841.i, align 8, !tbaa !20 %output_target16.i.i858.i = getelementptr inbounds i8, ptr %526, i64 32 %533 = load ptr, ptr %output_target16.i.i858.i, align 8, !tbaa !21 %call17.i.i859.i = call noundef i32 %532(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp35.i790.i, ptr noundef %533) #19 %cmp18.i.i860.i = icmp sgt i32 %call17.i.i859.i, -1 br i1 %cmp18.i.i860.i, label %return.sink.split.i.i861.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i850.i if.else.i.i863.i: ; preds = %while.body.i840.i %buff_len.i.i864.i = getelementptr inbounds i8, ptr %526, i64 8 %534 = load i64, ptr %buff_len.i.i864.i, align 8, !tbaa !18 %cmp27.i.i865.i = icmp ult i64 %528, %534 br i1 %cmp27.i.i865.i, label %if.then28.i.i866.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i850.i if.then28.i.i866.i: ; preds = %if.else.i.i863.i %sub.i.i867.i = sub i64 %534, %528 %spec.select.i.i868.i = call i64 @llvm.umin.i64(i64 %sub.i.i867.i, i64 64) %535 = load ptr, ptr %526, align 8, !tbaa !15 %add.ptr.i.i869.i = getelementptr inbounds i8, ptr %535, i64 %528 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i869.i, ptr nonnull align 1 %mini_buff.i791.i, i64 %spec.select.i.i868.i, i1 false), !alias.scope !229 %536 = load i64, ptr %buff_cur26.i.i843.i, align 8, !tbaa !19 %add.i.i870.i = add i64 %536, %spec.select.i.i868.i br label %return.sink.split.i.i861.i return.sink.split.i.i861.i: ; preds = %if.then28.i.i866.i, %if.then12.i.i857.i, %if.end9.i.i855.i %add.sink.i.i862.i = phi i64 [ %add.i.i870.i, %if.then28.i.i866.i ], [ 0, %if.then12.i.i857.i ], [ 0, %if.end9.i.i855.i ] store i64 %add.sink.i.i862.i, ptr %buff_cur26.i.i843.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i850.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i850.i: ; preds = %return.sink.split.i.i861.i, %if.else.i.i863.i, %if.then12.i.i857.i, %if.then3.i.i846.i %retval.3.i.i851.i = phi i32 [ %call.i.i848.i, %if.then3.i.i846.i ], [ %call17.i.i859.i, %if.then12.i.i857.i ], [ 0, %if.else.i.i863.i ], [ 0, %return.sink.split.i.i861.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp35.i790.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i789.i) %cmp12.not.i852.i = icmp eq i32 %retval.3.i.i851.i, 0 br i1 %cmp12.not.i852.i, label %while.cond.i803.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit871.i, !llvm.loop !102 while.end.i807.i: ; preds = %while.cond.i803.i %written.1.i804.i.lcssa = phi i64 [ %written.1.i804.i, %while.cond.i803.i ] %sub16.i808.i = sub i64 %cond.i.i.i11, %written.1.i804.i.lcssa %cond.i6.i.i809.i = call noundef i64 @llvm.umin.i64(i64 %sub16.i808.i, i64 64) %537 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1939.i788.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i40.i787.i) store ptr %mini_buff.i791.i, ptr %agg.tmp1939.i788.i, align 8 store i64 %cond.i6.i.i809.i, ptr %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i810.i, align 8 %stream_writer.i41.i811.i = getelementptr inbounds i8, ptr %537, i64 24 %538 = load ptr, ptr %stream_writer.i41.i811.i, align 8, !tbaa !20 %cmp.not.i42.i812.i = icmp eq ptr %538, null %buff_cur26.i43.i813.i = getelementptr inbounds i8, ptr %537, i64 16 %539 = load i64, ptr %buff_cur26.i43.i813.i, align 8, !tbaa !19 br i1 %cmp.not.i42.i812.i, label %if.else.i61.i832.i, label %if.then.i44.i814.i if.then.i44.i814.i: ; preds = %while.end.i807.i %cmp2.not.i45.i815.i = icmp eq i64 %539, 0 br i1 %cmp2.not.i45.i815.i, label %if.end9.i52.i824.i, label %if.then3.i46.i816.i if.then3.i46.i816.i: ; preds = %if.then.i44.i814.i %540 = load ptr, ptr %537, align 8, !tbaa !15 store ptr %540, ptr %agg.tmp.i40.i787.i, align 8, !tbaa !91 store i64 %539, ptr %Len.i.i.i47.i817.i, align 8, !tbaa !93 %output_target.i48.i818.i = getelementptr inbounds i8, ptr %537, i64 32 %541 = load ptr, ptr %output_target.i48.i818.i, align 8, !tbaa !21 %call.i49.i819.i = call noundef i32 %538(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i40.i787.i, ptr noundef %541) #19 %cmp7.i50.i820.i = icmp sgt i32 %call.i49.i819.i, -1 br i1 %cmp7.i50.i820.i, label %if.end9.i52.i824.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i821.i if.end9.i52.i824.i: ; preds = %if.then3.i46.i816.i, %if.then.i44.i814.i %cmp11.not.i54.i825.i = icmp eq i64 %written.1.i804.i.lcssa, %cond.i.i.i11 br i1 %cmp11.not.i54.i825.i, label %return.sink.split.i59.i830.i, label %if.then12.i55.i826.i if.then12.i55.i826.i: ; preds = %if.end9.i52.i824.i %542 = load ptr, ptr %stream_writer.i41.i811.i, align 8, !tbaa !20 %output_target16.i56.i827.i = getelementptr inbounds i8, ptr %537, i64 32 %543 = load ptr, ptr %output_target16.i56.i827.i, align 8, !tbaa !21 %call17.i57.i828.i = call noundef i32 %542(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp1939.i788.i, ptr noundef %543) #19 %cmp18.i58.i829.i = icmp sgt i32 %call17.i57.i828.i, -1 br i1 %cmp18.i58.i829.i, label %return.sink.split.i59.i830.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i821.i if.else.i61.i832.i: ; preds = %while.end.i807.i %buff_len.i62.i833.i = getelementptr inbounds i8, ptr %537, i64 8 %544 = load i64, ptr %buff_len.i62.i833.i, align 8, !tbaa !18 %cmp27.i63.i834.i = icmp ult i64 %539, %544 br i1 %cmp27.i63.i834.i, label %if.then28.i64.i835.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i821.i if.then28.i64.i835.i: ; preds = %if.else.i61.i832.i %sub.i65.i836.i = sub i64 %544, %539 %spec.select.i67.i837.i = call i64 @llvm.umin.i64(i64 %sub.i65.i836.i, i64 %cond.i6.i.i809.i) %545 = load ptr, ptr %537, align 8, !tbaa !15 %add.ptr.i68.i838.i = getelementptr inbounds i8, ptr %545, i64 %539 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i68.i838.i, ptr nonnull align 1 %mini_buff.i791.i, i64 %spec.select.i67.i837.i, i1 false), !alias.scope !233 %546 = load i64, ptr %buff_cur26.i43.i813.i, align 8, !tbaa !19 %add.i69.i839.i = add i64 %546, %spec.select.i67.i837.i br label %return.sink.split.i59.i830.i return.sink.split.i59.i830.i: ; preds = %if.then28.i64.i835.i, %if.then12.i55.i826.i, %if.end9.i52.i824.i %add.sink.i60.i831.i = phi i64 [ %add.i69.i839.i, %if.then28.i64.i835.i ], [ 0, %if.then12.i55.i826.i ], [ 0, %if.end9.i52.i824.i ] store i64 %add.sink.i60.i831.i, ptr %buff_cur26.i43.i813.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i821.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i821.i: ; preds = %return.sink.split.i59.i830.i, %if.else.i61.i832.i, %if.then12.i55.i826.i, %if.then3.i46.i816.i %retval.3.i51.i822.i = phi i32 [ %call.i49.i819.i, %if.then3.i46.i816.i ], [ %call17.i57.i828.i, %if.then12.i55.i826.i ], [ 0, %if.else.i61.i832.i ], [ 0, %return.sink.split.i59.i830.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1939.i788.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i40.i787.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit871.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit871.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i821.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i850.i %retval.2.i823.i = phi i32 [ %retval.3.i51.i822.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i821.i ], [ %retval.3.i.i851.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i850.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %mini_buff.i791.i) #18 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit102.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit102.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit871.i, %if.then.i95.i.i.i %retval.0.i99.i.i.i = phi i32 [ 0, %if.then.i95.i.i.i ], [ %retval.2.i823.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit871.i ] %cmp38.i.i.i = icmp sgt i32 %retval.0.i99.i.i.i, -1 br i1 %cmp38.i.i.i, label %if.end44.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core14convert_stringEPNS0_6WriterERKNS0_13FormatSectionE.exit.i.i if.end44.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit102.i.i.i, %cleanup.cont28.i.i.i br label %_ZN22__llvm_libc_19_0_0_git11printf_core14convert_stringEPNS0_6WriterERKNS0_13FormatSectionE.exit.i.i _ZN22__llvm_libc_19_0_0_git11printf_core14convert_stringEPNS0_6WriterERKNS0_13FormatSectionE.exit.i.i: ; preds = %if.end44.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit102.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.i.i %retval.4.i.i.i = phi i32 [ 0, %if.end44.i.i.i ], [ %retval.0.i99.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit102.i.i.i ], [ %retval.0.i86.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i.i.i ], [ %retval.0.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.i.i ] call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %NULLPTR_STR.i.i) #18 br label %if.end if.end.i179.i: ; preds = %sw.bb9.i %547 = ptrtoint ptr %cur_section.sroa.58.0 to i64 call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %buf.i.i.i) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %buf.i.i.i, i8 -86, i64 64, i1 false), !annotation !10 br label %for.body.i.i.i.i.i.i.i for.body.i.i.i.i.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i.i, %if.end.i179.i %writer.sroa.10.0.i.i.i.i.i = phi i64 [ %writer.sroa.10.1.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i.i ], [ 0, %if.end.i179.i ] %548 = phi i64 [ %552, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i.i ], [ 0, %if.end.i179.i ] %value.addr.010.i.i.i.i.i.i.i = phi i64 [ %div6.i.i.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i.i ], [ %547, %if.end.i179.i ] %cmp.i.i.i.i.i.i.i.i.i = icmp eq i64 %548, 64 br i1 %cmp.i.i.i.i.i.i.i.i.i, label %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i.i, label %if.then3.i.i.i.i.i.i.i.i if.then3.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i %549 = trunc i64 %value.addr.010.i.i.i.i.i.i.i to i8 %conv.i.i.i.i.i.i.i = and i8 %549, 15 %cmp.i.i.i.i.i.i.i180.i = icmp ult i8 %conv.i.i.i.i.i.i.i, 10 %550 = or disjoint i8 %conv.i.i.i.i.i.i.i, 48 %add6.i.i.i.i.i.i.i.i = add nuw nsw i8 %conv.i.i.i.i.i.i.i, 87 %retval.0.i.i.i.i.i.i.i.i = select i1 %cmp.i.i.i.i.i.i.i180.i, i8 %550, i8 %add6.i.i.i.i.i.i.i.i %551 = xor i64 %548, -1 %arrayidx.i.i.i.i.i.i.i.i.i = getelementptr i8, ptr %71, i64 %551 store i8 %retval.0.i.i.i.i.i.i.i.i, ptr %arrayidx.i.i.i.i.i.i.i.i.i, align 1, !tbaa !26 %inc.i.i.i.i.i.i.i.i = add i64 %writer.sroa.10.0.i.i.i.i.i, 1 br label %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i.i _ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i.i: ; preds = %if.then3.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i %writer.sroa.10.1.i.i.i.i.i = phi i64 [ %inc.i.i.i.i.i.i.i.i, %if.then3.i.i.i.i.i.i.i.i ], [ %writer.sroa.10.0.i.i.i.i.i, %for.body.i.i.i.i.i.i.i ] %552 = phi i64 [ %inc.i.i.i.i.i.i.i.i, %if.then3.i.i.i.i.i.i.i.i ], [ 64, %for.body.i.i.i.i.i.i.i ] %div6.i.i.i.i.i.i.i = lshr i64 %value.addr.010.i.i.i.i.i.i.i, 4 %cmp.i.i.i.i.i.i181.i = icmp ult i64 %value.addr.010.i.i.i.i.i.i.i, 16 %.not.i.i.i.i.i.i.i = select i1 %cmp.i.i.i.i.i.i.i.i.i, i1 true, i1 %cmp.i.i.i.i.i.i181.i br i1 %.not.i.i.i.i.i.i.i, label %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i, !llvm.loop !144 _ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git7details22StringBufferWriterImplILb0EE4pushEc.exit.i.i.i.i.i.i.i br i1 %cmp.i.i.i.i.i.i.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.sink.split.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.sink.split.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i.i %writer.sroa.10.3.i294.i.lcssa.i.i.i = call i64 @llvm.umax.i64(i64 %writer.sroa.10.1.i.i.i.i.i, i64 1) %cmp.i.i295.i.peel.i.i.i = icmp eq i64 %writer.sroa.10.1.i.i.i.i.i, 0 %arrayidx.i.i.i.i292.i.promoted.i.i.i = load i8, ptr %arrayidx.i.i.i.i292.i.i.i.i, align 1, !tbaa !26 %.lcssa564.i.i.i = select i1 %cmp.i.i295.i.peel.i.i.i, i8 48, i8 %arrayidx.i.i.i.i292.i.promoted.i.i.i store i8 %.lcssa564.i.i.i, ptr %arrayidx.i.i.i.i292.i.i.i.i, align 1, !tbaa !26 br label %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.sink.split.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i.i %553 = phi i64 [ %writer.sroa.10.1.i.i.i.i.i, %_ZN22__llvm_libc_19_0_0_git15IntegerToStringIyNS_7details3FmtILh16ELb0ELb0ELb0ELm1EEEE13IntegerWriter21write_unsigned_numberEyRNS1_22StringBufferWriterImplILb0EEE.exit.i.i.i.i.i.i ], [ %writer.sroa.10.3.i294.i.lcssa.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.sink.split.i.i.i ] %idx.neg.i300.i.i.i.i = sub i64 0, %553 %add.ptr4.i301.i.i.i.i = getelementptr inbounds i8, ptr %71, i64 %idx.neg.i300.i.i.i.i br i1 %cmp.i.i.i.i.i.i.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11convert_intEPNS0_6WriterERKNS0_13FormatSectionE.exit.i.i, label %if.else23.i.i.i if.else23.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.i.i.i call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %prefix.i.i.i) #18 store i8 48, ptr %prefix.i.i.i, align 2, !tbaa !26 store i8 120, ptr %72, align 1, !tbaa !26 %cmp74.i.i.i = icmp slt i32 %cur_section.sroa.49.0, 0 %.neg73.i.i = add nsw i32 %cur_section.sroa.42.0, -2 br i1 %cmp74.i.i.i, label %if.then75.i.i.i, label %if.else91.i.i.i if.then75.i.i.i: ; preds = %if.else23.i.i.i %554 = and i8 %cur_section.sroa.22.0, 17 %cmp78.i.i.i = icmp eq i8 %554, 16 %555 = trunc i64 %553 to i32 %conv83.i.i.i = sub i32 %.neg73.i.i, %555 %.conv83.i.i.i = select i1 %cmp78.i.i.i, i32 0, i32 %conv83.i.i.i %conv83..i.i.i = select i1 %cmp78.i.i.i, i32 %conv83.i.i.i, i32 0 br label %if.end126.i.i.i if.else91.i.i.i: ; preds = %if.else23.i.i.i %556 = trunc i64 %553 to i32 %conv101.i.i.i = sub i32 %cur_section.sroa.49.0, %556 %spec.store.select.i15.i.i = call i32 @llvm.smax.i32(i32 %conv101.i.i.i, i32 0) %557 = add i32 %spec.store.select.i15.i.i, %556 %conv110.i.i.i = sub i32 %.neg73.i.i, %557 br label %if.end126.i.i.i if.end126.i.i.i: ; preds = %if.else91.i.i.i, %if.then75.i.i.i %spaces.0.i.i.i = phi i32 [ %conv110.i.i.i, %if.else91.i.i.i ], [ %.conv83.i.i.i, %if.then75.i.i.i ] %zeroes.0.i.i.i = phi i32 [ %spec.store.select.i15.i.i, %if.else91.i.i.i ], [ %conv83..i.i.i, %if.then75.i.i.i ] %558 = and i8 %cur_section.sroa.22.0, 1 %cmp129.not.i.i.i = icmp eq i8 %558, 0 br i1 %cmp129.not.i.i.i, label %if.else176.i.i.i, label %if.then132.i.i.i if.then132.i.i.i: ; preds = %if.end126.i.i.i %559 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i.i18.i.i = add nsw i32 %559, 2 store i32 %add.i.i18.i.i, ptr %chars_written.i, align 8, !tbaa !25 %560 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i.i19.i.i = getelementptr inbounds i8, ptr %560, i64 16 %561 = load i64, ptr %buff_cur.i.i19.i.i, align 8, !tbaa !19 %add3.i.i20.i.i = add i64 %561, 2 %buff_len.i.i21.i.i = getelementptr inbounds i8, ptr %560, i64 8 %562 = load i64, ptr %buff_len.i.i21.i.i, align 8, !tbaa !18 %cmp.not.i.i22.i.i = icmp ugt i64 %add3.i.i20.i.i, %562 br i1 %cmp.not.i.i22.i.i, label %if.end.i.i32.i.i, label %if.then.i340.i.i.i if.then.i340.i.i.i: ; preds = %if.then132.i.i.i %563 = load ptr, ptr %560, align 8, !tbaa !15 %add.ptr.i.i23.i.i = getelementptr inbounds i8, ptr %563, i64 %561 %564 = load i16, ptr %prefix.i.i.i, align 2, !alias.scope !237 store i16 %564, ptr %add.ptr.i.i23.i.i, align 1, !alias.scope !237 %565 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur13.i.i24.i.i = getelementptr inbounds i8, ptr %565, i64 16 %566 = load i64, ptr %buff_cur13.i.i24.i.i, align 8, !tbaa !19 %add14.i.i25.i.i = add i64 %566, 2 store i64 %add14.i.i25.i.i, ptr %buff_cur13.i.i24.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i26.i.i if.end.i.i32.i.i: ; preds = %if.then132.i.i.i call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp20.i.i12.i.i) store ptr %prefix.i.i.i, ptr %agg.tmp20.i.i12.i.i, align 8 store i64 2, ptr %agg.tmp133338.sroa.5.0.agg.tmp20.i.sroa_idx.i.i.i, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i.i11.i.i) %stream_writer.i.i.i33.i.i = getelementptr inbounds i8, ptr %560, i64 24 %567 = load ptr, ptr %stream_writer.i.i.i33.i.i, align 8, !tbaa !20 %cmp.not.i.i.i34.i.i = icmp eq ptr %567, null br i1 %cmp.not.i.i.i34.i.i, label %if.else.i.i.i50.i.i, label %if.then.i.i.i35.i.i if.then.i.i.i35.i.i: ; preds = %if.end.i.i32.i.i %cmp2.not.i.i.i36.i.i = icmp eq i64 %561, 0 br i1 %cmp2.not.i.i.i36.i.i, label %if.then12.i.i.i44.i.i, label %if.then3.i.i.i37.i.i if.then3.i.i.i37.i.i: ; preds = %if.then.i.i.i35.i.i %568 = load ptr, ptr %560, align 8, !tbaa !15 store ptr %568, ptr %agg.tmp.i.i.i11.i.i, align 8, !tbaa !91 store i64 %561, ptr %Len.i.i.i.i.i38.i.i, align 8, !tbaa !93 %output_target.i.i.i39.i.i = getelementptr inbounds i8, ptr %560, i64 32 %569 = load ptr, ptr %output_target.i.i.i39.i.i, align 8, !tbaa !21 %call.i.i.i40.i.i = call noundef i32 %567(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i.i11.i.i, ptr noundef %569) #19 %cmp7.i.i.i41.i.i = icmp sgt i32 %call.i.i.i40.i.i, -1 br i1 %cmp7.i.i.i41.i.i, label %if.then3.i.i.i37.if.then12.i.i.i44_crit_edge.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i42.i.i if.then3.i.i.i37.if.then12.i.i.i44_crit_edge.i.i: ; preds = %if.then3.i.i.i37.i.i %.pre.i183.i = load ptr, ptr %stream_writer.i.i.i33.i.i, align 8, !tbaa !20 br label %if.then12.i.i.i44.i.i if.then12.i.i.i44.i.i: ; preds = %if.then3.i.i.i37.if.then12.i.i.i44_crit_edge.i.i, %if.then.i.i.i35.i.i %570 = phi ptr [ %.pre.i183.i, %if.then3.i.i.i37.if.then12.i.i.i44_crit_edge.i.i ], [ %567, %if.then.i.i.i35.i.i ] %output_target16.i.i.i45.i.i = getelementptr inbounds i8, ptr %560, i64 32 %571 = load ptr, ptr %output_target16.i.i.i45.i.i, align 8, !tbaa !21 %call17.i.i.i46.i.i = call noundef i32 %570(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp20.i.i12.i.i, ptr noundef %571) #19 %cmp18.i.i.i47.i.i = icmp sgt i32 %call17.i.i.i46.i.i, -1 br i1 %cmp18.i.i.i47.i.i, label %return.sink.split.i.i.i48.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i42.i.i if.else.i.i.i50.i.i: ; preds = %if.end.i.i32.i.i %cmp27.i.i.i51.i.i = icmp ult i64 %561, %562 br i1 %cmp27.i.i.i51.i.i, label %if.then28.i.i.i52.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i42.i.i if.then28.i.i.i52.i.i: ; preds = %if.else.i.i.i50.i.i %sub.i.i.i53.i.i = sub i64 %562, %561 %spec.select.i.i.i54.i.i = call i64 @llvm.umin.i64(i64 %sub.i.i.i53.i.i, i64 2) %572 = load ptr, ptr %560, align 8, !tbaa !15 %add.ptr.i.i342.i.i.i = getelementptr inbounds i8, ptr %572, i64 %561 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i342.i.i.i, ptr nonnull align 2 %prefix.i.i.i, i64 %spec.select.i.i.i54.i.i, i1 false), !alias.scope !241 %573 = load i64, ptr %buff_cur.i.i19.i.i, align 8, !tbaa !19 %add.i.i.i55.i.i = add i64 %573, %spec.select.i.i.i54.i.i br label %return.sink.split.i.i.i48.i.i return.sink.split.i.i.i48.i.i: ; preds = %if.then28.i.i.i52.i.i, %if.then12.i.i.i44.i.i %add.sink.i.i.i49.i.i = phi i64 [ %add.i.i.i55.i.i, %if.then28.i.i.i52.i.i ], [ 0, %if.then12.i.i.i44.i.i ] store i64 %add.sink.i.i.i49.i.i, ptr %buff_cur.i.i19.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i42.i.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i42.i.i: ; preds = %return.sink.split.i.i.i48.i.i, %if.else.i.i.i50.i.i, %if.then12.i.i.i44.i.i, %if.then3.i.i.i37.i.i %retval.3.i.i.i43.i.i = phi i32 [ %call.i.i.i40.i.i, %if.then3.i.i.i37.i.i ], [ %call17.i.i.i46.i.i, %if.then12.i.i.i44.i.i ], [ 0, %if.else.i.i.i50.i.i ], [ 0, %return.sink.split.i.i.i48.i.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp20.i.i12.i.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i.i11.i.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i26.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i26.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i42.i.i, %if.then.i340.i.i.i %retval.0.i341.i.i.i = phi i32 [ 0, %if.then.i340.i.i.i ], [ %retval.3.i.i.i43.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i.i42.i.i ] %cmp135.i.i.i = icmp sgt i32 %retval.0.i341.i.i.i, -1 br i1 %cmp135.i.i.i, label %if.end138.i.i.i, label %cleanup228.i.i.i if.end138.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i26.i.i %cmp139.i.i.i = icmp sgt i32 %zeroes.0.i.i.i, 0 br i1 %cmp139.i.i.i, label %if.then140.i.i.i, label %if.end150.i.i.i if.then140.i.i.i: ; preds = %if.end138.i.i.i %conv142.i.i.i = zext nneg i32 %zeroes.0.i.i.i to i64 %574 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i345.i.i.i = add nsw i32 %574, %zeroes.0.i.i.i store i32 %add.i345.i.i.i, ptr %chars_written.i, align 8, !tbaa !25 %575 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i346.i.i.i = getelementptr inbounds i8, ptr %575, i64 16 %576 = load i64, ptr %buff_cur.i346.i.i.i, align 8, !tbaa !19 %add2.i.i27.i.i = add i64 %576, %conv142.i.i.i %buff_len.i347.i.i.i = getelementptr inbounds i8, ptr %575, i64 8 %577 = load i64, ptr %buff_len.i347.i.i.i, align 8, !tbaa !18 %cmp.not.i348.i.i.i = icmp ugt i64 %add2.i.i27.i.i, %577 br i1 %cmp.not.i348.i.i.i, label %if.end.i352.i.i.i, label %if.then.i349.i.i.i if.then.i349.i.i.i: ; preds = %if.then140.i.i.i %578 = load ptr, ptr %575, align 8, !tbaa !15 %add.ptr.i350.i.i.i = getelementptr inbounds i8, ptr %578, i64 %576 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i350.i.i.i, i8 48, i64 %conv142.i.i.i, i1 false) %579 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur8.i.i28.i.i = getelementptr inbounds i8, ptr %579, i64 16 %580 = load i64, ptr %buff_cur8.i.i28.i.i, align 8, !tbaa !19 %add9.i.i29.i.i = add i64 %580, %conv142.i.i.i store i64 %add9.i.i29.i.i, ptr %buff_cur8.i.i28.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i30.i.i if.end.i352.i.i.i: ; preds = %if.then140.i.i.i %sub.i879.i = sub i64 %577, %576 %cmp.not.i880.i = icmp eq i64 %sub.i879.i, 0 br i1 %cmp.not.i880.i, label %if.end.i885.i, label %if.then.i881.i if.then.i881.i: ; preds = %if.end.i352.i.i.i %581 = load ptr, ptr %575, align 8, !tbaa !15 %add.ptr.i882.i = getelementptr inbounds i8, ptr %581, i64 %576 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i882.i, i8 48, i64 %sub.i879.i, i1 false) %582 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur7.i883.i = getelementptr inbounds i8, ptr %582, i64 16 %583 = load i64, ptr %buff_cur7.i883.i, align 8, !tbaa !19 %add.i884.i = add i64 %583, %sub.i879.i store i64 %add.i884.i, ptr %buff_cur7.i883.i, align 8, !tbaa !19 br label %if.end.i885.i if.end.i885.i: ; preds = %if.then.i881.i, %if.end.i352.i.i.i call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %mini_buff.i876.i) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %mini_buff.i876.i, i8 48, i64 64, i1 false) br label %while.cond.i888.i while.cond.i888.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i935.i, %if.end.i885.i %written.1.i889.i = phi i64 [ %sub.i879.i, %if.end.i885.i ], [ %add9.i890.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i935.i ] %add9.i890.i = add i64 %written.1.i889.i, 64 %cmp10.i891.i = icmp ult i64 %add9.i890.i, %conv142.i.i.i br i1 %cmp10.i891.i, label %while.body.i925.i, label %while.end.i892.i while.body.i925.i: ; preds = %while.cond.i888.i %584 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp35.i875.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i874.i) store ptr %mini_buff.i876.i, ptr %agg.tmp35.i875.i, align 8 store i64 64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i886.i, align 8 %stream_writer.i.i926.i = getelementptr inbounds i8, ptr %584, i64 24 %585 = load ptr, ptr %stream_writer.i.i926.i, align 8, !tbaa !20 %cmp.not.i.i927.i = icmp eq ptr %585, null %buff_cur26.i.i928.i = getelementptr inbounds i8, ptr %584, i64 16 %586 = load i64, ptr %buff_cur26.i.i928.i, align 8, !tbaa !19 br i1 %cmp.not.i.i927.i, label %if.else.i.i948.i, label %if.then.i.i929.i if.then.i.i929.i: ; preds = %while.body.i925.i %cmp2.not.i.i930.i = icmp eq i64 %586, 0 br i1 %cmp2.not.i.i930.i, label %if.end9.i.i940.i, label %if.then3.i.i931.i if.then3.i.i931.i: ; preds = %if.then.i.i929.i %587 = load ptr, ptr %584, align 8, !tbaa !15 store ptr %587, ptr %agg.tmp.i.i874.i, align 8, !tbaa !91 store i64 %586, ptr %Len.i.i.i.i887.i, align 8, !tbaa !93 %output_target.i.i932.i = getelementptr inbounds i8, ptr %584, i64 32 %588 = load ptr, ptr %output_target.i.i932.i, align 8, !tbaa !21 %call.i.i933.i = call noundef i32 %585(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i874.i, ptr noundef %588) #19 %cmp7.i.i934.i = icmp sgt i32 %call.i.i933.i, -1 br i1 %cmp7.i.i934.i, label %if.then3.i.if.end9.i_crit_edge.i938.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i935.i if.then3.i.if.end9.i_crit_edge.i938.i: ; preds = %if.then3.i.i931.i %.pre.i939.i = load i64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i886.i, align 8, !tbaa !93 br label %if.end9.i.i940.i if.end9.i.i940.i: ; preds = %if.then3.i.if.end9.i_crit_edge.i938.i, %if.then.i.i929.i %589 = phi i64 [ %.pre.i939.i, %if.then3.i.if.end9.i_crit_edge.i938.i ], [ 64, %if.then.i.i929.i ] %cmp11.not.i.i941.i = icmp eq i64 %589, 0 br i1 %cmp11.not.i.i941.i, label %return.sink.split.i.i946.i, label %if.then12.i.i942.i if.then12.i.i942.i: ; preds = %if.end9.i.i940.i %590 = load ptr, ptr %stream_writer.i.i926.i, align 8, !tbaa !20 %output_target16.i.i943.i = getelementptr inbounds i8, ptr %584, i64 32 %591 = load ptr, ptr %output_target16.i.i943.i, align 8, !tbaa !21 %call17.i.i944.i = call noundef i32 %590(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp35.i875.i, ptr noundef %591) #19 %cmp18.i.i945.i = icmp sgt i32 %call17.i.i944.i, -1 br i1 %cmp18.i.i945.i, label %return.sink.split.i.i946.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i935.i if.else.i.i948.i: ; preds = %while.body.i925.i %buff_len.i.i949.i = getelementptr inbounds i8, ptr %584, i64 8 %592 = load i64, ptr %buff_len.i.i949.i, align 8, !tbaa !18 %cmp27.i.i950.i = icmp ult i64 %586, %592 br i1 %cmp27.i.i950.i, label %if.then28.i.i951.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i935.i if.then28.i.i951.i: ; preds = %if.else.i.i948.i %sub.i.i952.i = sub i64 %592, %586 %spec.select.i.i953.i = call i64 @llvm.umin.i64(i64 %sub.i.i952.i, i64 64) %593 = load ptr, ptr %584, align 8, !tbaa !15 %add.ptr.i.i954.i = getelementptr inbounds i8, ptr %593, i64 %586 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i954.i, ptr nonnull align 1 %mini_buff.i876.i, i64 %spec.select.i.i953.i, i1 false), !alias.scope !245 %594 = load i64, ptr %buff_cur26.i.i928.i, align 8, !tbaa !19 %add.i.i955.i = add i64 %594, %spec.select.i.i953.i br label %return.sink.split.i.i946.i return.sink.split.i.i946.i: ; preds = %if.then28.i.i951.i, %if.then12.i.i942.i, %if.end9.i.i940.i %add.sink.i.i947.i = phi i64 [ %add.i.i955.i, %if.then28.i.i951.i ], [ 0, %if.then12.i.i942.i ], [ 0, %if.end9.i.i940.i ] store i64 %add.sink.i.i947.i, ptr %buff_cur26.i.i928.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i935.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i935.i: ; preds = %return.sink.split.i.i946.i, %if.else.i.i948.i, %if.then12.i.i942.i, %if.then3.i.i931.i %retval.3.i.i936.i = phi i32 [ %call.i.i933.i, %if.then3.i.i931.i ], [ %call17.i.i944.i, %if.then12.i.i942.i ], [ 0, %if.else.i.i948.i ], [ 0, %return.sink.split.i.i946.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp35.i875.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i874.i) %cmp12.not.i937.i = icmp eq i32 %retval.3.i.i936.i, 0 br i1 %cmp12.not.i937.i, label %while.cond.i888.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit956.i, !llvm.loop !102 while.end.i892.i: ; preds = %while.cond.i888.i %written.1.i889.i.lcssa = phi i64 [ %written.1.i889.i, %while.cond.i888.i ] %sub16.i893.i = sub i64 %conv142.i.i.i, %written.1.i889.i.lcssa %cond.i6.i.i894.i = call noundef i64 @llvm.umin.i64(i64 %sub16.i893.i, i64 64) %595 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1939.i873.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i40.i872.i) store ptr %mini_buff.i876.i, ptr %agg.tmp1939.i873.i, align 8 store i64 %cond.i6.i.i894.i, ptr %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i895.i, align 8 %stream_writer.i41.i896.i = getelementptr inbounds i8, ptr %595, i64 24 %596 = load ptr, ptr %stream_writer.i41.i896.i, align 8, !tbaa !20 %cmp.not.i42.i897.i = icmp eq ptr %596, null %buff_cur26.i43.i898.i = getelementptr inbounds i8, ptr %595, i64 16 %597 = load i64, ptr %buff_cur26.i43.i898.i, align 8, !tbaa !19 br i1 %cmp.not.i42.i897.i, label %if.else.i61.i917.i, label %if.then.i44.i899.i if.then.i44.i899.i: ; preds = %while.end.i892.i %cmp2.not.i45.i900.i = icmp eq i64 %597, 0 br i1 %cmp2.not.i45.i900.i, label %if.end9.i52.i909.i, label %if.then3.i46.i901.i if.then3.i46.i901.i: ; preds = %if.then.i44.i899.i %598 = load ptr, ptr %595, align 8, !tbaa !15 store ptr %598, ptr %agg.tmp.i40.i872.i, align 8, !tbaa !91 store i64 %597, ptr %Len.i.i.i47.i902.i, align 8, !tbaa !93 %output_target.i48.i903.i = getelementptr inbounds i8, ptr %595, i64 32 %599 = load ptr, ptr %output_target.i48.i903.i, align 8, !tbaa !21 %call.i49.i904.i = call noundef i32 %596(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i40.i872.i, ptr noundef %599) #19 %cmp7.i50.i905.i = icmp sgt i32 %call.i49.i904.i, -1 br i1 %cmp7.i50.i905.i, label %if.end9.i52.i909.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i906.i if.end9.i52.i909.i: ; preds = %if.then3.i46.i901.i, %if.then.i44.i899.i %cmp11.not.i54.i910.i = icmp eq i64 %written.1.i889.i.lcssa, %conv142.i.i.i br i1 %cmp11.not.i54.i910.i, label %return.sink.split.i59.i915.i, label %if.then12.i55.i911.i if.then12.i55.i911.i: ; preds = %if.end9.i52.i909.i %600 = load ptr, ptr %stream_writer.i41.i896.i, align 8, !tbaa !20 %output_target16.i56.i912.i = getelementptr inbounds i8, ptr %595, i64 32 %601 = load ptr, ptr %output_target16.i56.i912.i, align 8, !tbaa !21 %call17.i57.i913.i = call noundef i32 %600(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp1939.i873.i, ptr noundef %601) #19 %cmp18.i58.i914.i = icmp sgt i32 %call17.i57.i913.i, -1 br i1 %cmp18.i58.i914.i, label %return.sink.split.i59.i915.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i906.i if.else.i61.i917.i: ; preds = %while.end.i892.i %buff_len.i62.i918.i = getelementptr inbounds i8, ptr %595, i64 8 %602 = load i64, ptr %buff_len.i62.i918.i, align 8, !tbaa !18 %cmp27.i63.i919.i = icmp ult i64 %597, %602 br i1 %cmp27.i63.i919.i, label %if.then28.i64.i920.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i906.i if.then28.i64.i920.i: ; preds = %if.else.i61.i917.i %sub.i65.i921.i = sub i64 %602, %597 %spec.select.i67.i922.i = call i64 @llvm.umin.i64(i64 %sub.i65.i921.i, i64 %cond.i6.i.i894.i) %603 = load ptr, ptr %595, align 8, !tbaa !15 %add.ptr.i68.i923.i = getelementptr inbounds i8, ptr %603, i64 %597 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i68.i923.i, ptr nonnull align 1 %mini_buff.i876.i, i64 %spec.select.i67.i922.i, i1 false), !alias.scope !249 %604 = load i64, ptr %buff_cur26.i43.i898.i, align 8, !tbaa !19 %add.i69.i924.i = add i64 %604, %spec.select.i67.i922.i br label %return.sink.split.i59.i915.i return.sink.split.i59.i915.i: ; preds = %if.then28.i64.i920.i, %if.then12.i55.i911.i, %if.end9.i52.i909.i %add.sink.i60.i916.i = phi i64 [ %add.i69.i924.i, %if.then28.i64.i920.i ], [ 0, %if.then12.i55.i911.i ], [ 0, %if.end9.i52.i909.i ] store i64 %add.sink.i60.i916.i, ptr %buff_cur26.i43.i898.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i906.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i906.i: ; preds = %return.sink.split.i59.i915.i, %if.else.i61.i917.i, %if.then12.i55.i911.i, %if.then3.i46.i901.i %retval.3.i51.i907.i = phi i32 [ %call.i49.i904.i, %if.then3.i46.i901.i ], [ %call17.i57.i913.i, %if.then12.i55.i911.i ], [ 0, %if.else.i61.i917.i ], [ 0, %return.sink.split.i59.i915.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1939.i873.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i40.i872.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit956.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit956.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i906.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i935.i %retval.2.i908.i = phi i32 [ %retval.3.i51.i907.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i906.i ], [ %retval.3.i.i936.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i935.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %mini_buff.i876.i) #18 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i30.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i30.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit956.i, %if.then.i349.i.i.i %retval.0.i351.i.i.i = phi i32 [ 0, %if.then.i349.i.i.i ], [ %retval.2.i908.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit956.i ] %cmp144.i.i.i = icmp sgt i32 %retval.0.i351.i.i.i, -1 br i1 %cmp144.i.i.i, label %if.end150.i.i.i, label %cleanup228.i.i.i if.end150.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i30.i.i, %if.end138.i.i.i %cmp151.not.i.i.i = icmp eq i64 %553, 0 br i1 %cmp151.not.i.i.i, label %if.end163.i.i.i, label %if.then152.i.i.i if.then152.i.i.i: ; preds = %if.end150.i.i.i %conv.i357.i.i.i = trunc i64 %553 to i32 %605 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i359.i.i.i = add nsw i32 %605, %conv.i357.i.i.i store i32 %add.i359.i.i.i, ptr %chars_written.i, align 8, !tbaa !25 %606 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i360.i.i.i = getelementptr inbounds i8, ptr %606, i64 16 %607 = load i64, ptr %buff_cur.i360.i.i.i, align 8, !tbaa !19 %add3.i361.i.i.i = add i64 %607, %553 %buff_len.i362.i.i.i = getelementptr inbounds i8, ptr %606, i64 8 %608 = load i64, ptr %buff_len.i362.i.i.i, align 8, !tbaa !18 %cmp.not.i363.i.i.i = icmp ugt i64 %add3.i361.i.i.i, %608 br i1 %cmp.not.i363.i.i.i, label %if.end.i369.i.i.i, label %if.then.i364.i.i.i if.then.i364.i.i.i: ; preds = %if.then152.i.i.i %609 = load ptr, ptr %606, align 8, !tbaa !15 %add.ptr.i365.i.i.i = getelementptr inbounds i8, ptr %609, i64 %607 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i365.i.i.i, ptr nonnull align 1 %add.ptr4.i301.i.i.i.i, i64 %553, i1 false), !alias.scope !253 %610 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur13.i366.i.i.i = getelementptr inbounds i8, ptr %610, i64 16 %611 = load i64, ptr %buff_cur13.i366.i.i.i, align 8, !tbaa !19 %add14.i367.i.i.i = add i64 %611, %553 store i64 %add14.i367.i.i.i, ptr %buff_cur13.i366.i.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit398.i.i.i if.end.i369.i.i.i: ; preds = %if.then152.i.i.i call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp20.i355.i.i.i) store ptr %add.ptr4.i301.i.i.i.i, ptr %agg.tmp20.i355.i.i.i, align 8 store i64 %553, ptr %agg.tmp154353.sroa.5.0.agg.tmp20.i355.sroa_idx.i.i.i, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i354.i.i.i) %stream_writer.i.i370.i.i.i = getelementptr inbounds i8, ptr %606, i64 24 %612 = load ptr, ptr %stream_writer.i.i370.i.i.i, align 8, !tbaa !20 %cmp.not.i.i371.i.i.i = icmp eq ptr %612, null br i1 %cmp.not.i.i371.i.i.i, label %if.else.i.i390.i.i.i, label %if.then.i.i372.i.i.i if.then.i.i372.i.i.i: ; preds = %if.end.i369.i.i.i %cmp2.not.i.i373.i.i.i = icmp eq i64 %607, 0 br i1 %cmp2.not.i.i373.i.i.i, label %if.then12.i.i384.i.i.i, label %if.then3.i.i374.i.i.i if.then3.i.i374.i.i.i: ; preds = %if.then.i.i372.i.i.i %613 = load ptr, ptr %606, align 8, !tbaa !15 store ptr %613, ptr %agg.tmp.i.i354.i.i.i, align 8, !tbaa !91 store i64 %607, ptr %Len.i.i.i.i375.i.i.i, align 8, !tbaa !93 %output_target.i.i376.i.i.i = getelementptr inbounds i8, ptr %606, i64 32 %614 = load ptr, ptr %output_target.i.i376.i.i.i, align 8, !tbaa !21 %call.i.i377.i.i.i = call noundef i32 %612(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i354.i.i.i, ptr noundef %614) #19 %cmp7.i.i378.i.i.i = icmp sgt i32 %call.i.i377.i.i.i, -1 br i1 %cmp7.i.i378.i.i.i, label %if.then3.i.i374.i.if.then12.i.i384.i_crit_edge.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i379.i.i.i if.then3.i.i374.i.if.then12.i.i384.i_crit_edge.i.i: ; preds = %if.then3.i.i374.i.i.i %.pre74.i.i = load ptr, ptr %stream_writer.i.i370.i.i.i, align 8, !tbaa !20 br label %if.then12.i.i384.i.i.i if.then12.i.i384.i.i.i: ; preds = %if.then3.i.i374.i.if.then12.i.i384.i_crit_edge.i.i, %if.then.i.i372.i.i.i %615 = phi ptr [ %.pre74.i.i, %if.then3.i.i374.i.if.then12.i.i384.i_crit_edge.i.i ], [ %612, %if.then.i.i372.i.i.i ] %output_target16.i.i385.i.i.i = getelementptr inbounds i8, ptr %606, i64 32 %616 = load ptr, ptr %output_target16.i.i385.i.i.i, align 8, !tbaa !21 %call17.i.i386.i.i.i = call noundef i32 %615(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp20.i355.i.i.i, ptr noundef %616) #19 %cmp18.i.i387.i.i.i = icmp sgt i32 %call17.i.i386.i.i.i, -1 br i1 %cmp18.i.i387.i.i.i, label %return.sink.split.i.i388.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i379.i.i.i if.else.i.i390.i.i.i: ; preds = %if.end.i369.i.i.i %cmp27.i.i391.i.i.i = icmp ult i64 %607, %608 br i1 %cmp27.i.i391.i.i.i, label %if.then28.i.i392.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i379.i.i.i if.then28.i.i392.i.i.i: ; preds = %if.else.i.i390.i.i.i %sub.i.i393.i.i.i = sub i64 %608, %607 %spec.select.i.i395.i.i.i = call i64 @llvm.umin.i64(i64 %sub.i.i393.i.i.i, i64 %553) %617 = load ptr, ptr %606, align 8, !tbaa !15 %add.ptr.i.i396.i.i.i = getelementptr inbounds i8, ptr %617, i64 %607 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i396.i.i.i, ptr nonnull align 1 %add.ptr4.i301.i.i.i.i, i64 %spec.select.i.i395.i.i.i, i1 false), !alias.scope !257 %618 = load i64, ptr %buff_cur.i360.i.i.i, align 8, !tbaa !19 %add.i.i397.i.i.i = add i64 %618, %spec.select.i.i395.i.i.i br label %return.sink.split.i.i388.i.i.i return.sink.split.i.i388.i.i.i: ; preds = %if.then28.i.i392.i.i.i, %if.then12.i.i384.i.i.i %add.sink.i.i389.i.i.i = phi i64 [ %add.i.i397.i.i.i, %if.then28.i.i392.i.i.i ], [ 0, %if.then12.i.i384.i.i.i ] store i64 %add.sink.i.i389.i.i.i, ptr %buff_cur.i360.i.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i379.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i379.i.i.i: ; preds = %return.sink.split.i.i388.i.i.i, %if.else.i.i390.i.i.i, %if.then12.i.i384.i.i.i, %if.then3.i.i374.i.i.i %retval.3.i.i380.i.i.i = phi i32 [ %call.i.i377.i.i.i, %if.then3.i.i374.i.i.i ], [ %call17.i.i386.i.i.i, %if.then12.i.i384.i.i.i ], [ 0, %if.else.i.i390.i.i.i ], [ 0, %return.sink.split.i.i388.i.i.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp20.i355.i.i.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i354.i.i.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit398.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit398.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i379.i.i.i, %if.then.i364.i.i.i %retval.0.i368.i.i.i = phi i32 [ 0, %if.then.i364.i.i.i ], [ %retval.3.i.i380.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i379.i.i.i ] %cmp157.i.i.i = icmp sgt i32 %retval.0.i368.i.i.i, -1 br i1 %cmp157.i.i.i, label %if.end163.i.i.i, label %cleanup228.i.i.i if.end163.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit398.i.i.i, %if.end150.i.i.i %cmp164.i.i.i = icmp sgt i32 %spaces.0.i.i.i, 0 br i1 %cmp164.i.i.i, label %if.then165.i.i.i, label %if.end227.i.i.i if.then165.i.i.i: ; preds = %if.end163.i.i.i %conv167.i.i.i = zext nneg i32 %spaces.0.i.i.i to i64 %619 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i401.i.i.i = add nsw i32 %619, %spaces.0.i.i.i store i32 %add.i401.i.i.i, ptr %chars_written.i, align 8, !tbaa !25 %620 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i402.i.i.i = getelementptr inbounds i8, ptr %620, i64 16 %621 = load i64, ptr %buff_cur.i402.i.i.i, align 8, !tbaa !19 %add2.i403.i.i.i = add i64 %621, %conv167.i.i.i %buff_len.i404.i.i.i = getelementptr inbounds i8, ptr %620, i64 8 %622 = load i64, ptr %buff_len.i404.i.i.i, align 8, !tbaa !18 %cmp.not.i405.i.i.i = icmp ugt i64 %add2.i403.i.i.i, %622 br i1 %cmp.not.i405.i.i.i, label %if.end.i411.i.i.i, label %if.then.i406.i.i.i if.then.i406.i.i.i: ; preds = %if.then165.i.i.i %623 = load ptr, ptr %620, align 8, !tbaa !15 %add.ptr.i407.i.i.i = getelementptr inbounds i8, ptr %623, i64 %621 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i407.i.i.i, i8 32, i64 %conv167.i.i.i, i1 false) %624 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur8.i408.i.i.i = getelementptr inbounds i8, ptr %624, i64 16 %625 = load i64, ptr %buff_cur8.i408.i.i.i, align 8, !tbaa !19 %add9.i409.i.i.i = add i64 %625, %conv167.i.i.i store i64 %add9.i409.i.i.i, ptr %buff_cur8.i408.i.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit413.i.i.i if.end.i411.i.i.i: ; preds = %if.then165.i.i.i %sub.i964.i = sub i64 %622, %621 %cmp.not.i965.i = icmp eq i64 %sub.i964.i, 0 br i1 %cmp.not.i965.i, label %if.end.i970.i, label %if.then.i966.i if.then.i966.i: ; preds = %if.end.i411.i.i.i %626 = load ptr, ptr %620, align 8, !tbaa !15 %add.ptr.i967.i = getelementptr inbounds i8, ptr %626, i64 %621 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i967.i, i8 32, i64 %sub.i964.i, i1 false) %627 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur7.i968.i = getelementptr inbounds i8, ptr %627, i64 16 %628 = load i64, ptr %buff_cur7.i968.i, align 8, !tbaa !19 %add.i969.i = add i64 %628, %sub.i964.i store i64 %add.i969.i, ptr %buff_cur7.i968.i, align 8, !tbaa !19 br label %if.end.i970.i if.end.i970.i: ; preds = %if.then.i966.i, %if.end.i411.i.i.i call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %mini_buff.i961.i) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %mini_buff.i961.i, i8 32, i64 64, i1 false) br label %while.cond.i973.i while.cond.i973.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1020.i, %if.end.i970.i %written.1.i974.i = phi i64 [ %sub.i964.i, %if.end.i970.i ], [ %add9.i975.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1020.i ] %add9.i975.i = add i64 %written.1.i974.i, 64 %cmp10.i976.i = icmp ult i64 %add9.i975.i, %conv167.i.i.i br i1 %cmp10.i976.i, label %while.body.i1010.i, label %while.end.i977.i while.body.i1010.i: ; preds = %while.cond.i973.i %629 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp35.i960.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i959.i) store ptr %mini_buff.i961.i, ptr %agg.tmp35.i960.i, align 8 store i64 64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i971.i, align 8 %stream_writer.i.i1011.i = getelementptr inbounds i8, ptr %629, i64 24 %630 = load ptr, ptr %stream_writer.i.i1011.i, align 8, !tbaa !20 %cmp.not.i.i1012.i = icmp eq ptr %630, null %buff_cur26.i.i1013.i = getelementptr inbounds i8, ptr %629, i64 16 %631 = load i64, ptr %buff_cur26.i.i1013.i, align 8, !tbaa !19 br i1 %cmp.not.i.i1012.i, label %if.else.i.i1033.i, label %if.then.i.i1014.i if.then.i.i1014.i: ; preds = %while.body.i1010.i %cmp2.not.i.i1015.i = icmp eq i64 %631, 0 br i1 %cmp2.not.i.i1015.i, label %if.end9.i.i1025.i, label %if.then3.i.i1016.i if.then3.i.i1016.i: ; preds = %if.then.i.i1014.i %632 = load ptr, ptr %629, align 8, !tbaa !15 store ptr %632, ptr %agg.tmp.i.i959.i, align 8, !tbaa !91 store i64 %631, ptr %Len.i.i.i.i972.i, align 8, !tbaa !93 %output_target.i.i1017.i = getelementptr inbounds i8, ptr %629, i64 32 %633 = load ptr, ptr %output_target.i.i1017.i, align 8, !tbaa !21 %call.i.i1018.i = call noundef i32 %630(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i959.i, ptr noundef %633) #19 %cmp7.i.i1019.i = icmp sgt i32 %call.i.i1018.i, -1 br i1 %cmp7.i.i1019.i, label %if.then3.i.if.end9.i_crit_edge.i1023.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1020.i if.then3.i.if.end9.i_crit_edge.i1023.i: ; preds = %if.then3.i.i1016.i %.pre.i1024.i = load i64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i971.i, align 8, !tbaa !93 br label %if.end9.i.i1025.i if.end9.i.i1025.i: ; preds = %if.then3.i.if.end9.i_crit_edge.i1023.i, %if.then.i.i1014.i %634 = phi i64 [ %.pre.i1024.i, %if.then3.i.if.end9.i_crit_edge.i1023.i ], [ 64, %if.then.i.i1014.i ] %cmp11.not.i.i1026.i = icmp eq i64 %634, 0 br i1 %cmp11.not.i.i1026.i, label %return.sink.split.i.i1031.i, label %if.then12.i.i1027.i if.then12.i.i1027.i: ; preds = %if.end9.i.i1025.i %635 = load ptr, ptr %stream_writer.i.i1011.i, align 8, !tbaa !20 %output_target16.i.i1028.i = getelementptr inbounds i8, ptr %629, i64 32 %636 = load ptr, ptr %output_target16.i.i1028.i, align 8, !tbaa !21 %call17.i.i1029.i = call noundef i32 %635(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp35.i960.i, ptr noundef %636) #19 %cmp18.i.i1030.i = icmp sgt i32 %call17.i.i1029.i, -1 br i1 %cmp18.i.i1030.i, label %return.sink.split.i.i1031.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1020.i if.else.i.i1033.i: ; preds = %while.body.i1010.i %buff_len.i.i1034.i = getelementptr inbounds i8, ptr %629, i64 8 %637 = load i64, ptr %buff_len.i.i1034.i, align 8, !tbaa !18 %cmp27.i.i1035.i = icmp ult i64 %631, %637 br i1 %cmp27.i.i1035.i, label %if.then28.i.i1036.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1020.i if.then28.i.i1036.i: ; preds = %if.else.i.i1033.i %sub.i.i1037.i = sub i64 %637, %631 %spec.select.i.i1038.i = call i64 @llvm.umin.i64(i64 %sub.i.i1037.i, i64 64) %638 = load ptr, ptr %629, align 8, !tbaa !15 %add.ptr.i.i1039.i = getelementptr inbounds i8, ptr %638, i64 %631 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i1039.i, ptr nonnull align 1 %mini_buff.i961.i, i64 %spec.select.i.i1038.i, i1 false), !alias.scope !261 %639 = load i64, ptr %buff_cur26.i.i1013.i, align 8, !tbaa !19 %add.i.i1040.i = add i64 %639, %spec.select.i.i1038.i br label %return.sink.split.i.i1031.i return.sink.split.i.i1031.i: ; preds = %if.then28.i.i1036.i, %if.then12.i.i1027.i, %if.end9.i.i1025.i %add.sink.i.i1032.i = phi i64 [ %add.i.i1040.i, %if.then28.i.i1036.i ], [ 0, %if.then12.i.i1027.i ], [ 0, %if.end9.i.i1025.i ] store i64 %add.sink.i.i1032.i, ptr %buff_cur26.i.i1013.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1020.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1020.i: ; preds = %return.sink.split.i.i1031.i, %if.else.i.i1033.i, %if.then12.i.i1027.i, %if.then3.i.i1016.i %retval.3.i.i1021.i = phi i32 [ %call.i.i1018.i, %if.then3.i.i1016.i ], [ %call17.i.i1029.i, %if.then12.i.i1027.i ], [ 0, %if.else.i.i1033.i ], [ 0, %return.sink.split.i.i1031.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp35.i960.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i959.i) %cmp12.not.i1022.i = icmp eq i32 %retval.3.i.i1021.i, 0 br i1 %cmp12.not.i1022.i, label %while.cond.i973.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit1041.i, !llvm.loop !102 while.end.i977.i: ; preds = %while.cond.i973.i %written.1.i974.i.lcssa = phi i64 [ %written.1.i974.i, %while.cond.i973.i ] %sub16.i978.i = sub i64 %conv167.i.i.i, %written.1.i974.i.lcssa %cond.i6.i.i979.i = call noundef i64 @llvm.umin.i64(i64 %sub16.i978.i, i64 64) %640 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1939.i958.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i40.i957.i) store ptr %mini_buff.i961.i, ptr %agg.tmp1939.i958.i, align 8 store i64 %cond.i6.i.i979.i, ptr %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i980.i, align 8 %stream_writer.i41.i981.i = getelementptr inbounds i8, ptr %640, i64 24 %641 = load ptr, ptr %stream_writer.i41.i981.i, align 8, !tbaa !20 %cmp.not.i42.i982.i = icmp eq ptr %641, null %buff_cur26.i43.i983.i = getelementptr inbounds i8, ptr %640, i64 16 %642 = load i64, ptr %buff_cur26.i43.i983.i, align 8, !tbaa !19 br i1 %cmp.not.i42.i982.i, label %if.else.i61.i1002.i, label %if.then.i44.i984.i if.then.i44.i984.i: ; preds = %while.end.i977.i %cmp2.not.i45.i985.i = icmp eq i64 %642, 0 br i1 %cmp2.not.i45.i985.i, label %if.end9.i52.i994.i, label %if.then3.i46.i986.i if.then3.i46.i986.i: ; preds = %if.then.i44.i984.i %643 = load ptr, ptr %640, align 8, !tbaa !15 store ptr %643, ptr %agg.tmp.i40.i957.i, align 8, !tbaa !91 store i64 %642, ptr %Len.i.i.i47.i987.i, align 8, !tbaa !93 %output_target.i48.i988.i = getelementptr inbounds i8, ptr %640, i64 32 %644 = load ptr, ptr %output_target.i48.i988.i, align 8, !tbaa !21 %call.i49.i989.i = call noundef i32 %641(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i40.i957.i, ptr noundef %644) #19 %cmp7.i50.i990.i = icmp sgt i32 %call.i49.i989.i, -1 br i1 %cmp7.i50.i990.i, label %if.end9.i52.i994.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i991.i if.end9.i52.i994.i: ; preds = %if.then3.i46.i986.i, %if.then.i44.i984.i %cmp11.not.i54.i995.i = icmp eq i64 %written.1.i974.i.lcssa, %conv167.i.i.i br i1 %cmp11.not.i54.i995.i, label %return.sink.split.i59.i1000.i, label %if.then12.i55.i996.i if.then12.i55.i996.i: ; preds = %if.end9.i52.i994.i %645 = load ptr, ptr %stream_writer.i41.i981.i, align 8, !tbaa !20 %output_target16.i56.i997.i = getelementptr inbounds i8, ptr %640, i64 32 %646 = load ptr, ptr %output_target16.i56.i997.i, align 8, !tbaa !21 %call17.i57.i998.i = call noundef i32 %645(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp1939.i958.i, ptr noundef %646) #19 %cmp18.i58.i999.i = icmp sgt i32 %call17.i57.i998.i, -1 br i1 %cmp18.i58.i999.i, label %return.sink.split.i59.i1000.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i991.i if.else.i61.i1002.i: ; preds = %while.end.i977.i %buff_len.i62.i1003.i = getelementptr inbounds i8, ptr %640, i64 8 %647 = load i64, ptr %buff_len.i62.i1003.i, align 8, !tbaa !18 %cmp27.i63.i1004.i = icmp ult i64 %642, %647 br i1 %cmp27.i63.i1004.i, label %if.then28.i64.i1005.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i991.i if.then28.i64.i1005.i: ; preds = %if.else.i61.i1002.i %sub.i65.i1006.i = sub i64 %647, %642 %spec.select.i67.i1007.i = call i64 @llvm.umin.i64(i64 %sub.i65.i1006.i, i64 %cond.i6.i.i979.i) %648 = load ptr, ptr %640, align 8, !tbaa !15 %add.ptr.i68.i1008.i = getelementptr inbounds i8, ptr %648, i64 %642 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i68.i1008.i, ptr nonnull align 1 %mini_buff.i961.i, i64 %spec.select.i67.i1007.i, i1 false), !alias.scope !265 %649 = load i64, ptr %buff_cur26.i43.i983.i, align 8, !tbaa !19 %add.i69.i1009.i = add i64 %649, %spec.select.i67.i1007.i br label %return.sink.split.i59.i1000.i return.sink.split.i59.i1000.i: ; preds = %if.then28.i64.i1005.i, %if.then12.i55.i996.i, %if.end9.i52.i994.i %add.sink.i60.i1001.i = phi i64 [ %add.i69.i1009.i, %if.then28.i64.i1005.i ], [ 0, %if.then12.i55.i996.i ], [ 0, %if.end9.i52.i994.i ] store i64 %add.sink.i60.i1001.i, ptr %buff_cur26.i43.i983.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i991.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i991.i: ; preds = %return.sink.split.i59.i1000.i, %if.else.i61.i1002.i, %if.then12.i55.i996.i, %if.then3.i46.i986.i %retval.3.i51.i992.i = phi i32 [ %call.i49.i989.i, %if.then3.i46.i986.i ], [ %call17.i57.i998.i, %if.then12.i55.i996.i ], [ 0, %if.else.i61.i1002.i ], [ 0, %return.sink.split.i59.i1000.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1939.i958.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i40.i957.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit1041.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit1041.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i991.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1020.i %retval.2.i993.i = phi i32 [ %retval.3.i51.i992.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i991.i ], [ %retval.3.i.i1021.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1020.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %mini_buff.i961.i) #18 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit413.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit413.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit1041.i, %if.then.i406.i.i.i %retval.0.i410.i.i.i = phi i32 [ 0, %if.then.i406.i.i.i ], [ %retval.2.i993.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit1041.i ] %cmp169.i.i.i = icmp sgt i32 %retval.0.i410.i.i.i, -1 br i1 %cmp169.i.i.i, label %if.end227.i.i.i, label %cleanup228.i.i.i if.else176.i.i.i: ; preds = %if.end126.i.i.i %cmp177.i.i.i = icmp sgt i32 %spaces.0.i.i.i, 0 %.pre76.i.i = load ptr, ptr %writer, align 8, !tbaa !22 %.pre88 = load i32, ptr %chars_written.i, align 8, !tbaa !25 br i1 %cmp177.i.i.i, label %if.then178.i.i.i, label %if.then190.i.i.i if.then178.i.i.i: ; preds = %if.else176.i.i.i %conv180.i.i.i = zext nneg i32 %spaces.0.i.i.i to i64 %add.i416.i.i.i = add nsw i32 %.pre88, %spaces.0.i.i.i store i32 %add.i416.i.i.i, ptr %chars_written.i, align 8, !tbaa !25 %buff_cur.i417.i.i.i = getelementptr inbounds i8, ptr %.pre76.i.i, i64 16 %650 = load i64, ptr %buff_cur.i417.i.i.i, align 8, !tbaa !19 %add2.i418.i.i.i = add i64 %650, %conv180.i.i.i %buff_len.i419.i.i.i = getelementptr inbounds i8, ptr %.pre76.i.i, i64 8 %651 = load i64, ptr %buff_len.i419.i.i.i, align 8, !tbaa !18 %cmp.not.i420.i.i.i = icmp ugt i64 %add2.i418.i.i.i, %651 br i1 %cmp.not.i420.i.i.i, label %if.end.i426.i.i.i, label %if.then.i421.i.i.i if.then.i421.i.i.i: ; preds = %if.then178.i.i.i %652 = load ptr, ptr %.pre76.i.i, align 8, !tbaa !15 %add.ptr.i422.i.i.i = getelementptr inbounds i8, ptr %652, i64 %650 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i422.i.i.i, i8 32, i64 %conv180.i.i.i, i1 false) %653 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur8.i423.i.i.i = getelementptr inbounds i8, ptr %653, i64 16 %654 = load i64, ptr %buff_cur8.i423.i.i.i, align 8, !tbaa !19 %add9.i424.i.i.i = add i64 %654, %conv180.i.i.i store i64 %add9.i424.i.i.i, ptr %buff_cur8.i423.i.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.i.i if.end.i426.i.i.i: ; preds = %if.then178.i.i.i %sub.i1049.i = sub i64 %651, %650 %cmp.not.i1050.i = icmp eq i64 %sub.i1049.i, 0 br i1 %cmp.not.i1050.i, label %if.end.i1055.i, label %if.then.i1051.i if.then.i1051.i: ; preds = %if.end.i426.i.i.i %655 = load ptr, ptr %.pre76.i.i, align 8, !tbaa !15 %add.ptr.i1052.i = getelementptr inbounds i8, ptr %655, i64 %650 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i1052.i, i8 32, i64 %sub.i1049.i, i1 false) %656 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur7.i1053.i = getelementptr inbounds i8, ptr %656, i64 16 %657 = load i64, ptr %buff_cur7.i1053.i, align 8, !tbaa !19 %add.i1054.i = add i64 %657, %sub.i1049.i store i64 %add.i1054.i, ptr %buff_cur7.i1053.i, align 8, !tbaa !19 br label %if.end.i1055.i if.end.i1055.i: ; preds = %if.then.i1051.i, %if.end.i426.i.i.i call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %mini_buff.i1046.i) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %mini_buff.i1046.i, i8 32, i64 64, i1 false) br label %while.cond.i1058.i while.cond.i1058.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1105.i, %if.end.i1055.i %written.1.i1059.i = phi i64 [ %sub.i1049.i, %if.end.i1055.i ], [ %add9.i1060.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1105.i ] %add9.i1060.i = add i64 %written.1.i1059.i, 64 %cmp10.i1061.i = icmp ult i64 %add9.i1060.i, %conv180.i.i.i br i1 %cmp10.i1061.i, label %while.body.i1095.i, label %while.end.i1062.i while.body.i1095.i: ; preds = %while.cond.i1058.i %658 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp35.i1045.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i1044.i) store ptr %mini_buff.i1046.i, ptr %agg.tmp35.i1045.i, align 8 store i64 64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i1056.i, align 8 %stream_writer.i.i1096.i = getelementptr inbounds i8, ptr %658, i64 24 %659 = load ptr, ptr %stream_writer.i.i1096.i, align 8, !tbaa !20 %cmp.not.i.i1097.i = icmp eq ptr %659, null %buff_cur26.i.i1098.i = getelementptr inbounds i8, ptr %658, i64 16 %660 = load i64, ptr %buff_cur26.i.i1098.i, align 8, !tbaa !19 br i1 %cmp.not.i.i1097.i, label %if.else.i.i1118.i, label %if.then.i.i1099.i if.then.i.i1099.i: ; preds = %while.body.i1095.i %cmp2.not.i.i1100.i = icmp eq i64 %660, 0 br i1 %cmp2.not.i.i1100.i, label %if.end9.i.i1110.i, label %if.then3.i.i1101.i if.then3.i.i1101.i: ; preds = %if.then.i.i1099.i %661 = load ptr, ptr %658, align 8, !tbaa !15 store ptr %661, ptr %agg.tmp.i.i1044.i, align 8, !tbaa !91 store i64 %660, ptr %Len.i.i.i.i1057.i, align 8, !tbaa !93 %output_target.i.i1102.i = getelementptr inbounds i8, ptr %658, i64 32 %662 = load ptr, ptr %output_target.i.i1102.i, align 8, !tbaa !21 %call.i.i1103.i = call noundef i32 %659(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i1044.i, ptr noundef %662) #19 %cmp7.i.i1104.i = icmp sgt i32 %call.i.i1103.i, -1 br i1 %cmp7.i.i1104.i, label %if.then3.i.if.end9.i_crit_edge.i1108.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1105.i if.then3.i.if.end9.i_crit_edge.i1108.i: ; preds = %if.then3.i.i1101.i %.pre.i1109.i = load i64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i1056.i, align 8, !tbaa !93 br label %if.end9.i.i1110.i if.end9.i.i1110.i: ; preds = %if.then3.i.if.end9.i_crit_edge.i1108.i, %if.then.i.i1099.i %663 = phi i64 [ %.pre.i1109.i, %if.then3.i.if.end9.i_crit_edge.i1108.i ], [ 64, %if.then.i.i1099.i ] %cmp11.not.i.i1111.i = icmp eq i64 %663, 0 br i1 %cmp11.not.i.i1111.i, label %return.sink.split.i.i1116.i, label %if.then12.i.i1112.i if.then12.i.i1112.i: ; preds = %if.end9.i.i1110.i %664 = load ptr, ptr %stream_writer.i.i1096.i, align 8, !tbaa !20 %output_target16.i.i1113.i = getelementptr inbounds i8, ptr %658, i64 32 %665 = load ptr, ptr %output_target16.i.i1113.i, align 8, !tbaa !21 %call17.i.i1114.i = call noundef i32 %664(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp35.i1045.i, ptr noundef %665) #19 %cmp18.i.i1115.i = icmp sgt i32 %call17.i.i1114.i, -1 br i1 %cmp18.i.i1115.i, label %return.sink.split.i.i1116.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1105.i if.else.i.i1118.i: ; preds = %while.body.i1095.i %buff_len.i.i1119.i = getelementptr inbounds i8, ptr %658, i64 8 %666 = load i64, ptr %buff_len.i.i1119.i, align 8, !tbaa !18 %cmp27.i.i1120.i = icmp ult i64 %660, %666 br i1 %cmp27.i.i1120.i, label %if.then28.i.i1121.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1105.i if.then28.i.i1121.i: ; preds = %if.else.i.i1118.i %sub.i.i1122.i = sub i64 %666, %660 %spec.select.i.i1123.i = call i64 @llvm.umin.i64(i64 %sub.i.i1122.i, i64 64) %667 = load ptr, ptr %658, align 8, !tbaa !15 %add.ptr.i.i1124.i = getelementptr inbounds i8, ptr %667, i64 %660 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i1124.i, ptr nonnull align 1 %mini_buff.i1046.i, i64 %spec.select.i.i1123.i, i1 false), !alias.scope !269 %668 = load i64, ptr %buff_cur26.i.i1098.i, align 8, !tbaa !19 %add.i.i1125.i = add i64 %668, %spec.select.i.i1123.i br label %return.sink.split.i.i1116.i return.sink.split.i.i1116.i: ; preds = %if.then28.i.i1121.i, %if.then12.i.i1112.i, %if.end9.i.i1110.i %add.sink.i.i1117.i = phi i64 [ %add.i.i1125.i, %if.then28.i.i1121.i ], [ 0, %if.then12.i.i1112.i ], [ 0, %if.end9.i.i1110.i ] store i64 %add.sink.i.i1117.i, ptr %buff_cur26.i.i1098.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1105.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1105.i: ; preds = %return.sink.split.i.i1116.i, %if.else.i.i1118.i, %if.then12.i.i1112.i, %if.then3.i.i1101.i %retval.3.i.i1106.i = phi i32 [ %call.i.i1103.i, %if.then3.i.i1101.i ], [ %call17.i.i1114.i, %if.then12.i.i1112.i ], [ 0, %if.else.i.i1118.i ], [ 0, %return.sink.split.i.i1116.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp35.i1045.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i1044.i) %cmp12.not.i1107.i = icmp eq i32 %retval.3.i.i1106.i, 0 br i1 %cmp12.not.i1107.i, label %while.cond.i1058.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit1126.i, !llvm.loop !102 while.end.i1062.i: ; preds = %while.cond.i1058.i %written.1.i1059.i.lcssa = phi i64 [ %written.1.i1059.i, %while.cond.i1058.i ] %sub16.i1063.i = sub i64 %conv180.i.i.i, %written.1.i1059.i.lcssa %cond.i6.i.i1064.i = call noundef i64 @llvm.umin.i64(i64 %sub16.i1063.i, i64 64) %669 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1939.i1043.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i40.i1042.i) store ptr %mini_buff.i1046.i, ptr %agg.tmp1939.i1043.i, align 8 store i64 %cond.i6.i.i1064.i, ptr %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i1065.i, align 8 %stream_writer.i41.i1066.i = getelementptr inbounds i8, ptr %669, i64 24 %670 = load ptr, ptr %stream_writer.i41.i1066.i, align 8, !tbaa !20 %cmp.not.i42.i1067.i = icmp eq ptr %670, null %buff_cur26.i43.i1068.i = getelementptr inbounds i8, ptr %669, i64 16 %671 = load i64, ptr %buff_cur26.i43.i1068.i, align 8, !tbaa !19 br i1 %cmp.not.i42.i1067.i, label %if.else.i61.i1087.i, label %if.then.i44.i1069.i if.then.i44.i1069.i: ; preds = %while.end.i1062.i %cmp2.not.i45.i1070.i = icmp eq i64 %671, 0 br i1 %cmp2.not.i45.i1070.i, label %if.end9.i52.i1079.i, label %if.then3.i46.i1071.i if.then3.i46.i1071.i: ; preds = %if.then.i44.i1069.i %672 = load ptr, ptr %669, align 8, !tbaa !15 store ptr %672, ptr %agg.tmp.i40.i1042.i, align 8, !tbaa !91 store i64 %671, ptr %Len.i.i.i47.i1072.i, align 8, !tbaa !93 %output_target.i48.i1073.i = getelementptr inbounds i8, ptr %669, i64 32 %673 = load ptr, ptr %output_target.i48.i1073.i, align 8, !tbaa !21 %call.i49.i1074.i = call noundef i32 %670(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i40.i1042.i, ptr noundef %673) #19 %cmp7.i50.i1075.i = icmp sgt i32 %call.i49.i1074.i, -1 br i1 %cmp7.i50.i1075.i, label %if.end9.i52.i1079.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i1076.i if.end9.i52.i1079.i: ; preds = %if.then3.i46.i1071.i, %if.then.i44.i1069.i %cmp11.not.i54.i1080.i = icmp eq i64 %written.1.i1059.i.lcssa, %conv180.i.i.i br i1 %cmp11.not.i54.i1080.i, label %return.sink.split.i59.i1085.i, label %if.then12.i55.i1081.i if.then12.i55.i1081.i: ; preds = %if.end9.i52.i1079.i %674 = load ptr, ptr %stream_writer.i41.i1066.i, align 8, !tbaa !20 %output_target16.i56.i1082.i = getelementptr inbounds i8, ptr %669, i64 32 %675 = load ptr, ptr %output_target16.i56.i1082.i, align 8, !tbaa !21 %call17.i57.i1083.i = call noundef i32 %674(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp1939.i1043.i, ptr noundef %675) #19 %cmp18.i58.i1084.i = icmp sgt i32 %call17.i57.i1083.i, -1 br i1 %cmp18.i58.i1084.i, label %return.sink.split.i59.i1085.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i1076.i if.else.i61.i1087.i: ; preds = %while.end.i1062.i %buff_len.i62.i1088.i = getelementptr inbounds i8, ptr %669, i64 8 %676 = load i64, ptr %buff_len.i62.i1088.i, align 8, !tbaa !18 %cmp27.i63.i1089.i = icmp ult i64 %671, %676 br i1 %cmp27.i63.i1089.i, label %if.then28.i64.i1090.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i1076.i if.then28.i64.i1090.i: ; preds = %if.else.i61.i1087.i %sub.i65.i1091.i = sub i64 %676, %671 %spec.select.i67.i1092.i = call i64 @llvm.umin.i64(i64 %sub.i65.i1091.i, i64 %cond.i6.i.i1064.i) %677 = load ptr, ptr %669, align 8, !tbaa !15 %add.ptr.i68.i1093.i = getelementptr inbounds i8, ptr %677, i64 %671 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i68.i1093.i, ptr nonnull align 1 %mini_buff.i1046.i, i64 %spec.select.i67.i1092.i, i1 false), !alias.scope !273 %678 = load i64, ptr %buff_cur26.i43.i1068.i, align 8, !tbaa !19 %add.i69.i1094.i = add i64 %678, %spec.select.i67.i1092.i br label %return.sink.split.i59.i1085.i return.sink.split.i59.i1085.i: ; preds = %if.then28.i64.i1090.i, %if.then12.i55.i1081.i, %if.end9.i52.i1079.i %add.sink.i60.i1086.i = phi i64 [ %add.i69.i1094.i, %if.then28.i64.i1090.i ], [ 0, %if.then12.i55.i1081.i ], [ 0, %if.end9.i52.i1079.i ] store i64 %add.sink.i60.i1086.i, ptr %buff_cur26.i43.i1068.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i1076.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i1076.i: ; preds = %return.sink.split.i59.i1085.i, %if.else.i61.i1087.i, %if.then12.i55.i1081.i, %if.then3.i46.i1071.i %retval.3.i51.i1077.i = phi i32 [ %call.i49.i1074.i, %if.then3.i46.i1071.i ], [ %call17.i57.i1083.i, %if.then12.i55.i1081.i ], [ 0, %if.else.i61.i1087.i ], [ 0, %return.sink.split.i59.i1085.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1939.i1043.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i40.i1042.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit1126.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit1126.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i1076.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1105.i %retval.2.i1078.i = phi i32 [ %retval.3.i51.i1077.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i1076.i ], [ %retval.3.i.i1106.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1105.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %mini_buff.i1046.i) #18 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit1126.i, %if.then.i421.i.i.i %retval.0.i425.i.i.i = phi i32 [ 0, %if.then.i421.i.i.i ], [ %retval.2.i1078.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit1126.i ] %cmp182.i.i.i = icmp sgt i32 %retval.0.i425.i.i.i, -1 br i1 %cmp182.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.if.then190.i_crit_edge.i.i, label %cleanup228.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.if.then190.i_crit_edge.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.i.i %.pre75.i.i = load ptr, ptr %writer, align 8, !tbaa !22 %.pre87 = load i32, ptr %chars_written.i, align 8, !tbaa !25 br label %if.then190.i.i.i if.then190.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.if.then190.i_crit_edge.i.i, %if.else176.i.i.i %679 = phi i32 [ %.pre87, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.if.then190.i_crit_edge.i.i ], [ %.pre88, %if.else176.i.i.i ] %680 = phi ptr [ %.pre75.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.if.then190.i_crit_edge.i.i ], [ %.pre76.i.i, %if.else176.i.i.i ] %add.i436.i.i.i = add nsw i32 %679, 2 store i32 %add.i436.i.i.i, ptr %chars_written.i, align 8, !tbaa !25 %buff_cur.i437.i.i.i = getelementptr inbounds i8, ptr %680, i64 16 %681 = load i64, ptr %buff_cur.i437.i.i.i, align 8, !tbaa !19 %add3.i438.i.i.i = add i64 %681, 2 %buff_len.i439.i.i.i = getelementptr inbounds i8, ptr %680, i64 8 %682 = load i64, ptr %buff_len.i439.i.i.i, align 8, !tbaa !18 %cmp.not.i440.i.i.i = icmp ugt i64 %add3.i438.i.i.i, %682 br i1 %cmp.not.i440.i.i.i, label %if.end.i446.i.i.i, label %if.then.i441.i.i.i if.then.i441.i.i.i: ; preds = %if.then190.i.i.i %683 = load ptr, ptr %680, align 8, !tbaa !15 %add.ptr.i442.i.i.i = getelementptr inbounds i8, ptr %683, i64 %681 %684 = load i16, ptr %prefix.i.i.i, align 2, !alias.scope !277 store i16 %684, ptr %add.ptr.i442.i.i.i, align 1, !alias.scope !277 %685 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur13.i443.i.i.i = getelementptr inbounds i8, ptr %685, i64 16 %686 = load i64, ptr %buff_cur13.i443.i.i.i, align 8, !tbaa !19 %add14.i444.i.i.i = add i64 %686, 2 store i64 %add14.i444.i.i.i, ptr %buff_cur13.i443.i.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit475.i.i.i if.end.i446.i.i.i: ; preds = %if.then190.i.i.i call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp20.i432.i.i.i) store ptr %prefix.i.i.i, ptr %agg.tmp20.i432.i.i.i, align 8 store i64 2, ptr %agg.tmp192430.sroa.5.0.agg.tmp20.i432.sroa_idx.i.i.i, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i431.i.i.i) %stream_writer.i.i447.i.i.i = getelementptr inbounds i8, ptr %680, i64 24 %687 = load ptr, ptr %stream_writer.i.i447.i.i.i, align 8, !tbaa !20 %cmp.not.i.i448.i.i.i = icmp eq ptr %687, null br i1 %cmp.not.i.i448.i.i.i, label %if.else.i.i467.i.i.i, label %if.then.i.i449.i.i.i if.then.i.i449.i.i.i: ; preds = %if.end.i446.i.i.i %cmp2.not.i.i450.i.i.i = icmp eq i64 %681, 0 br i1 %cmp2.not.i.i450.i.i.i, label %if.then12.i.i461.i.i.i, label %if.then3.i.i451.i.i.i if.then3.i.i451.i.i.i: ; preds = %if.then.i.i449.i.i.i %688 = load ptr, ptr %680, align 8, !tbaa !15 store ptr %688, ptr %agg.tmp.i.i431.i.i.i, align 8, !tbaa !91 store i64 %681, ptr %Len.i.i.i.i452.i.i.i, align 8, !tbaa !93 %output_target.i.i453.i.i.i = getelementptr inbounds i8, ptr %680, i64 32 %689 = load ptr, ptr %output_target.i.i453.i.i.i, align 8, !tbaa !21 %call.i.i454.i.i.i = call noundef i32 %687(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i431.i.i.i, ptr noundef %689) #19 %cmp7.i.i455.i.i.i = icmp sgt i32 %call.i.i454.i.i.i, -1 br i1 %cmp7.i.i455.i.i.i, label %if.then3.i.i451.i.if.then12.i.i461.i_crit_edge.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i456.i.i.i if.then3.i.i451.i.if.then12.i.i461.i_crit_edge.i.i: ; preds = %if.then3.i.i451.i.i.i %.pre77.i.i = load ptr, ptr %stream_writer.i.i447.i.i.i, align 8, !tbaa !20 br label %if.then12.i.i461.i.i.i if.then12.i.i461.i.i.i: ; preds = %if.then3.i.i451.i.if.then12.i.i461.i_crit_edge.i.i, %if.then.i.i449.i.i.i %690 = phi ptr [ %.pre77.i.i, %if.then3.i.i451.i.if.then12.i.i461.i_crit_edge.i.i ], [ %687, %if.then.i.i449.i.i.i ] %output_target16.i.i462.i.i.i = getelementptr inbounds i8, ptr %680, i64 32 %691 = load ptr, ptr %output_target16.i.i462.i.i.i, align 8, !tbaa !21 %call17.i.i463.i.i.i = call noundef i32 %690(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp20.i432.i.i.i, ptr noundef %691) #19 %cmp18.i.i464.i.i.i = icmp sgt i32 %call17.i.i463.i.i.i, -1 br i1 %cmp18.i.i464.i.i.i, label %return.sink.split.i.i465.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i456.i.i.i if.else.i.i467.i.i.i: ; preds = %if.end.i446.i.i.i %cmp27.i.i468.i.i.i = icmp ult i64 %681, %682 br i1 %cmp27.i.i468.i.i.i, label %if.then28.i.i469.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i456.i.i.i if.then28.i.i469.i.i.i: ; preds = %if.else.i.i467.i.i.i %sub.i.i470.i.i.i = sub i64 %682, %681 %spec.select.i.i472.i.i.i = call i64 @llvm.umin.i64(i64 %sub.i.i470.i.i.i, i64 2) %692 = load ptr, ptr %680, align 8, !tbaa !15 %add.ptr.i.i473.i.i.i = getelementptr inbounds i8, ptr %692, i64 %681 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i473.i.i.i, ptr nonnull align 2 %prefix.i.i.i, i64 %spec.select.i.i472.i.i.i, i1 false), !alias.scope !281 %693 = load i64, ptr %buff_cur.i437.i.i.i, align 8, !tbaa !19 %add.i.i474.i.i.i = add i64 %693, %spec.select.i.i472.i.i.i br label %return.sink.split.i.i465.i.i.i return.sink.split.i.i465.i.i.i: ; preds = %if.then28.i.i469.i.i.i, %if.then12.i.i461.i.i.i %add.sink.i.i466.i.i.i = phi i64 [ %add.i.i474.i.i.i, %if.then28.i.i469.i.i.i ], [ 0, %if.then12.i.i461.i.i.i ] store i64 %add.sink.i.i466.i.i.i, ptr %buff_cur.i437.i.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i456.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i456.i.i.i: ; preds = %return.sink.split.i.i465.i.i.i, %if.else.i.i467.i.i.i, %if.then12.i.i461.i.i.i, %if.then3.i.i451.i.i.i %retval.3.i.i457.i.i.i = phi i32 [ %call.i.i454.i.i.i, %if.then3.i.i451.i.i.i ], [ %call17.i.i463.i.i.i, %if.then12.i.i461.i.i.i ], [ 0, %if.else.i.i467.i.i.i ], [ 0, %return.sink.split.i.i465.i.i.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp20.i432.i.i.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i431.i.i.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit475.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit475.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i456.i.i.i, %if.then.i441.i.i.i %retval.0.i445.i.i.i = phi i32 [ 0, %if.then.i441.i.i.i ], [ %retval.3.i.i457.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i456.i.i.i ] %cmp195.i.i.i = icmp sgt i32 %retval.0.i445.i.i.i, -1 br i1 %cmp195.i.i.i, label %if.end201.i.i.i, label %cleanup228.i.i.i if.end201.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit475.i.i.i %cmp202.i.i.i = icmp sgt i32 %zeroes.0.i.i.i, 0 br i1 %cmp202.i.i.i, label %if.then203.i.i.i, label %if.end213.i.i.i if.then203.i.i.i: ; preds = %if.end201.i.i.i %conv205.i.i.i = zext nneg i32 %zeroes.0.i.i.i to i64 %694 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i478.i.i.i = add nsw i32 %694, %zeroes.0.i.i.i store i32 %add.i478.i.i.i, ptr %chars_written.i, align 8, !tbaa !25 %695 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i479.i.i.i = getelementptr inbounds i8, ptr %695, i64 16 %696 = load i64, ptr %buff_cur.i479.i.i.i, align 8, !tbaa !19 %add2.i480.i.i.i = add i64 %696, %conv205.i.i.i %buff_len.i481.i.i.i = getelementptr inbounds i8, ptr %695, i64 8 %697 = load i64, ptr %buff_len.i481.i.i.i, align 8, !tbaa !18 %cmp.not.i482.i.i.i = icmp ugt i64 %add2.i480.i.i.i, %697 br i1 %cmp.not.i482.i.i.i, label %if.end.i488.i.i.i, label %if.then.i483.i.i.i if.then.i483.i.i.i: ; preds = %if.then203.i.i.i %698 = load ptr, ptr %695, align 8, !tbaa !15 %add.ptr.i484.i.i.i = getelementptr inbounds i8, ptr %698, i64 %696 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i484.i.i.i, i8 48, i64 %conv205.i.i.i, i1 false) %699 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur8.i485.i.i.i = getelementptr inbounds i8, ptr %699, i64 16 %700 = load i64, ptr %buff_cur8.i485.i.i.i, align 8, !tbaa !19 %add9.i486.i.i.i = add i64 %700, %conv205.i.i.i store i64 %add9.i486.i.i.i, ptr %buff_cur8.i485.i.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit490.i.i.i if.end.i488.i.i.i: ; preds = %if.then203.i.i.i %sub.i1134.i = sub i64 %697, %696 %cmp.not.i1135.i = icmp eq i64 %sub.i1134.i, 0 br i1 %cmp.not.i1135.i, label %if.end.i1140.i, label %if.then.i1136.i if.then.i1136.i: ; preds = %if.end.i488.i.i.i %701 = load ptr, ptr %695, align 8, !tbaa !15 %add.ptr.i1137.i = getelementptr inbounds i8, ptr %701, i64 %696 call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i1137.i, i8 48, i64 %sub.i1134.i, i1 false) %702 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur7.i1138.i = getelementptr inbounds i8, ptr %702, i64 16 %703 = load i64, ptr %buff_cur7.i1138.i, align 8, !tbaa !19 %add.i1139.i = add i64 %703, %sub.i1134.i store i64 %add.i1139.i, ptr %buff_cur7.i1138.i, align 8, !tbaa !19 br label %if.end.i1140.i if.end.i1140.i: ; preds = %if.then.i1136.i, %if.end.i488.i.i.i call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %mini_buff.i1131.i) #18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %mini_buff.i1131.i, i8 48, i64 64, i1 false) br label %while.cond.i1143.i while.cond.i1143.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1190.i, %if.end.i1140.i %written.1.i1144.i = phi i64 [ %sub.i1134.i, %if.end.i1140.i ], [ %add9.i1145.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1190.i ] %add9.i1145.i = add i64 %written.1.i1144.i, 64 %cmp10.i1146.i = icmp ult i64 %add9.i1145.i, %conv205.i.i.i br i1 %cmp10.i1146.i, label %while.body.i1180.i, label %while.end.i1147.i while.body.i1180.i: ; preds = %while.cond.i1143.i %704 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp35.i1130.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i1129.i) store ptr %mini_buff.i1131.i, ptr %agg.tmp35.i1130.i, align 8 store i64 64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i1141.i, align 8 %stream_writer.i.i1181.i = getelementptr inbounds i8, ptr %704, i64 24 %705 = load ptr, ptr %stream_writer.i.i1181.i, align 8, !tbaa !20 %cmp.not.i.i1182.i = icmp eq ptr %705, null %buff_cur26.i.i1183.i = getelementptr inbounds i8, ptr %704, i64 16 %706 = load i64, ptr %buff_cur26.i.i1183.i, align 8, !tbaa !19 br i1 %cmp.not.i.i1182.i, label %if.else.i.i1203.i, label %if.then.i.i1184.i if.then.i.i1184.i: ; preds = %while.body.i1180.i %cmp2.not.i.i1185.i = icmp eq i64 %706, 0 br i1 %cmp2.not.i.i1185.i, label %if.end9.i.i1195.i, label %if.then3.i.i1186.i if.then3.i.i1186.i: ; preds = %if.then.i.i1184.i %707 = load ptr, ptr %704, align 8, !tbaa !15 store ptr %707, ptr %agg.tmp.i.i1129.i, align 8, !tbaa !91 store i64 %706, ptr %Len.i.i.i.i1142.i, align 8, !tbaa !93 %output_target.i.i1187.i = getelementptr inbounds i8, ptr %704, i64 32 %708 = load ptr, ptr %output_target.i.i1187.i, align 8, !tbaa !21 %call.i.i1188.i = call noundef i32 %705(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i1129.i, ptr noundef %708) #19 %cmp7.i.i1189.i = icmp sgt i32 %call.i.i1188.i, -1 br i1 %cmp7.i.i1189.i, label %if.then3.i.if.end9.i_crit_edge.i1193.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1190.i if.then3.i.if.end9.i_crit_edge.i1193.i: ; preds = %if.then3.i.i1186.i %.pre.i1194.i = load i64, ptr %agg.tmp.sroa.2.0.agg.tmp35.sroa_idx.i1141.i, align 8, !tbaa !93 br label %if.end9.i.i1195.i if.end9.i.i1195.i: ; preds = %if.then3.i.if.end9.i_crit_edge.i1193.i, %if.then.i.i1184.i %709 = phi i64 [ %.pre.i1194.i, %if.then3.i.if.end9.i_crit_edge.i1193.i ], [ 64, %if.then.i.i1184.i ] %cmp11.not.i.i1196.i = icmp eq i64 %709, 0 br i1 %cmp11.not.i.i1196.i, label %return.sink.split.i.i1201.i, label %if.then12.i.i1197.i if.then12.i.i1197.i: ; preds = %if.end9.i.i1195.i %710 = load ptr, ptr %stream_writer.i.i1181.i, align 8, !tbaa !20 %output_target16.i.i1198.i = getelementptr inbounds i8, ptr %704, i64 32 %711 = load ptr, ptr %output_target16.i.i1198.i, align 8, !tbaa !21 %call17.i.i1199.i = call noundef i32 %710(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp35.i1130.i, ptr noundef %711) #19 %cmp18.i.i1200.i = icmp sgt i32 %call17.i.i1199.i, -1 br i1 %cmp18.i.i1200.i, label %return.sink.split.i.i1201.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1190.i if.else.i.i1203.i: ; preds = %while.body.i1180.i %buff_len.i.i1204.i = getelementptr inbounds i8, ptr %704, i64 8 %712 = load i64, ptr %buff_len.i.i1204.i, align 8, !tbaa !18 %cmp27.i.i1205.i = icmp ult i64 %706, %712 br i1 %cmp27.i.i1205.i, label %if.then28.i.i1206.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1190.i if.then28.i.i1206.i: ; preds = %if.else.i.i1203.i %sub.i.i1207.i = sub i64 %712, %706 %spec.select.i.i1208.i = call i64 @llvm.umin.i64(i64 %sub.i.i1207.i, i64 64) %713 = load ptr, ptr %704, align 8, !tbaa !15 %add.ptr.i.i1209.i = getelementptr inbounds i8, ptr %713, i64 %706 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i1209.i, ptr nonnull align 1 %mini_buff.i1131.i, i64 %spec.select.i.i1208.i, i1 false), !alias.scope !285 %714 = load i64, ptr %buff_cur26.i.i1183.i, align 8, !tbaa !19 %add.i.i1210.i = add i64 %714, %spec.select.i.i1208.i br label %return.sink.split.i.i1201.i return.sink.split.i.i1201.i: ; preds = %if.then28.i.i1206.i, %if.then12.i.i1197.i, %if.end9.i.i1195.i %add.sink.i.i1202.i = phi i64 [ %add.i.i1210.i, %if.then28.i.i1206.i ], [ 0, %if.then12.i.i1197.i ], [ 0, %if.end9.i.i1195.i ] store i64 %add.sink.i.i1202.i, ptr %buff_cur26.i.i1183.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1190.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1190.i: ; preds = %return.sink.split.i.i1201.i, %if.else.i.i1203.i, %if.then12.i.i1197.i, %if.then3.i.i1186.i %retval.3.i.i1191.i = phi i32 [ %call.i.i1188.i, %if.then3.i.i1186.i ], [ %call17.i.i1199.i, %if.then12.i.i1197.i ], [ 0, %if.else.i.i1203.i ], [ 0, %return.sink.split.i.i1201.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp35.i1130.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i1129.i) %cmp12.not.i1192.i = icmp eq i32 %retval.3.i.i1191.i, 0 br i1 %cmp12.not.i1192.i, label %while.cond.i1143.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit1211.i, !llvm.loop !102 while.end.i1147.i: ; preds = %while.cond.i1143.i %written.1.i1144.i.lcssa = phi i64 [ %written.1.i1144.i, %while.cond.i1143.i ] %sub16.i1148.i = sub i64 %conv205.i.i.i, %written.1.i1144.i.lcssa %cond.i6.i.i1149.i = call noundef i64 @llvm.umin.i64(i64 %sub16.i1148.i, i64 64) %715 = load ptr, ptr %writer, align 8, !tbaa !22 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp1939.i1128.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i40.i1127.i) store ptr %mini_buff.i1131.i, ptr %agg.tmp1939.i1128.i, align 8 store i64 %cond.i6.i.i1149.i, ptr %agg.tmp19.sroa.2.0.agg.tmp1939.sroa_idx.i1150.i, align 8 %stream_writer.i41.i1151.i = getelementptr inbounds i8, ptr %715, i64 24 %716 = load ptr, ptr %stream_writer.i41.i1151.i, align 8, !tbaa !20 %cmp.not.i42.i1152.i = icmp eq ptr %716, null %buff_cur26.i43.i1153.i = getelementptr inbounds i8, ptr %715, i64 16 %717 = load i64, ptr %buff_cur26.i43.i1153.i, align 8, !tbaa !19 br i1 %cmp.not.i42.i1152.i, label %if.else.i61.i1172.i, label %if.then.i44.i1154.i if.then.i44.i1154.i: ; preds = %while.end.i1147.i %cmp2.not.i45.i1155.i = icmp eq i64 %717, 0 br i1 %cmp2.not.i45.i1155.i, label %if.end9.i52.i1164.i, label %if.then3.i46.i1156.i if.then3.i46.i1156.i: ; preds = %if.then.i44.i1154.i %718 = load ptr, ptr %715, align 8, !tbaa !15 store ptr %718, ptr %agg.tmp.i40.i1127.i, align 8, !tbaa !91 store i64 %717, ptr %Len.i.i.i47.i1157.i, align 8, !tbaa !93 %output_target.i48.i1158.i = getelementptr inbounds i8, ptr %715, i64 32 %719 = load ptr, ptr %output_target.i48.i1158.i, align 8, !tbaa !21 %call.i49.i1159.i = call noundef i32 %716(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i40.i1127.i, ptr noundef %719) #19 %cmp7.i50.i1160.i = icmp sgt i32 %call.i49.i1159.i, -1 br i1 %cmp7.i50.i1160.i, label %if.end9.i52.i1164.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i1161.i if.end9.i52.i1164.i: ; preds = %if.then3.i46.i1156.i, %if.then.i44.i1154.i %cmp11.not.i54.i1165.i = icmp eq i64 %written.1.i1144.i.lcssa, %conv205.i.i.i br i1 %cmp11.not.i54.i1165.i, label %return.sink.split.i59.i1170.i, label %if.then12.i55.i1166.i if.then12.i55.i1166.i: ; preds = %if.end9.i52.i1164.i %720 = load ptr, ptr %stream_writer.i41.i1151.i, align 8, !tbaa !20 %output_target16.i56.i1167.i = getelementptr inbounds i8, ptr %715, i64 32 %721 = load ptr, ptr %output_target16.i56.i1167.i, align 8, !tbaa !21 %call17.i57.i1168.i = call noundef i32 %720(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp1939.i1128.i, ptr noundef %721) #19 %cmp18.i58.i1169.i = icmp sgt i32 %call17.i57.i1168.i, -1 br i1 %cmp18.i58.i1169.i, label %return.sink.split.i59.i1170.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i1161.i if.else.i61.i1172.i: ; preds = %while.end.i1147.i %buff_len.i62.i1173.i = getelementptr inbounds i8, ptr %715, i64 8 %722 = load i64, ptr %buff_len.i62.i1173.i, align 8, !tbaa !18 %cmp27.i63.i1174.i = icmp ult i64 %717, %722 br i1 %cmp27.i63.i1174.i, label %if.then28.i64.i1175.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i1161.i if.then28.i64.i1175.i: ; preds = %if.else.i61.i1172.i %sub.i65.i1176.i = sub i64 %722, %717 %spec.select.i67.i1177.i = call i64 @llvm.umin.i64(i64 %sub.i65.i1176.i, i64 %cond.i6.i.i1149.i) %723 = load ptr, ptr %715, align 8, !tbaa !15 %add.ptr.i68.i1178.i = getelementptr inbounds i8, ptr %723, i64 %717 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i68.i1178.i, ptr nonnull align 1 %mini_buff.i1131.i, i64 %spec.select.i67.i1177.i, i1 false), !alias.scope !289 %724 = load i64, ptr %buff_cur26.i43.i1153.i, align 8, !tbaa !19 %add.i69.i1179.i = add i64 %724, %spec.select.i67.i1177.i br label %return.sink.split.i59.i1170.i return.sink.split.i59.i1170.i: ; preds = %if.then28.i64.i1175.i, %if.then12.i55.i1166.i, %if.end9.i52.i1164.i %add.sink.i60.i1171.i = phi i64 [ %add.i69.i1179.i, %if.then28.i64.i1175.i ], [ 0, %if.then12.i55.i1166.i ], [ 0, %if.end9.i52.i1164.i ] store i64 %add.sink.i60.i1171.i, ptr %buff_cur26.i43.i1153.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i1161.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i1161.i: ; preds = %return.sink.split.i59.i1170.i, %if.else.i61.i1172.i, %if.then12.i55.i1166.i, %if.then3.i46.i1156.i %retval.3.i51.i1162.i = phi i32 [ %call.i49.i1159.i, %if.then3.i46.i1156.i ], [ %call17.i57.i1168.i, %if.then12.i55.i1166.i ], [ 0, %if.else.i61.i1172.i ], [ 0, %return.sink.split.i59.i1170.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp1939.i1128.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i40.i1127.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit1211.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit1211.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i1161.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1190.i %retval.2.i1163.i = phi i32 [ %retval.3.i51.i1162.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit70.i1161.i ], [ %retval.3.i.i1191.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i1190.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %mini_buff.i1131.i) #18 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit490.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit490.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit1211.i, %if.then.i483.i.i.i %retval.0.i487.i.i.i = phi i32 [ 0, %if.then.i483.i.i.i ], [ %retval.2.i1163.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer3padEcm.exit1211.i ] %cmp207.i.i.i = icmp sgt i32 %retval.0.i487.i.i.i, -1 br i1 %cmp207.i.i.i, label %if.end213.i.i.i, label %cleanup228.i.i.i if.end213.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit490.i.i.i, %if.end201.i.i.i %cmp214.not.i.i.i = icmp eq i64 %553, 0 br i1 %cmp214.not.i.i.i, label %if.end227.i.i.i, label %if.then215.i.i.i if.then215.i.i.i: ; preds = %if.end213.i.i.i %conv.i495.i.i.i = trunc i64 %553 to i32 %725 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i497.i.i.i = add nsw i32 %725, %conv.i495.i.i.i store i32 %add.i497.i.i.i, ptr %chars_written.i, align 8, !tbaa !25 %726 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i498.i.i.i = getelementptr inbounds i8, ptr %726, i64 16 %727 = load i64, ptr %buff_cur.i498.i.i.i, align 8, !tbaa !19 %add3.i499.i.i.i = add i64 %727, %553 %buff_len.i500.i.i.i = getelementptr inbounds i8, ptr %726, i64 8 %728 = load i64, ptr %buff_len.i500.i.i.i, align 8, !tbaa !18 %cmp.not.i501.i.i.i = icmp ugt i64 %add3.i499.i.i.i, %728 br i1 %cmp.not.i501.i.i.i, label %if.end.i507.i.i.i, label %if.then.i502.i.i.i if.then.i502.i.i.i: ; preds = %if.then215.i.i.i %729 = load ptr, ptr %726, align 8, !tbaa !15 %add.ptr.i503.i.i.i = getelementptr inbounds i8, ptr %729, i64 %727 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i503.i.i.i, ptr nonnull align 1 %add.ptr4.i301.i.i.i.i, i64 %553, i1 false), !alias.scope !293 %730 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur13.i504.i.i.i = getelementptr inbounds i8, ptr %730, i64 16 %731 = load i64, ptr %buff_cur13.i504.i.i.i, align 8, !tbaa !19 %add14.i505.i.i.i = add i64 %731, %553 store i64 %add14.i505.i.i.i, ptr %buff_cur13.i504.i.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit536.i.i.i if.end.i507.i.i.i: ; preds = %if.then215.i.i.i call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp20.i493.i.i.i) store ptr %add.ptr4.i301.i.i.i.i, ptr %agg.tmp20.i493.i.i.i, align 8 store i64 %553, ptr %agg.tmp217491.sroa.5.0.agg.tmp20.i493.sroa_idx.i.i.i, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i492.i.i.i) %stream_writer.i.i508.i.i.i = getelementptr inbounds i8, ptr %726, i64 24 %732 = load ptr, ptr %stream_writer.i.i508.i.i.i, align 8, !tbaa !20 %cmp.not.i.i509.i.i.i = icmp eq ptr %732, null br i1 %cmp.not.i.i509.i.i.i, label %if.else.i.i528.i.i.i, label %if.then.i.i510.i.i.i if.then.i.i510.i.i.i: ; preds = %if.end.i507.i.i.i %cmp2.not.i.i511.i.i.i = icmp eq i64 %727, 0 br i1 %cmp2.not.i.i511.i.i.i, label %if.then12.i.i522.i.i.i, label %if.then3.i.i512.i.i.i if.then3.i.i512.i.i.i: ; preds = %if.then.i.i510.i.i.i %733 = load ptr, ptr %726, align 8, !tbaa !15 store ptr %733, ptr %agg.tmp.i.i492.i.i.i, align 8, !tbaa !91 store i64 %727, ptr %Len.i.i.i.i513.i.i.i, align 8, !tbaa !93 %output_target.i.i514.i.i.i = getelementptr inbounds i8, ptr %726, i64 32 %734 = load ptr, ptr %output_target.i.i514.i.i.i, align 8, !tbaa !21 %call.i.i515.i.i.i = call noundef i32 %732(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i492.i.i.i, ptr noundef %734) #19 %cmp7.i.i516.i.i.i = icmp sgt i32 %call.i.i515.i.i.i, -1 br i1 %cmp7.i.i516.i.i.i, label %if.then3.i.i512.i.if.then12.i.i522.i_crit_edge.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i517.i.i.i if.then3.i.i512.i.if.then12.i.i522.i_crit_edge.i.i: ; preds = %if.then3.i.i512.i.i.i %.pre78.i.i = load ptr, ptr %stream_writer.i.i508.i.i.i, align 8, !tbaa !20 br label %if.then12.i.i522.i.i.i if.then12.i.i522.i.i.i: ; preds = %if.then3.i.i512.i.if.then12.i.i522.i_crit_edge.i.i, %if.then.i.i510.i.i.i %735 = phi ptr [ %.pre78.i.i, %if.then3.i.i512.i.if.then12.i.i522.i_crit_edge.i.i ], [ %732, %if.then.i.i510.i.i.i ] %output_target16.i.i523.i.i.i = getelementptr inbounds i8, ptr %726, i64 32 %736 = load ptr, ptr %output_target16.i.i523.i.i.i, align 8, !tbaa !21 %call17.i.i524.i.i.i = call noundef i32 %735(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp20.i493.i.i.i, ptr noundef %736) #19 %cmp18.i.i525.i.i.i = icmp sgt i32 %call17.i.i524.i.i.i, -1 br i1 %cmp18.i.i525.i.i.i, label %return.sink.split.i.i526.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i517.i.i.i if.else.i.i528.i.i.i: ; preds = %if.end.i507.i.i.i %cmp27.i.i529.i.i.i = icmp ult i64 %727, %728 br i1 %cmp27.i.i529.i.i.i, label %if.then28.i.i530.i.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i517.i.i.i if.then28.i.i530.i.i.i: ; preds = %if.else.i.i528.i.i.i %sub.i.i531.i.i.i = sub i64 %728, %727 %spec.select.i.i533.i.i.i = call i64 @llvm.umin.i64(i64 %sub.i.i531.i.i.i, i64 %553) %737 = load ptr, ptr %726, align 8, !tbaa !15 %add.ptr.i.i534.i.i.i = getelementptr inbounds i8, ptr %737, i64 %727 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i534.i.i.i, ptr nonnull align 1 %add.ptr4.i301.i.i.i.i, i64 %spec.select.i.i533.i.i.i, i1 false), !alias.scope !297 %738 = load i64, ptr %buff_cur.i498.i.i.i, align 8, !tbaa !19 %add.i.i535.i.i.i = add i64 %738, %spec.select.i.i533.i.i.i br label %return.sink.split.i.i526.i.i.i return.sink.split.i.i526.i.i.i: ; preds = %if.then28.i.i530.i.i.i, %if.then12.i.i522.i.i.i %add.sink.i.i527.i.i.i = phi i64 [ %add.i.i535.i.i.i, %if.then28.i.i530.i.i.i ], [ 0, %if.then12.i.i522.i.i.i ] store i64 %add.sink.i.i527.i.i.i, ptr %buff_cur.i498.i.i.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i517.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i517.i.i.i: ; preds = %return.sink.split.i.i526.i.i.i, %if.else.i.i528.i.i.i, %if.then12.i.i522.i.i.i, %if.then3.i.i512.i.i.i %retval.3.i.i518.i.i.i = phi i32 [ %call.i.i515.i.i.i, %if.then3.i.i512.i.i.i ], [ %call17.i.i524.i.i.i, %if.then12.i.i522.i.i.i ], [ 0, %if.else.i.i528.i.i.i ], [ 0, %return.sink.split.i.i526.i.i.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp20.i493.i.i.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i492.i.i.i) br label %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit536.i.i.i _ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit536.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i517.i.i.i, %if.then.i502.i.i.i %retval.0.i506.i.i.i = phi i32 [ 0, %if.then.i502.i.i.i ], [ %retval.3.i.i518.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i517.i.i.i ] %cmp220.i.i.i = icmp sgt i32 %retval.0.i506.i.i.i, -1 br i1 %cmp220.i.i.i, label %if.end227.i.i.i, label %cleanup228.i.i.i if.end227.i.i.i: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit536.i.i.i, %if.end213.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit413.i.i.i, %if.end163.i.i.i br label %cleanup228.i.i.i cleanup228.i.i.i: ; preds = %if.end227.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit536.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit490.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit475.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit413.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit398.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i30.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i26.i.i %retval.14.i.i.i = phi i32 [ 0, %if.end227.i.i.i ], [ %retval.0.i410.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit413.i.i.i ], [ %retval.0.i368.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit398.i.i.i ], [ %retval.0.i351.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i30.i.i ], [ %retval.0.i341.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i26.i.i ], [ %retval.0.i506.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit536.i.i.i ], [ %retval.0.i487.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit490.i.i.i ], [ %retval.0.i445.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit475.i.i.i ], [ %retval.0.i425.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit428.i.i.i ] call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %prefix.i.i.i) #18 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11convert_intEPNS0_6WriterERKNS0_13FormatSectionE.exit.i.i _ZN22__llvm_libc_19_0_0_git11printf_core11convert_intEPNS0_6WriterERKNS0_13FormatSectionE.exit.i.i: ; preds = %cleanup228.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.i.i.i %retval.15.i.i.i = phi i32 [ %retval.14.i.i.i, %cleanup228.i.i.i ], [ -4, %_ZN22__llvm_libc_19_0_0_git11printf_core7details14num_to_strviewEyNS_3cpp4spanIcEEc.exit.i.i.i ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %buf.i.i.i) #18 br label %if.end sw.default.i28: ; preds = %if.end.i9 %conv.i199.i = trunc i64 %cur_section.sroa.18.0 to i32 %739 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i201.i = add nsw i32 %739, %conv.i199.i store i32 %add.i201.i, ptr %chars_written.i, align 8, !tbaa !25 %740 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i202.i = getelementptr inbounds i8, ptr %740, i64 16 %741 = load i64, ptr %buff_cur.i202.i, align 8, !tbaa !19 %add3.i203.i = add i64 %741, %cur_section.sroa.18.0 %buff_len.i204.i = getelementptr inbounds i8, ptr %740, i64 8 %742 = load i64, ptr %buff_len.i204.i, align 8, !tbaa !18 %cmp.not.i205.i = icmp ugt i64 %add3.i203.i, %742 br i1 %cmp.not.i205.i, label %if.end.i211.i, label %if.then.i206.i if.then.i206.i: ; preds = %sw.default.i28 %743 = load ptr, ptr %740, align 8, !tbaa !15 %add.ptr.i207.i = getelementptr inbounds i8, ptr %743, i64 %741 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i207.i, ptr nonnull align 1 %cur_section.sroa.14.0, i64 %cur_section.sroa.18.0, i1 false), !alias.scope !301 %744 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur13.i208.i = getelementptr inbounds i8, ptr %744, i64 16 %745 = load i64, ptr %buff_cur13.i208.i, align 8, !tbaa !19 %add14.i209.i = add i64 %745, %cur_section.sroa.18.0 store i64 %add14.i209.i, ptr %buff_cur13.i208.i, align 8, !tbaa !19 br label %if.end if.end.i211.i: ; preds = %sw.default.i28 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp20.i197.i) store ptr %cur_section.sroa.14.0, ptr %agg.tmp20.i197.i, align 8 store i64 %cur_section.sroa.18.0, ptr %agg.tmp11195.sroa.5.0.agg.tmp20.i197.sroa_idx.i, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i196.i) %stream_writer.i.i212.i = getelementptr inbounds i8, ptr %740, i64 24 %746 = load ptr, ptr %stream_writer.i.i212.i, align 8, !tbaa !20 %cmp.not.i.i213.i = icmp eq ptr %746, null br i1 %cmp.not.i.i213.i, label %if.else.i.i232.i, label %if.then.i.i214.i if.then.i.i214.i: ; preds = %if.end.i211.i %cmp2.not.i.i215.i = icmp eq i64 %741, 0 br i1 %cmp2.not.i.i215.i, label %if.then12.i.i226.i, label %if.then3.i.i216.i if.then3.i.i216.i: ; preds = %if.then.i.i214.i %747 = load ptr, ptr %740, align 8, !tbaa !15 store ptr %747, ptr %agg.tmp.i.i196.i, align 8, !tbaa !91 store i64 %741, ptr %Len.i.i.i.i217.i, align 8, !tbaa !93 %output_target.i.i218.i = getelementptr inbounds i8, ptr %740, i64 32 %748 = load ptr, ptr %output_target.i.i218.i, align 8, !tbaa !21 %call.i.i219.i = call noundef i32 %746(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i196.i, ptr noundef %748) #19 %cmp7.i.i220.i = icmp sgt i32 %call.i.i219.i, -1 br i1 %cmp7.i.i220.i, label %if.then12.i.i226.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i221.i if.then12.i.i226.i: ; preds = %if.then3.i.i216.i, %if.then.i.i214.i %749 = load ptr, ptr %stream_writer.i.i212.i, align 8, !tbaa !20 %output_target16.i.i227.i = getelementptr inbounds i8, ptr %740, i64 32 %750 = load ptr, ptr %output_target16.i.i227.i, align 8, !tbaa !21 %call17.i.i228.i = call noundef i32 %749(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp20.i197.i, ptr noundef %750) #19 %cmp18.i.i229.i = icmp sgt i32 %call17.i.i228.i, -1 br i1 %cmp18.i.i229.i, label %return.sink.split.i.i230.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i221.i if.else.i.i232.i: ; preds = %if.end.i211.i %cmp27.i.i233.i = icmp ult i64 %741, %742 br i1 %cmp27.i.i233.i, label %if.then28.i.i234.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i221.i if.then28.i.i234.i: ; preds = %if.else.i.i232.i %sub.i.i235.i = sub i64 %742, %741 %spec.select.i.i237.i = call i64 @llvm.umin.i64(i64 %sub.i.i235.i, i64 %cur_section.sroa.18.0) %751 = load ptr, ptr %740, align 8, !tbaa !15 %add.ptr.i.i238.i = getelementptr inbounds i8, ptr %751, i64 %741 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i238.i, ptr nonnull align 1 %cur_section.sroa.14.0, i64 %spec.select.i.i237.i, i1 false), !alias.scope !305 %752 = load i64, ptr %buff_cur.i202.i, align 8, !tbaa !19 %add.i.i239.i = add i64 %752, %spec.select.i.i237.i br label %return.sink.split.i.i230.i return.sink.split.i.i230.i: ; preds = %if.then28.i.i234.i, %if.then12.i.i226.i %add.sink.i.i231.i = phi i64 [ %add.i.i239.i, %if.then28.i.i234.i ], [ 0, %if.then12.i.i226.i ] store i64 %add.sink.i.i231.i, ptr %buff_cur.i202.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i221.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i221.i: ; preds = %return.sink.split.i.i230.i, %if.else.i.i232.i, %if.then12.i.i226.i, %if.then3.i.i216.i %retval.3.i.i222.i = phi i32 [ %call.i.i219.i, %if.then3.i.i216.i ], [ %call17.i.i228.i, %if.then12.i.i226.i ], [ 0, %if.else.i.i232.i ], [ 0, %return.sink.split.i.i230.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp20.i197.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i196.i) br label %if.end if.else: ; preds = %for.body %conv.i = trunc i64 %cur_section.sroa.18.0 to i32 %753 = load i32, ptr %chars_written.i, align 8, !tbaa !25 %add.i73 = add nsw i32 %753, %conv.i store i32 %add.i73, ptr %chars_written.i, align 8, !tbaa !25 %754 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur.i = getelementptr inbounds i8, ptr %754, i64 16 %755 = load i64, ptr %buff_cur.i, align 8, !tbaa !19 %add3.i = add i64 %755, %cur_section.sroa.18.0 %buff_len.i = getelementptr inbounds i8, ptr %754, i64 8 %756 = load i64, ptr %buff_len.i, align 8, !tbaa !18 %cmp.not.i = icmp ugt i64 %add3.i, %756 br i1 %cmp.not.i, label %if.end.i, label %if.then.i74 if.then.i74: ; preds = %if.else %757 = load ptr, ptr %754, align 8, !tbaa !15 %add.ptr.i = getelementptr inbounds i8, ptr %757, i64 %755 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i, ptr nonnull align 1 %cur_section.sroa.14.0, i64 %cur_section.sroa.18.0, i1 false), !alias.scope !309 %758 = load ptr, ptr %writer, align 8, !tbaa !22 %buff_cur13.i = getelementptr inbounds i8, ptr %758, i64 16 %759 = load i64, ptr %buff_cur13.i, align 8, !tbaa !19 %add14.i = add i64 %759, %cur_section.sroa.18.0 store i64 %add14.i, ptr %buff_cur13.i, align 8, !tbaa !19 br label %if.end if.end.i: ; preds = %if.else call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp20.i) store ptr %cur_section.sroa.14.0, ptr %agg.tmp20.i, align 8 store i64 %cur_section.sroa.18.0, ptr %agg.tmp72.sroa.5.0.agg.tmp20.i.sroa_idx, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %agg.tmp.i.i) %stream_writer.i.i = getelementptr inbounds i8, ptr %754, i64 24 %760 = load ptr, ptr %stream_writer.i.i, align 8, !tbaa !20 %cmp.not.i.i = icmp eq ptr %760, null br i1 %cmp.not.i.i, label %if.else.i.i77, label %if.then.i.i75 if.then.i.i75: ; preds = %if.end.i %cmp2.not.i.i = icmp eq i64 %755, 0 br i1 %cmp2.not.i.i, label %if.end9.i.i, label %if.then3.i.i if.then3.i.i: ; preds = %if.then.i.i75 %761 = load ptr, ptr %754, align 8, !tbaa !15 store ptr %761, ptr %agg.tmp.i.i, align 8, !tbaa !91 store i64 %755, ptr %Len.i.i.i.i, align 8, !tbaa !93 %output_target.i.i = getelementptr inbounds i8, ptr %754, i64 32 %762 = load ptr, ptr %output_target.i.i, align 8, !tbaa !21 %call.i.i = call noundef i32 %760(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp.i.i, ptr noundef %762) #19 %cmp7.i.i = icmp sgt i32 %call.i.i, -1 br i1 %cmp7.i.i, label %if.then3.i.i.if.end9.i.i_crit_edge, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i if.then3.i.i.if.end9.i.i_crit_edge: ; preds = %if.then3.i.i %.pre = load i64, ptr %agg.tmp72.sroa.5.0.agg.tmp20.i.sroa_idx, align 8, !tbaa !93 br label %if.end9.i.i if.end9.i.i: ; preds = %if.then3.i.i.if.end9.i.i_crit_edge, %if.then.i.i75 %763 = phi i64 [ %.pre, %if.then3.i.i.if.end9.i.i_crit_edge ], [ 1, %if.then.i.i75 ] %cmp11.not.i.i = icmp eq i64 %763, 0 br i1 %cmp11.not.i.i, label %return.sink.split.i.i, label %if.then12.i.i76 if.then12.i.i76: ; preds = %if.end9.i.i %764 = load ptr, ptr %stream_writer.i.i, align 8, !tbaa !20 %output_target16.i.i = getelementptr inbounds i8, ptr %754, i64 32 %765 = load ptr, ptr %output_target16.i.i, align 8, !tbaa !21 %call17.i.i = call noundef i32 %764(ptr noundef nonnull byval(%"class.__llvm_libc_19_0_0_git::cpp::string_view") align 8 %agg.tmp20.i, ptr noundef %765) #19 %cmp18.i.i = icmp sgt i32 %call17.i.i, -1 br i1 %cmp18.i.i, label %return.sink.split.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i if.else.i.i77: ; preds = %if.end.i %cmp27.i.i = icmp ult i64 %755, %756 br i1 %cmp27.i.i, label %if.then28.i.i, label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i if.then28.i.i: ; preds = %if.else.i.i77 %sub.i.i78 = sub i64 %756, %755 %spec.select.i.i = call i64 @llvm.umin.i64(i64 %sub.i.i78, i64 %cur_section.sroa.18.0) %766 = load ptr, ptr %754, align 8, !tbaa !15 %add.ptr.i.i = getelementptr inbounds i8, ptr %766, i64 %755 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr.i.i, ptr nonnull align 1 %cur_section.sroa.14.0, i64 %spec.select.i.i, i1 false), !alias.scope !313 %767 = load i64, ptr %buff_cur.i, align 8, !tbaa !19 %add.i.i79 = add i64 %767, %spec.select.i.i br label %return.sink.split.i.i return.sink.split.i.i: ; preds = %if.then28.i.i, %if.then12.i.i76, %if.end9.i.i %add.sink.i.i = phi i64 [ %add.i.i79, %if.then28.i.i ], [ 0, %if.then12.i.i76 ], [ 0, %if.end9.i.i ] store i64 %add.sink.i.i, ptr %buff_cur.i, align 8, !tbaa !19 br label %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i _ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i: ; preds = %return.sink.split.i.i, %if.else.i.i77, %if.then12.i.i76, %if.then3.i.i %retval.3.i.i = phi i32 [ %call.i.i, %if.then3.i.i ], [ %call17.i.i, %if.then12.i.i76 ], [ 0, %if.else.i.i77 ], [ 0, %return.sink.split.i.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp20.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %agg.tmp.i.i) br label %if.end if.end: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i, %if.then.i74, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i221.i, %if.then.i206.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11convert_intEPNS0_6WriterERKNS0_13FormatSectionE.exit.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core14convert_stringEPNS0_6WriterERKNS0_13FormatSectionE.exit.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11convert_intEPNS0_6WriterERKNS0_13FormatSectionE.exit.i, %if.end44.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit102.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i121.i, %if.end32.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit78.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEc.exit.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i55.i, %if.then.i40.i %result.0 = phi i32 [ 0, %if.then.i74 ], [ %retval.3.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i ], [ %retval.15.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11convert_intEPNS0_6WriterERKNS0_13FormatSectionE.exit.i ], [ 0, %if.then.i40.i ], [ %retval.3.i.i56.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i55.i ], [ 0, %if.end32.i.i ], [ %retval.0.i75.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit78.i.i ], [ %retval.0.i62.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEc.exit.i.i ], [ %retval.0.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i.i ], [ 0, %if.end44.i.i ], [ %retval.0.i99.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit102.i.i ], [ %retval.0.i86.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeENS_3cpp11string_viewE.exit.i.i ], [ %retval.0.i.i122.i, %_ZN22__llvm_libc_19_0_0_git11printf_core6Writer5writeEcm.exit.i121.i ], [ %retval.4.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core14convert_stringEPNS0_6WriterERKNS0_13FormatSectionE.exit.i.i ], [ %retval.15.i.i.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11convert_intEPNS0_6WriterERKNS0_13FormatSectionE.exit.i.i ], [ 0, %if.then.i206.i ], [ %retval.3.i.i222.i, %_ZN22__llvm_libc_19_0_0_git11printf_core11WriteBuffer14overflow_writeENS_3cpp11string_viewE.exit.i221.i ] %cmp = icmp sgt i32 %result.0, -1 br i1 %cmp, label %for.inc, label %cleanup9 for.inc: ; preds = %if.end %768 = load i64, ptr %0, align 8, !tbaa !72 %769 = load ptr, ptr %parser, align 8, !tbaa !64 %arrayidx.i81 = getelementptr inbounds i8, ptr %769, i64 %768 %770 = load i8, ptr %arrayidx.i81, align 1, !tbaa !26 %cmp.i82 = icmp eq i8 %770, 37 br i1 %cmp.i82, label %if.then.i126, label %while.cond.i83 if.then.i126: ; preds = %for.inc %inc.i127 = add i64 %768, 1 store i64 %inc.i127, ptr %0, align 8, !tbaa !72 br label %while.body.i.i128 while.body.i.i128: ; preds = %if.end.i.i135, %if.then.i126 %771 = phi i64 [ %inc.i127, %if.then.i126 ], [ %778, %if.end.i.i135 ] %flags.033.i.i129 = phi i8 [ 0, %if.then.i126 ], [ %flags.1.i.i134, %if.end.i.i135 ] %arrayidx.i.i130 = getelementptr inbounds i8, ptr %769, i64 %771 %772 = load i8, ptr %arrayidx.i.i130, align 1, !tbaa !26 switch i8 %772, label %sw.epilog.i.i132 [ i8 45, label %sw.bb.i.i490 i8 43, label %sw.bb4.i.i489 i8 32, label %sw.bb8.i.i488 i8 35, label %sw.bb12.i.i487 i8 48, label %sw.bb16.i.i131 ] sw.bb.i.i490: ; preds = %while.body.i.i128 %773 = or i8 %flags.033.i.i129, 1 br label %sw.epilog.i.i132 sw.bb4.i.i489: ; preds = %while.body.i.i128 %774 = or i8 %flags.033.i.i129, 2 br label %sw.epilog.i.i132 sw.bb8.i.i488: ; preds = %while.body.i.i128 %775 = or i8 %flags.033.i.i129, 4 br label %sw.epilog.i.i132 sw.bb12.i.i487: ; preds = %while.body.i.i128 %776 = or i8 %flags.033.i.i129, 8 br label %sw.epilog.i.i132 sw.bb16.i.i131: ; preds = %while.body.i.i128 %777 = or i8 %flags.033.i.i129, 16 br label %sw.epilog.i.i132 sw.epilog.i.i132: ; preds = %sw.bb16.i.i131, %sw.bb12.i.i487, %sw.bb8.i.i488, %sw.bb4.i.i489, %sw.bb.i.i490, %while.body.i.i128 %found_flag.1.off0.i.i133 = phi i1 [ true, %sw.bb16.i.i131 ], [ true, %sw.bb12.i.i487 ], [ true, %sw.bb8.i.i488 ], [ true, %sw.bb4.i.i489 ], [ true, %sw.bb.i.i490 ], [ false, %while.body.i.i128 ] %flags.1.i.i134 = phi i8 [ %777, %sw.bb16.i.i131 ], [ %776, %sw.bb12.i.i487 ], [ %775, %sw.bb8.i.i488 ], [ %774, %sw.bb4.i.i489 ], [ %773, %sw.bb.i.i490 ], [ %flags.033.i.i129, %while.body.i.i128 ] br i1 %found_flag.1.off0.i.i133, label %if.then.i.i485, label %if.end.i.i135 if.then.i.i485: ; preds = %sw.epilog.i.i132 %inc.i.i486 = add i64 %771, 1 store i64 %inc.i.i486, ptr %0, align 8, !tbaa !57 br label %if.end.i.i135 if.end.i.i135: ; preds = %if.then.i.i485, %sw.epilog.i.i132 %778 = phi i64 [ %inc.i.i486, %if.then.i.i485 ], [ %771, %sw.epilog.i.i132 ] br i1 %found_flag.1.off0.i.i133, label %while.body.i.i128, label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE11parse_flagsEPm.exit.i136, !llvm.loop !73 _ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE11parse_flagsEPm.exit.i136: ; preds = %if.end.i.i135 %.lcssa149 = phi i64 [ %778, %if.end.i.i135 ] %flags.1.i.i134.lcssa = phi i8 [ %flags.1.i.i134, %if.end.i.i135 ] %arrayidx7.i137 = getelementptr inbounds i8, ptr %769, i64 %.lcssa149 %779 = load i8, ptr %arrayidx7.i137, align 1, !tbaa !26 %cmp9.i138 = icmp eq i8 %779, 42 br i1 %cmp9.i138, label %if.then10.i479, label %if.else.i139 if.then10.i479: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE11parse_flagsEPm.exit.i136 %inc12.i480 = add i64 %.lcssa149, 1 store i64 %inc12.i480, ptr %0, align 8, !tbaa !72 %argp.cur.i.i.i482 = load ptr, ptr %1, align 8 %780 = getelementptr inbounds i8, ptr %argp.cur.i.i.i482, i64 3 %argp.cur.aligned.i.i.i483 = call align 4 ptr @llvm.ptrmask.p0.i64(ptr nonnull %780, i64 -4) %argp.next.i.i.i484 = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i.i483, i64 4 store ptr %argp.next.i.i.i484, ptr %1, align 8 %781 = load i32, ptr %argp.cur.aligned.i.i.i483, align 4, !tbaa !74 br label %if.end29.i143 if.else.i139: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE11parse_flagsEPm.exit.i136 %conv8.i140 = sext i8 %779 to i32 %sub.i.i141 = add nsw i32 %conv8.i140, -48 %cmp.i.i142 = icmp ult i32 %sub.i.i141, 10 br i1 %cmp.i.i142, label %land.rhs.i.i.i411, label %if.end29.i143 land.rhs.i.i.i411: ; preds = %while.body.i.i.i414, %if.else.i139 %src_cur.06.i.i.i412 = phi i64 [ %inc.i.i.i415, %while.body.i.i.i414 ], [ 0, %if.else.i139 ] %arrayidx.i.i.i413 = getelementptr inbounds i8, ptr %arrayidx7.i137, i64 %src_cur.06.i.i.i412 %782 = load i8, ptr %arrayidx.i.i.i413, align 1, !tbaa !26, !alias.scope !317 switch i8 %782, label %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i420 [ i8 32, label %while.body.i.i.i414 i8 13, label %while.body.i.i.i414 i8 12, label %while.body.i.i.i414 i8 11, label %while.body.i.i.i414 i8 10, label %while.body.i.i.i414 i8 9, label %while.body.i.i.i414 ] while.body.i.i.i414: ; preds = %land.rhs.i.i.i411, %land.rhs.i.i.i411, %land.rhs.i.i.i411, %land.rhs.i.i.i411, %land.rhs.i.i.i411, %land.rhs.i.i.i411 %inc.i.i.i415 = add nuw i64 %src_cur.06.i.i.i412, 1 %exitcond.not.i.i.i416 = icmp eq i64 %inc.i.i.i415, -1 br i1 %exitcond.not.i.i.i416, label %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i417, label %land.rhs.i.i.i411, !llvm.loop !78 while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i417: ; preds = %while.body.i.i.i414 %add.ptr.i.phi.trans.insert.i.i418 = getelementptr inbounds i8, ptr %arrayidx7.i137, i64 -1 %.pre.i.i419 = load i8, ptr %add.ptr.i.phi.trans.insert.i.i418, align 1, !tbaa !26, !alias.scope !317 br label %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i420 _ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i420: ; preds = %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i417, %land.rhs.i.i.i411 %783 = phi i8 [ %.pre.i.i419, %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i417 ], [ %782, %land.rhs.i.i.i411 ] %src_cur.0.lcssa.i.i.i421 = phi i64 [ -1, %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i417 ], [ %src_cur.06.i.i.i412, %land.rhs.i.i.i411 ] switch i8 %783, label %if.end14.i.i424 [ i8 43, label %if.then12.i.i422 i8 45, label %if.then12.i.i422 ] if.then12.i.i422: ; preds = %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i420, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i420 %inc.i219.i423 = add i64 %src_cur.0.lcssa.i.i.i421, 1 %784 = icmp eq i8 %783, 43 br label %if.end14.i.i424 if.end14.i.i424: ; preds = %if.then12.i.i422, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i420 %result_sign.0.i.i425 = phi i1 [ %784, %if.then12.i.i422 ], [ true, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i420 ] %src_cur.0.i.i426 = phi i64 [ %inc.i219.i423, %if.then12.i.i422 ], [ %src_cur.0.lcssa.i.i.i421, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i420 ] %cond.i.i427 = select i1 %result_sign.0.i.i425, i64 2147483647, i64 2147483648 br label %while.cond.i.i428 while.cond.i.i428: ; preds = %cleanup.i.i461, %if.end14.i.i424 %error_val.0.i.i429 = phi i32 [ 0, %if.end14.i.i424 ], [ %error_val.3.i.i462, %cleanup.i.i461 ] %src_cur.2.i.i430 = phi i64 [ %src_cur.0.i.i426, %if.end14.i.i424 ], [ %src_cur.3.i.i463, %cleanup.i.i461 ] %is_number.0.off0.i.i431 = phi i1 [ false, %if.end14.i.i424 ], [ %is_number.1.off0.i.i464, %cleanup.i.i461 ] %result.0.i.i432 = phi i64 [ 0, %if.end14.i.i424 ], [ %result.3.i.i465, %cleanup.i.i461 ] %cmp30.i.not.i433 = icmp eq i64 %src_cur.2.i.i430, -1 br i1 %cmp30.i.not.i433, label %while.end.i.i443, label %land.rhs.i.i434 land.rhs.i.i434: ; preds = %while.cond.i.i428 %arrayidx31.i.i435 = getelementptr inbounds i8, ptr %arrayidx7.i137, i64 %src_cur.2.i.i430 %785 = load i8, ptr %arrayidx31.i.i435, align 1, !tbaa !26, !alias.scope !317 %conv32.i.i436 = sext i8 %785 to i32 %or.i.i.i.i437 = or i32 %conv32.i.i436, 32 %sub.i.i.i.i438 = add nsw i32 %or.i.i.i.i437, -97 %cmp.i.i148.i.i439 = icmp ult i32 %sub.i.i.i.i438, 26 %sub.i3.i.i.i440 = add nsw i32 %conv32.i.i436, -48 %cmp.i4.i.i.i441 = icmp ult i32 %sub.i3.i.i.i440, 10 %spec.select.i149.i.i442 = select i1 %cmp.i.i148.i.i439, i1 true, i1 %cmp.i4.i.i.i441 br i1 %spec.select.i149.i.i442, label %while.body.i220.i456, label %while.end.i.i443 while.body.i220.i456: ; preds = %land.rhs.i.i434 %sub6.i.i.i457 = add nsw i32 %or.i.i.i.i437, -87 %spec.select.i154.i.i458 = select i1 %cmp.i.i148.i.i439, i32 %sub6.i.i.i457, i32 0 %spec.select163.i.i459 = select i1 %cmp.i4.i.i.i441, i32 %sub.i3.i.i.i440, i32 %spec.select.i154.i.i458 %cmp36.not.not.i.i460 = icmp slt i32 %spec.select163.i.i459, 10 br i1 %cmp36.not.not.i.i460, label %if.end38.i.i466, label %cleanup.i.i461 if.end38.i.i466: ; preds = %while.body.i220.i456 %inc39.i.i467 = add nuw i64 %src_cur.2.i.i430, 1 %cmp40.i.i468 = icmp eq i64 %result.0.i.i432, %cond.i.i427 br i1 %cmp40.i.i468, label %cleanup.i.i461, label %if.end42.i.i469, !llvm.loop !79 if.end42.i.i469: ; preds = %if.end38.i.i466 %cmp43.i.i470 = icmp ugt i64 %result.0.i.i432, 214748364 %mul.i.i471 = mul i64 %result.0.i.i432, 10 %result.1.i.i472 = select i1 %cmp43.i.i470, i64 %cond.i.i427, i64 %mul.i.i471 %conv47.i.i473 = sext i32 %spec.select163.i.i459 to i64 %sub48.i.i474 = sub nsw i64 %cond.i.i427, %conv47.i.i473 %cmp49.i.i475 = icmp ugt i64 %result.1.i.i472, %sub48.i.i474 %add53.i.i476 = add i64 %result.1.i.i472, %conv47.i.i473 %786 = or i1 %cmp43.i.i470, %cmp49.i.i475 %error_val.2.i.i477 = select i1 %786, i32 34, i32 %error_val.0.i.i429 %result.2.i.i478 = select i1 %cmp49.i.i475, i64 %cond.i.i427, i64 %add53.i.i476 br label %cleanup.i.i461 cleanup.i.i461: ; preds = %if.end42.i.i469, %if.end38.i.i466, %while.body.i220.i456 %error_val.3.i.i462 = phi i32 [ %error_val.2.i.i477, %if.end42.i.i469 ], [ %error_val.0.i.i429, %while.body.i220.i456 ], [ 34, %if.end38.i.i466 ] %src_cur.3.i.i463 = phi i64 [ %inc39.i.i467, %if.end42.i.i469 ], [ %src_cur.2.i.i430, %while.body.i220.i456 ], [ %inc39.i.i467, %if.end38.i.i466 ] %is_number.1.off0.i.i464 = phi i1 [ true, %if.end42.i.i469 ], [ %is_number.0.off0.i.i431, %while.body.i220.i456 ], [ true, %if.end38.i.i466 ] %result.3.i.i465 = phi i64 [ %result.2.i.i478, %if.end42.i.i469 ], [ %result.0.i.i432, %while.body.i220.i456 ], [ %cond.i.i427, %if.end38.i.i466 ] br i1 %cmp36.not.not.i.i460, label %while.cond.i.i428, label %while.end.i.i443 while.end.i.i443: ; preds = %cleanup.i.i461, %land.rhs.i.i434, %while.cond.i.i428 %error_val.4.i.i444 = phi i32 [ %error_val.3.i.i462, %cleanup.i.i461 ], [ %error_val.0.i.i429, %land.rhs.i.i434 ], [ %error_val.0.i.i429, %while.cond.i.i428 ] %src_cur.4.i.i445 = phi i64 [ %src_cur.3.i.i463, %cleanup.i.i461 ], [ %src_cur.2.i.i430, %land.rhs.i.i434 ], [ -1, %while.cond.i.i428 ] %is_number.2.off0.i.i446 = phi i1 [ %is_number.1.off0.i.i464, %cleanup.i.i461 ], [ %is_number.0.off0.i.i431, %land.rhs.i.i434 ], [ %is_number.0.off0.i.i431, %while.cond.i.i428 ] %result.4.i.i447 = phi i64 [ %result.3.i.i465, %cleanup.i.i461 ], [ %result.0.i.i432, %land.rhs.i.i434 ], [ %result.0.i.i432, %while.cond.i.i428 ] %cond56.i.i448 = select i1 %is_number.2.off0.i.i446, i64 %src_cur.4.i.i445, i64 0 %cmp57.i.i449 = icmp eq i32 %error_val.4.i.i444, 34 %conv67.i.i450 = trunc i64 %result.4.i.i447 to i32 %sub70.i.i451 = sub i32 0, %conv67.i.i450 %cond72.i.i452 = select i1 %result_sign.0.i.i425, i32 %conv67.i.i450, i32 %sub70.i.i451 %..i.i453 = select i1 %result_sign.0.i.i425, i32 2147483647, i32 -2147483648 %retval.sroa.0.0.i.i454 = select i1 %cmp57.i.i449, i32 %..i.i453, i32 %cond72.i.i452 %add.i455 = add i64 %cond56.i.i448, %.lcssa149 store i64 %add.i455, ptr %0, align 8, !tbaa !72 br label %if.end29.i143 if.end29.i143: ; preds = %while.end.i.i443, %if.else.i139, %if.then10.i479 %787 = phi i64 [ %inc12.i480, %if.then10.i479 ], [ %add.i455, %while.end.i.i443 ], [ %.lcssa149, %if.else.i139 ] %retval.sroa.34.0.i144 = phi i32 [ %781, %if.then10.i479 ], [ %retval.sroa.0.0.i.i454, %while.end.i.i443 ], [ 0, %if.else.i139 ] %spec.select.i145 = call i32 @llvm.abs.i32(i32 %retval.sroa.34.0.i144, i1 true) %retval.sroa.34.0.lobit.i146 = lshr i32 %retval.sroa.34.0.i144, 31 %788 = trunc nuw nsw i32 %retval.sroa.34.0.lobit.i146 to i8 %spec.select365.i147 = or i8 %flags.1.i.i134.lcssa, %788 %arrayidx42.i148 = getelementptr inbounds i8, ptr %769, i64 %787 %789 = load i8, ptr %arrayidx42.i148, align 1, !tbaa !26 %cmp44.i149 = icmp eq i8 %789, 46 br i1 %cmp44.i149, label %if.then45.i330, label %if.end82.i150 if.then45.i330: ; preds = %if.end29.i143 %inc47.i331 = add i64 %787, 1 store i64 %inc47.i331, ptr %0, align 8, !tbaa !72 %arrayidx51.i332 = getelementptr inbounds i8, ptr %769, i64 %inc47.i331 %790 = load i8, ptr %arrayidx51.i332, align 1, !tbaa !26 %cmp53.i333 = icmp eq i8 %790, 42 br i1 %cmp53.i333, label %if.then54.i405, label %if.else61.i334 if.then54.i405: ; preds = %if.then45.i330 %inc56.i406 = add i64 %787, 2 store i64 %inc56.i406, ptr %0, align 8, !tbaa !72 %argp.cur.i.i222.i408 = load ptr, ptr %1, align 8 %791 = getelementptr inbounds i8, ptr %argp.cur.i.i222.i408, i64 3 %argp.cur.aligned.i.i223.i409 = call align 4 ptr @llvm.ptrmask.p0.i64(ptr nonnull %791, i64 -4) %argp.next.i.i224.i410 = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i223.i409, i64 4 store ptr %argp.next.i.i224.i410, ptr %1, align 8 %792 = load i32, ptr %argp.cur.aligned.i.i223.i409, align 4, !tbaa !74 br label %if.end82.i150 if.else61.i334: ; preds = %if.then45.i330 %conv52.i335 = sext i8 %790 to i32 %sub.i225.i336 = add nsw i32 %conv52.i335, -48 %cmp.i226.i337 = icmp ult i32 %sub.i225.i336, 10 br i1 %cmp.i226.i337, label %land.rhs.i.i228.i338, label %if.end82.i150 land.rhs.i.i228.i338: ; preds = %while.body.i.i231.i341, %if.else61.i334 %src_cur.06.i.i229.i339 = phi i64 [ %inc.i.i232.i342, %while.body.i.i231.i341 ], [ 0, %if.else61.i334 ] %arrayidx.i.i230.i340 = getelementptr inbounds i8, ptr %arrayidx51.i332, i64 %src_cur.06.i.i229.i339 %793 = load i8, ptr %arrayidx.i.i230.i340, align 1, !tbaa !26, !alias.scope !320 switch i8 %793, label %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i237.i346 [ i8 32, label %while.body.i.i231.i341 i8 13, label %while.body.i.i231.i341 i8 12, label %while.body.i.i231.i341 i8 11, label %while.body.i.i231.i341 i8 10, label %while.body.i.i231.i341 i8 9, label %while.body.i.i231.i341 ] while.body.i.i231.i341: ; preds = %land.rhs.i.i228.i338, %land.rhs.i.i228.i338, %land.rhs.i.i228.i338, %land.rhs.i.i228.i338, %land.rhs.i.i228.i338, %land.rhs.i.i228.i338 %inc.i.i232.i342 = add nuw i64 %src_cur.06.i.i229.i339, 1 %exitcond.not.i.i233.i343 = icmp eq i64 %inc.i.i232.i342, -1 br i1 %exitcond.not.i.i233.i343, label %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i234.i344, label %land.rhs.i.i228.i338, !llvm.loop !78 while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i234.i344: ; preds = %while.body.i.i231.i341 %.pre.i236.i345 = load i8, ptr %arrayidx42.i148, align 1, !tbaa !26, !alias.scope !320 br label %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i237.i346 _ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i237.i346: ; preds = %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i234.i344, %land.rhs.i.i228.i338 %794 = phi i8 [ %.pre.i236.i345, %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i234.i344 ], [ %793, %land.rhs.i.i228.i338 ] %src_cur.0.lcssa.i.i238.i347 = phi i64 [ -1, %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i234.i344 ], [ %src_cur.06.i.i229.i339, %land.rhs.i.i228.i338 ] switch i8 %794, label %if.end14.i241.i350 [ i8 43, label %if.then12.i239.i348 i8 45, label %if.then12.i239.i348 ] if.then12.i239.i348: ; preds = %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i237.i346, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i237.i346 %inc.i240.i349 = add i64 %src_cur.0.lcssa.i.i238.i347, 1 %795 = icmp eq i8 %794, 43 br label %if.end14.i241.i350 if.end14.i241.i350: ; preds = %if.then12.i239.i348, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i237.i346 %result_sign.0.i242.i351 = phi i1 [ %795, %if.then12.i239.i348 ], [ true, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i237.i346 ] %src_cur.0.i243.i352 = phi i64 [ %inc.i240.i349, %if.then12.i239.i348 ], [ %src_cur.0.lcssa.i.i238.i347, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i237.i346 ] %cond.i244.i353 = select i1 %result_sign.0.i242.i351, i64 2147483647, i64 2147483648 br label %while.cond.i248.i354 while.cond.i248.i354: ; preds = %cleanup.i286.i387, %if.end14.i241.i350 %error_val.0.i249.i355 = phi i32 [ 0, %if.end14.i241.i350 ], [ %error_val.3.i287.i388, %cleanup.i286.i387 ] %src_cur.2.i250.i356 = phi i64 [ %src_cur.0.i243.i352, %if.end14.i241.i350 ], [ %src_cur.3.i288.i389, %cleanup.i286.i387 ] %is_number.0.off0.i251.i357 = phi i1 [ false, %if.end14.i241.i350 ], [ %is_number.1.off0.i289.i390, %cleanup.i286.i387 ] %result.0.i252.i358 = phi i64 [ 0, %if.end14.i241.i350 ], [ %result.3.i290.i391, %cleanup.i286.i387 ] %cmp30.i253.not.i359 = icmp eq i64 %src_cur.2.i250.i356, -1 br i1 %cmp30.i253.not.i359, label %while.end.i254.i369, label %land.rhs.i272.i360 land.rhs.i272.i360: ; preds = %while.cond.i248.i354 %arrayidx31.i273.i361 = getelementptr inbounds i8, ptr %arrayidx51.i332, i64 %src_cur.2.i250.i356 %796 = load i8, ptr %arrayidx31.i273.i361, align 1, !tbaa !26, !alias.scope !320 %conv32.i274.i362 = sext i8 %796 to i32 %or.i.i.i275.i363 = or i32 %conv32.i274.i362, 32 %sub.i.i.i276.i364 = add nsw i32 %or.i.i.i275.i363, -97 %cmp.i.i148.i277.i365 = icmp ult i32 %sub.i.i.i276.i364, 26 %sub.i3.i.i278.i366 = add nsw i32 %conv32.i274.i362, -48 %cmp.i4.i.i279.i367 = icmp ult i32 %sub.i3.i.i278.i366, 10 %spec.select.i149.i280.i368 = select i1 %cmp.i.i148.i277.i365, i1 true, i1 %cmp.i4.i.i279.i367 br i1 %spec.select.i149.i280.i368, label %while.body.i281.i382, label %while.end.i254.i369 while.body.i281.i382: ; preds = %land.rhs.i272.i360 %sub6.i.i282.i383 = add nsw i32 %or.i.i.i275.i363, -87 %spec.select.i154.i283.i384 = select i1 %cmp.i.i148.i277.i365, i32 %sub6.i.i282.i383, i32 0 %spec.select163.i284.i385 = select i1 %cmp.i4.i.i279.i367, i32 %sub.i3.i.i278.i366, i32 %spec.select.i154.i283.i384 %cmp36.not.not.i285.i386 = icmp slt i32 %spec.select163.i284.i385, 10 br i1 %cmp36.not.not.i285.i386, label %if.end38.i291.i392, label %cleanup.i286.i387 if.end38.i291.i392: ; preds = %while.body.i281.i382 %inc39.i292.i393 = add nuw i64 %src_cur.2.i250.i356, 1 %cmp40.i293.i394 = icmp eq i64 %result.0.i252.i358, %cond.i244.i353 br i1 %cmp40.i293.i394, label %cleanup.i286.i387, label %if.end42.i294.i395, !llvm.loop !79 if.end42.i294.i395: ; preds = %if.end38.i291.i392 %cmp43.i295.i396 = icmp ugt i64 %result.0.i252.i358, 214748364 %mul.i296.i397 = mul i64 %result.0.i252.i358, 10 %result.1.i297.i398 = select i1 %cmp43.i295.i396, i64 %cond.i244.i353, i64 %mul.i296.i397 %conv47.i298.i399 = sext i32 %spec.select163.i284.i385 to i64 %sub48.i299.i400 = sub nsw i64 %cond.i244.i353, %conv47.i298.i399 %cmp49.i300.i401 = icmp ugt i64 %result.1.i297.i398, %sub48.i299.i400 %add53.i301.i402 = add i64 %result.1.i297.i398, %conv47.i298.i399 %797 = or i1 %cmp43.i295.i396, %cmp49.i300.i401 %error_val.2.i302.i403 = select i1 %797, i32 34, i32 %error_val.0.i249.i355 %result.2.i303.i404 = select i1 %cmp49.i300.i401, i64 %cond.i244.i353, i64 %add53.i301.i402 br label %cleanup.i286.i387 cleanup.i286.i387: ; preds = %if.end42.i294.i395, %if.end38.i291.i392, %while.body.i281.i382 %error_val.3.i287.i388 = phi i32 [ %error_val.2.i302.i403, %if.end42.i294.i395 ], [ %error_val.0.i249.i355, %while.body.i281.i382 ], [ 34, %if.end38.i291.i392 ] %src_cur.3.i288.i389 = phi i64 [ %inc39.i292.i393, %if.end42.i294.i395 ], [ %src_cur.2.i250.i356, %while.body.i281.i382 ], [ %inc39.i292.i393, %if.end38.i291.i392 ] %is_number.1.off0.i289.i390 = phi i1 [ true, %if.end42.i294.i395 ], [ %is_number.0.off0.i251.i357, %while.body.i281.i382 ], [ true, %if.end38.i291.i392 ] %result.3.i290.i391 = phi i64 [ %result.2.i303.i404, %if.end42.i294.i395 ], [ %result.0.i252.i358, %while.body.i281.i382 ], [ %cond.i244.i353, %if.end38.i291.i392 ] br i1 %cmp36.not.not.i285.i386, label %while.cond.i248.i354, label %while.end.i254.i369 while.end.i254.i369: ; preds = %cleanup.i286.i387, %land.rhs.i272.i360, %while.cond.i248.i354 %error_val.4.i255.i370 = phi i32 [ %error_val.3.i287.i388, %cleanup.i286.i387 ], [ %error_val.0.i249.i355, %land.rhs.i272.i360 ], [ %error_val.0.i249.i355, %while.cond.i248.i354 ] %src_cur.4.i256.i371 = phi i64 [ %src_cur.3.i288.i389, %cleanup.i286.i387 ], [ %src_cur.2.i250.i356, %land.rhs.i272.i360 ], [ -1, %while.cond.i248.i354 ] %is_number.2.off0.i257.i372 = phi i1 [ %is_number.1.off0.i289.i390, %cleanup.i286.i387 ], [ %is_number.0.off0.i251.i357, %land.rhs.i272.i360 ], [ %is_number.0.off0.i251.i357, %while.cond.i248.i354 ] %result.4.i258.i373 = phi i64 [ %result.3.i290.i391, %cleanup.i286.i387 ], [ %result.0.i252.i358, %land.rhs.i272.i360 ], [ %result.0.i252.i358, %while.cond.i248.i354 ] %cond56.i259.i374 = select i1 %is_number.2.off0.i257.i372, i64 %src_cur.4.i256.i371, i64 0 %cmp57.i260.i375 = icmp eq i32 %error_val.4.i255.i370, 34 %conv67.i262.i376 = trunc i64 %result.4.i258.i373 to i32 %sub70.i263.i377 = sub i32 0, %conv67.i262.i376 %cond72.i264.i378 = select i1 %result_sign.0.i242.i351, i32 %conv67.i262.i376, i32 %sub70.i263.i377 %..i271.i379 = select i1 %result_sign.0.i242.i351, i32 2147483647, i32 -2147483648 %retval.sroa.0.0.i266.i380 = select i1 %cmp57.i260.i375, i32 %..i271.i379, i32 %cond72.i264.i378 %add78.i381 = add i64 %cond56.i259.i374, %inc47.i331 store i64 %add78.i381, ptr %0, align 8, !tbaa !72 br label %if.end82.i150 if.end82.i150: ; preds = %while.end.i254.i369, %if.else61.i334, %if.then54.i405, %if.end29.i143 %798 = phi i64 [ %inc56.i406, %if.then54.i405 ], [ %add78.i381, %while.end.i254.i369 ], [ %inc47.i331, %if.else61.i334 ], [ %787, %if.end29.i143 ] %retval.sroa.41.0.i151 = phi i32 [ %792, %if.then54.i405 ], [ %retval.sroa.0.0.i266.i380, %while.end.i254.i369 ], [ 0, %if.else61.i334 ], [ -1, %if.end29.i143 ] %arrayidx.i305.i152 = getelementptr inbounds i8, ptr %769, i64 %798 %799 = load i8, ptr %arrayidx.i305.i152, align 1, !tbaa !26 switch i8 %799, label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 [ i8 108, label %sw.bb.i312.i323 i8 119, label %sw.bb8.i308.i242 i8 104, label %sw.bb34.i.i235 i8 76, label %sw.bb48.i.i233 i8 106, label %sw.bb52.i.i231 i8 122, label %sw.bb56.i.i229 i8 116, label %sw.bb60.i.i153 ] sw.bb.i312.i323: ; preds = %if.end82.i150 %add.i.i324 = add i64 %798, 1 %arrayidx3.i.i325 = getelementptr inbounds i8, ptr %769, i64 %add.i.i324 %800 = load i8, ptr %arrayidx3.i.i325, align 1, !tbaa !26 %cmp.i313.i326 = icmp eq i8 %800, 108 br i1 %cmp.i313.i326, label %if.then.i314.i328, label %if.else.i.i327 if.then.i314.i328: ; preds = %sw.bb.i312.i323 %add5.i.i329 = add i64 %798, 2 store i64 %add5.i.i329, ptr %0, align 8, !tbaa !57 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 if.else.i.i327: ; preds = %sw.bb.i312.i323 store i64 %add.i.i324, ptr %0, align 8, !tbaa !57 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 sw.bb8.i308.i242: ; preds = %if.end82.i150 %add11.i.i243 = add i64 %798, 1 %arrayidx12.i.i244 = getelementptr inbounds i8, ptr %769, i64 %add11.i.i243 %801 = load i8, ptr %arrayidx12.i.i244, align 1, !tbaa !26 %cmp14.i.i245 = icmp eq i8 %801, 102 %add16.i.i246 = add i64 %798, 2 %storemerge.i.i247 = select i1 %cmp14.i.i245, i64 %add16.i.i246, i64 %add11.i.i243 %lm9.0.i.i248 = select i1 %cmp14.i.i245, i32 9, i32 8 store i64 %storemerge.i.i247, ptr %0, align 8, !tbaa !57 %arrayidx20.i.i249 = getelementptr inbounds i8, ptr %769, i64 %storemerge.i.i247 %802 = load i8, ptr %arrayidx20.i.i249, align 1, !tbaa !26 %conv21.i.i250 = sext i8 %802 to i32 %sub.i.i.i251 = add nsw i32 %conv21.i.i250, -48 %cmp.i.i.i252 = icmp ult i32 %sub.i.i.i251, 10 br i1 %cmp.i.i.i252, label %land.rhs.i.i.i.i253, label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 land.rhs.i.i.i.i253: ; preds = %while.body.i.i.i.i256, %sw.bb8.i308.i242 %src_cur.06.i.i.i.i254 = phi i64 [ %inc.i.i.i.i257, %while.body.i.i.i.i256 ], [ 0, %sw.bb8.i308.i242 ] %arrayidx.i.i.i.i255 = getelementptr inbounds i8, ptr %arrayidx20.i.i249, i64 %src_cur.06.i.i.i.i254 %803 = load i8, ptr %arrayidx.i.i.i.i255, align 1, !tbaa !26, !alias.scope !323 switch i8 %803, label %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i.i262 [ i8 32, label %while.body.i.i.i.i256 i8 13, label %while.body.i.i.i.i256 i8 12, label %while.body.i.i.i.i256 i8 11, label %while.body.i.i.i.i256 i8 10, label %while.body.i.i.i.i256 i8 9, label %while.body.i.i.i.i256 ] while.body.i.i.i.i256: ; preds = %land.rhs.i.i.i.i253, %land.rhs.i.i.i.i253, %land.rhs.i.i.i.i253, %land.rhs.i.i.i.i253, %land.rhs.i.i.i.i253, %land.rhs.i.i.i.i253 %inc.i.i.i.i257 = add nuw i64 %src_cur.06.i.i.i.i254, 1 %exitcond.not.i.i.i.i258 = icmp eq i64 %inc.i.i.i.i257, -1 br i1 %exitcond.not.i.i.i.i258, label %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i.i259, label %land.rhs.i.i.i.i253, !llvm.loop !78 while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i.i259: ; preds = %while.body.i.i.i.i256 %add.ptr.i.phi.trans.insert.i.i.i260 = getelementptr inbounds i8, ptr %arrayidx20.i.i249, i64 -1 %.pre.i.i.i261 = load i8, ptr %add.ptr.i.phi.trans.insert.i.i.i260, align 1, !tbaa !26, !alias.scope !323 br label %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i.i262 _ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i.i262: ; preds = %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i.i259, %land.rhs.i.i.i.i253 %804 = phi i8 [ %.pre.i.i.i261, %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i.i259 ], [ %803, %land.rhs.i.i.i.i253 ] %src_cur.0.lcssa.i.i.i.i263 = phi i64 [ -1, %while.body.i._ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit_crit_edge.i.i.i259 ], [ %src_cur.06.i.i.i.i254, %land.rhs.i.i.i.i253 ] switch i8 %804, label %if.end14.i.i.i266 [ i8 43, label %if.then12.i.i.i264 i8 45, label %if.then12.i.i.i264 ] if.then12.i.i.i264: ; preds = %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i.i262, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i.i262 %inc.i.i309.i265 = add i64 %src_cur.0.lcssa.i.i.i.i263, 1 %805 = icmp eq i8 %804, 43 br label %if.end14.i.i.i266 if.end14.i.i.i266: ; preds = %if.then12.i.i.i264, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i.i262 %result_sign.0.i.i.i267 = phi i1 [ %805, %if.then12.i.i.i264 ], [ true, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i.i262 ] %src_cur.0.i.i.i268 = phi i64 [ %inc.i.i309.i265, %if.then12.i.i.i264 ], [ %src_cur.0.lcssa.i.i.i.i263, %_ZN22__llvm_libc_19_0_0_git8internal20first_non_whitespaceEPKcm.exit.i.i.i262 ] %cond.i.i.i269 = select i1 %result_sign.0.i.i.i267, i64 2147483647, i64 2147483648 br label %while.cond.i.i.i270 while.cond.i.i.i270: ; preds = %cleanup.i.i.i305, %if.end14.i.i.i266 %error_val.0.i.i.i271 = phi i32 [ 0, %if.end14.i.i.i266 ], [ %error_val.3.i.i.i306, %cleanup.i.i.i305 ] %src_cur.2.i.i.i272 = phi i64 [ %src_cur.0.i.i.i268, %if.end14.i.i.i266 ], [ %src_cur.3.i.i.i307, %cleanup.i.i.i305 ] %is_number.0.off0.i.i.i273 = phi i1 [ false, %if.end14.i.i.i266 ], [ %is_number.1.off0.i.i.i308, %cleanup.i.i.i305 ] %result.0.i.i.i274 = phi i64 [ 0, %if.end14.i.i.i266 ], [ %result.3.i.i.i309, %cleanup.i.i.i305 ] %cmp30.i.not.i.i275 = icmp eq i64 %src_cur.2.i.i.i272, -1 br i1 %cmp30.i.not.i.i275, label %while.end.i.i.i285, label %land.rhs.i.i310.i276 land.rhs.i.i310.i276: ; preds = %while.cond.i.i.i270 %arrayidx31.i.i.i277 = getelementptr inbounds i8, ptr %arrayidx20.i.i249, i64 %src_cur.2.i.i.i272 %806 = load i8, ptr %arrayidx31.i.i.i277, align 1, !tbaa !26, !alias.scope !323 %conv32.i.i.i278 = sext i8 %806 to i32 %or.i.i.i.i.i279 = or i32 %conv32.i.i.i278, 32 %sub.i.i.i.i.i280 = add nsw i32 %or.i.i.i.i.i279, -97 %cmp.i.i148.i.i.i281 = icmp ult i32 %sub.i.i.i.i.i280, 26 %sub.i3.i.i.i.i282 = add nsw i32 %conv32.i.i.i278, -48 %cmp.i4.i.i.i.i283 = icmp ult i32 %sub.i3.i.i.i.i282, 10 %spec.select.i149.i.i.i284 = select i1 %cmp.i.i148.i.i.i281, i1 true, i1 %cmp.i4.i.i.i.i283 br i1 %spec.select.i149.i.i.i284, label %while.body.i.i311.i300, label %while.end.i.i.i285 while.body.i.i311.i300: ; preds = %land.rhs.i.i310.i276 %sub6.i.i.i.i301 = add nsw i32 %or.i.i.i.i.i279, -87 %spec.select.i154.i.i.i302 = select i1 %cmp.i.i148.i.i.i281, i32 %sub6.i.i.i.i301, i32 0 %spec.select163.i.i.i303 = select i1 %cmp.i4.i.i.i.i283, i32 %sub.i3.i.i.i.i282, i32 %spec.select.i154.i.i.i302 %cmp36.not.not.i.i.i304 = icmp slt i32 %spec.select163.i.i.i303, 10 br i1 %cmp36.not.not.i.i.i304, label %if.end38.i.i.i310, label %cleanup.i.i.i305 if.end38.i.i.i310: ; preds = %while.body.i.i311.i300 %inc39.i.i.i311 = add nuw i64 %src_cur.2.i.i.i272, 1 %cmp40.i.i.i312 = icmp eq i64 %result.0.i.i.i274, %cond.i.i.i269 br i1 %cmp40.i.i.i312, label %cleanup.i.i.i305, label %if.end42.i.i.i313, !llvm.loop !79 if.end42.i.i.i313: ; preds = %if.end38.i.i.i310 %cmp43.i.i.i314 = icmp ugt i64 %result.0.i.i.i274, 214748364 %mul.i.i.i315 = mul i64 %result.0.i.i.i274, 10 %result.1.i.i.i316 = select i1 %cmp43.i.i.i314, i64 %cond.i.i.i269, i64 %mul.i.i.i315 %conv47.i.i.i317 = sext i32 %spec.select163.i.i.i303 to i64 %sub48.i.i.i318 = sub nsw i64 %cond.i.i.i269, %conv47.i.i.i317 %cmp49.i.i.i319 = icmp ugt i64 %result.1.i.i.i316, %sub48.i.i.i318 %add53.i.i.i320 = add i64 %result.1.i.i.i316, %conv47.i.i.i317 %807 = or i1 %cmp43.i.i.i314, %cmp49.i.i.i319 %error_val.2.i.i.i321 = select i1 %807, i32 34, i32 %error_val.0.i.i.i271 %result.2.i.i.i322 = select i1 %cmp49.i.i.i319, i64 %cond.i.i.i269, i64 %add53.i.i.i320 br label %cleanup.i.i.i305 cleanup.i.i.i305: ; preds = %if.end42.i.i.i313, %if.end38.i.i.i310, %while.body.i.i311.i300 %error_val.3.i.i.i306 = phi i32 [ %error_val.2.i.i.i321, %if.end42.i.i.i313 ], [ %error_val.0.i.i.i271, %while.body.i.i311.i300 ], [ 34, %if.end38.i.i.i310 ] %src_cur.3.i.i.i307 = phi i64 [ %inc39.i.i.i311, %if.end42.i.i.i313 ], [ %src_cur.2.i.i.i272, %while.body.i.i311.i300 ], [ %inc39.i.i.i311, %if.end38.i.i.i310 ] %is_number.1.off0.i.i.i308 = phi i1 [ true, %if.end42.i.i.i313 ], [ %is_number.0.off0.i.i.i273, %while.body.i.i311.i300 ], [ true, %if.end38.i.i.i310 ] %result.3.i.i.i309 = phi i64 [ %result.2.i.i.i322, %if.end42.i.i.i313 ], [ %result.0.i.i.i274, %while.body.i.i311.i300 ], [ %cond.i.i.i269, %if.end38.i.i.i310 ] br i1 %cmp36.not.not.i.i.i304, label %while.cond.i.i.i270, label %while.end.i.i.i285 while.end.i.i.i285: ; preds = %cleanup.i.i.i305, %land.rhs.i.i310.i276, %while.cond.i.i.i270 %error_val.4.i.i.i286 = phi i32 [ %error_val.3.i.i.i306, %cleanup.i.i.i305 ], [ %error_val.0.i.i.i271, %land.rhs.i.i310.i276 ], [ %error_val.0.i.i.i271, %while.cond.i.i.i270 ] %src_cur.4.i.i.i287 = phi i64 [ %src_cur.3.i.i.i307, %cleanup.i.i.i305 ], [ %src_cur.2.i.i.i272, %land.rhs.i.i310.i276 ], [ -1, %while.cond.i.i.i270 ] %is_number.2.off0.i.i.i288 = phi i1 [ %is_number.1.off0.i.i.i308, %cleanup.i.i.i305 ], [ %is_number.0.off0.i.i.i273, %land.rhs.i.i310.i276 ], [ %is_number.0.off0.i.i.i273, %while.cond.i.i.i270 ] %result.4.i.i.i289 = phi i64 [ %result.3.i.i.i309, %cleanup.i.i.i305 ], [ %result.0.i.i.i274, %land.rhs.i.i310.i276 ], [ %result.0.i.i.i274, %while.cond.i.i.i270 ] %cond56.i.i.i290 = select i1 %is_number.2.off0.i.i.i288, i64 %src_cur.4.i.i.i287, i64 0 %cmp57.i.i.i291 = icmp eq i32 %error_val.4.i.i.i286, 34 %conv67.i.i.i292 = trunc i64 %result.4.i.i.i289 to i32 %sub70.i.i.i293 = sub i32 0, %conv67.i.i.i292 %cond72.i.i.i294 = select i1 %result_sign.0.i.i.i267, i32 %conv67.i.i.i292, i32 %sub70.i.i.i293 %..i.i.i295 = select i1 %result_sign.0.i.i.i267, i32 2147483647, i32 -2147483648 %retval.sroa.0.0.i.i.i296 = select i1 %cmp57.i.i.i291, i32 %..i.i.i295, i32 %cond72.i.i.i294 %add26.i.i297 = add i64 %cond56.i.i.i290, %storemerge.i.i247 store i64 %add26.i.i297, ptr %0, align 8, !tbaa !57 %.sroa.speculated.i.i298 = call i32 @llvm.smax.i32(i32 %retval.sroa.0.0.i.i.i296, i32 0) %conv30.i.i299 = zext nneg i32 %.sroa.speculated.i.i298 to i64 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 sw.bb34.i.i235: ; preds = %if.end82.i150 %add36.i.i236 = add i64 %798, 1 %arrayidx37.i.i237 = getelementptr inbounds i8, ptr %769, i64 %add36.i.i236 %808 = load i8, ptr %arrayidx37.i.i237, align 1, !tbaa !26 %cmp39.i.i238 = icmp eq i8 %808, 104 br i1 %cmp39.i.i238, label %if.then40.i.i240, label %if.else44.i.i239 if.then40.i.i240: ; preds = %sw.bb34.i.i235 %add41.i.i241 = add i64 %798, 2 store i64 %add41.i.i241, ptr %0, align 8, !tbaa !57 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 if.else44.i.i239: ; preds = %sw.bb34.i.i235 store i64 %add36.i.i236, ptr %0, align 8, !tbaa !57 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 sw.bb48.i.i233: ; preds = %if.end82.i150 %inc49.i.i234 = add i64 %798, 1 store i64 %inc49.i.i234, ptr %0, align 8, !tbaa !57 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 sw.bb52.i.i231: ; preds = %if.end82.i150 %inc53.i.i232 = add i64 %798, 1 store i64 %inc53.i.i232, ptr %0, align 8, !tbaa !57 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 sw.bb56.i.i229: ; preds = %if.end82.i150 %inc57.i.i230 = add i64 %798, 1 store i64 %inc57.i.i230, ptr %0, align 8, !tbaa !57 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 sw.bb60.i.i153: ; preds = %if.end82.i150 %inc61.i.i154 = add i64 %798, 1 store i64 %inc61.i.i154, ptr %0, align 8, !tbaa !57 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 _ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155: ; preds = %sw.bb60.i.i153, %sw.bb56.i.i229, %sw.bb52.i.i231, %sw.bb48.i.i233, %if.else44.i.i239, %if.then40.i.i240, %while.end.i.i.i285, %sw.bb8.i308.i242, %if.else.i.i327, %if.then.i314.i328, %if.end82.i150 %809 = phi i64 [ %inc61.i.i154, %sw.bb60.i.i153 ], [ %inc57.i.i230, %sw.bb56.i.i229 ], [ %inc53.i.i232, %sw.bb52.i.i231 ], [ %inc49.i.i234, %sw.bb48.i.i233 ], [ %add41.i.i241, %if.then40.i.i240 ], [ %add36.i.i236, %if.else44.i.i239 ], [ %add5.i.i329, %if.then.i314.i328 ], [ %add.i.i324, %if.else.i.i327 ], [ %storemerge.i.i247, %sw.bb8.i308.i242 ], [ %add26.i.i297, %while.end.i.i.i285 ], [ %798, %if.end82.i150 ] %retval.sroa.0.1.i.i156 = phi i32 [ 6, %sw.bb60.i.i153 ], [ 5, %sw.bb56.i.i229 ], [ 4, %sw.bb52.i.i231 ], [ 7, %sw.bb48.i.i233 ], [ 0, %if.then40.i.i240 ], [ 1, %if.else44.i.i239 ], [ 3, %if.then.i314.i328 ], [ 2, %if.else.i.i327 ], [ %lm9.0.i.i248, %sw.bb8.i308.i242 ], [ %lm9.0.i.i248, %while.end.i.i.i285 ], [ 10, %if.end82.i150 ] %retval.sroa.12.1.i.i157 = phi i64 [ 0, %sw.bb60.i.i153 ], [ 0, %sw.bb56.i.i229 ], [ 0, %sw.bb52.i.i231 ], [ 0, %sw.bb48.i.i233 ], [ 0, %if.then40.i.i240 ], [ 0, %if.else44.i.i239 ], [ 0, %if.then.i314.i328 ], [ 0, %if.else.i.i327 ], [ 0, %sw.bb8.i308.i242 ], [ %conv30.i.i299, %while.end.i.i.i285 ], [ 0, %if.end82.i150 ] %arrayidx87.i158 = getelementptr inbounds i8, ptr %769, i64 %809 %810 = load i8, ptr %arrayidx87.i158, align 1, !tbaa !26 switch i8 %810, label %sw.default.i228 [ i8 37, label %sw.epilog181.i164 i8 99, label %sw.bb94.i222 i8 100, label %sw.bb99.i176 i8 105, label %sw.bb99.i176 i8 111, label %sw.bb99.i176 i8 120, label %sw.bb99.i176 i8 88, label %sw.bb99.i176 i8 117, label %sw.bb99.i176 i8 98, label %sw.bb99.i176 i8 66, label %sw.bb99.i176 i8 112, label %sw.bb171.i171 i8 115, label %sw.bb175.i159 ] sw.bb94.i222: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 %argp.cur.i.i316.i224 = load ptr, ptr %1, align 8 %811 = getelementptr inbounds i8, ptr %argp.cur.i.i316.i224, i64 3 %argp.cur.aligned.i.i317.i225 = call align 4 ptr @llvm.ptrmask.p0.i64(ptr nonnull %811, i64 -4) %argp.next.i.i318.i226 = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i317.i225, i64 4 store ptr %argp.next.i.i318.i226, ptr %1, align 8 %812 = load i32, ptr %argp.cur.aligned.i.i317.i225, align 4, !tbaa !74 %conv98.i227 = sext i32 %812 to i64 br label %sw.epilog181.i164 sw.bb99.i176: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 switch i32 %retval.sroa.0.1.i.i156, label %default.unreachable [ i32 0, label %sw.bb101.i215 i32 1, label %sw.bb101.i215 i32 10, label %sw.bb101.i215 i32 2, label %sw.bb107.i210 i32 3, label %sw.bb112.i205 i32 7, label %sw.bb112.i205 i32 4, label %sw.bb117.i200 i32 5, label %sw.bb122.i195 i32 6, label %sw.bb127.i190 i32 8, label %sw.bb132.i177 i32 9, label %sw.bb132.i177 ] sw.bb101.i215: ; preds = %sw.bb99.i176, %sw.bb99.i176, %sw.bb99.i176 %argp.cur.i.i320.i217 = load ptr, ptr %1, align 8 %813 = getelementptr inbounds i8, ptr %argp.cur.i.i320.i217, i64 3 %argp.cur.aligned.i.i321.i218 = call align 4 ptr @llvm.ptrmask.p0.i64(ptr nonnull %813, i64 -4) %argp.next.i.i322.i219 = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i321.i218, i64 4 store ptr %argp.next.i.i322.i219, ptr %1, align 8 %814 = load i32, ptr %argp.cur.aligned.i.i321.i218, align 4, !tbaa !74 %conv105.i220 = sext i32 %814 to i64 br label %sw.epilog181.i164 sw.bb107.i210: ; preds = %sw.bb99.i176 %argp.cur.i.i324.i212 = load ptr, ptr %1, align 8 %815 = getelementptr inbounds i8, ptr %argp.cur.i.i324.i212, i64 7 %argp.cur.aligned.i.i325.i213 = call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %815, i64 -8) %argp.next.i.i326.i214 = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i325.i213, i64 8 store ptr %argp.next.i.i326.i214, ptr %1, align 8 %816 = load i64, ptr %argp.cur.aligned.i.i325.i213, align 8, !tbaa !57 br label %sw.epilog181.i164 sw.bb112.i205: ; preds = %sw.bb99.i176, %sw.bb99.i176 %argp.cur.i.i328.i207 = load ptr, ptr %1, align 8 %817 = getelementptr inbounds i8, ptr %argp.cur.i.i328.i207, i64 7 %argp.cur.aligned.i.i329.i208 = call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %817, i64 -8) %argp.next.i.i330.i209 = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i329.i208, i64 8 store ptr %argp.next.i.i330.i209, ptr %1, align 8 %818 = load i64, ptr %argp.cur.aligned.i.i329.i208, align 8, !tbaa !42 br label %sw.epilog181.i164 sw.bb117.i200: ; preds = %sw.bb99.i176 %argp.cur.i.i332.i202 = load ptr, ptr %1, align 8 %819 = getelementptr inbounds i8, ptr %argp.cur.i.i332.i202, i64 7 %argp.cur.aligned.i.i333.i203 = call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %819, i64 -8) %argp.next.i.i334.i204 = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i333.i203, i64 8 store ptr %argp.next.i.i334.i204, ptr %1, align 8 %820 = load i64, ptr %argp.cur.aligned.i.i333.i203, align 8, !tbaa !42 br label %sw.epilog181.i164 sw.bb122.i195: ; preds = %sw.bb99.i176 %argp.cur.i.i336.i197 = load ptr, ptr %1, align 8 %821 = getelementptr inbounds i8, ptr %argp.cur.i.i336.i197, i64 7 %argp.cur.aligned.i.i337.i198 = call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %821, i64 -8) %argp.next.i.i338.i199 = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i337.i198, i64 8 store ptr %argp.next.i.i338.i199, ptr %1, align 8 %822 = load i64, ptr %argp.cur.aligned.i.i337.i198, align 8, !tbaa !57 br label %sw.epilog181.i164 sw.bb127.i190: ; preds = %sw.bb99.i176 %argp.cur.i.i340.i192 = load ptr, ptr %1, align 8 %823 = getelementptr inbounds i8, ptr %argp.cur.i.i340.i192, i64 7 %argp.cur.aligned.i.i341.i193 = call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %823, i64 -8) %argp.next.i.i342.i194 = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i341.i193, i64 8 store ptr %argp.next.i.i342.i194, ptr %1, align 8 %824 = load i64, ptr %argp.cur.aligned.i.i341.i193, align 8, !tbaa !57 br label %sw.epilog181.i164 sw.bb132.i177: ; preds = %sw.bb99.i176, %sw.bb99.i176 %cmp134.i178 = icmp eq i64 %retval.sroa.12.1.i.i157, 0 br i1 %cmp134.i178, label %sw.epilog181.i164, label %if.else137.i179 if.else137.i179: ; preds = %sw.bb132.i177 %cmp139.i180 = icmp ult i64 %retval.sroa.12.1.i.i157, 33 %argp.cur.i.i344.i182 = load ptr, ptr %1, align 8 br i1 %cmp139.i180, label %if.then140.i186, label %if.else146.i183 if.then140.i186: ; preds = %if.else137.i179 %825 = getelementptr inbounds i8, ptr %argp.cur.i.i344.i182, i64 3 %argp.cur.aligned.i.i345.i187 = call align 4 ptr @llvm.ptrmask.p0.i64(ptr nonnull %825, i64 -4) %argp.next.i.i346.i188 = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i345.i187, i64 4 store ptr %argp.next.i.i346.i188, ptr %1, align 8 %826 = load i32, ptr %argp.cur.aligned.i.i345.i187, align 4, !tbaa !74 %conv144.i189 = sext i32 %826 to i64 br label %sw.epilog181.i164 if.else146.i183: ; preds = %if.else137.i179 %827 = getelementptr inbounds i8, ptr %argp.cur.i.i344.i182, i64 7 %argp.cur.aligned.i.i349.i184 = call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %827, i64 -8) %argp.next.i.i350.i185 = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i349.i184, i64 8 store ptr %argp.next.i.i350.i185, ptr %1, align 8 %828 = load i64, ptr %argp.cur.aligned.i.i349.i184, align 8, !tbaa !26 br label %sw.epilog181.i164 sw.bb171.i171: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 %argp.cur.i.i356.i173 = load ptr, ptr %1, align 8 %829 = getelementptr inbounds i8, ptr %argp.cur.i.i356.i173, i64 7 %argp.cur.aligned.i.i357.i174 = call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %829, i64 -8) %argp.next.i.i358.i175 = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i357.i174, i64 8 store ptr %argp.next.i.i358.i175, ptr %1, align 8 %830 = load ptr, ptr %argp.cur.aligned.i.i357.i174, align 8, !tbaa !11 br label %sw.epilog181.i164 sw.bb175.i159: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 %argp.cur.i.i360.i161 = load ptr, ptr %1, align 8 %831 = getelementptr inbounds i8, ptr %argp.cur.i.i360.i161, i64 7 %argp.cur.aligned.i.i361.i162 = call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %831, i64 -8) %argp.next.i.i362.i163 = getelementptr inbounds i8, ptr %argp.cur.aligned.i.i361.i162, i64 8 store ptr %argp.next.i.i362.i163, ptr %1, align 8 %832 = load ptr, ptr %argp.cur.aligned.i.i361.i162, align 8, !tbaa !11 br label %sw.epilog181.i164 sw.default.i228: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 br label %sw.epilog181.i164 sw.epilog181.i164: ; preds = %sw.default.i228, %sw.bb175.i159, %sw.bb171.i171, %if.else146.i183, %if.then140.i186, %sw.bb132.i177, %sw.bb127.i190, %sw.bb122.i195, %sw.bb117.i200, %sw.bb112.i205, %sw.bb107.i210, %sw.bb101.i215, %sw.bb94.i222, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 %retval.sroa.58.0.i165 = phi ptr [ inttoptr (i64 -6148914691236517206 to ptr), %sw.default.i228 ], [ %832, %sw.bb175.i159 ], [ %830, %sw.bb171.i171 ], [ inttoptr (i64 -6148914691236517206 to ptr), %if.then140.i186 ], [ inttoptr (i64 -6148914691236517206 to ptr), %sw.bb127.i190 ], [ inttoptr (i64 -6148914691236517206 to ptr), %sw.bb122.i195 ], [ inttoptr (i64 -6148914691236517206 to ptr), %sw.bb117.i200 ], [ inttoptr (i64 -6148914691236517206 to ptr), %sw.bb112.i205 ], [ inttoptr (i64 -6148914691236517206 to ptr), %sw.bb107.i210 ], [ inttoptr (i64 -6148914691236517206 to ptr), %sw.bb101.i215 ], [ inttoptr (i64 -6148914691236517206 to ptr), %sw.bb94.i222 ], [ inttoptr (i64 -6148914691236517206 to ptr), %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 ], [ inttoptr (i64 -6148914691236517206 to ptr), %sw.bb132.i177 ], [ inttoptr (i64 -6148914691236517206 to ptr), %if.else146.i183 ] %retval.sroa.47.0.i166 = phi i64 [ -6148914691236517206, %sw.default.i228 ], [ -6148914691236517206, %sw.bb175.i159 ], [ -6148914691236517206, %sw.bb171.i171 ], [ %conv144.i189, %if.then140.i186 ], [ %824, %sw.bb127.i190 ], [ %822, %sw.bb122.i195 ], [ %820, %sw.bb117.i200 ], [ %818, %sw.bb112.i205 ], [ %816, %sw.bb107.i210 ], [ %conv105.i220, %sw.bb101.i215 ], [ %conv98.i227, %sw.bb94.i222 ], [ -6148914691236517206, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 ], [ -6148914691236517206, %sw.bb132.i177 ], [ %828, %if.else146.i183 ] %retval.sroa.0.0.i167.off0 = phi i1 [ false, %sw.default.i228 ], [ true, %sw.bb175.i159 ], [ true, %sw.bb171.i171 ], [ true, %if.then140.i186 ], [ true, %sw.bb127.i190 ], [ true, %sw.bb122.i195 ], [ true, %sw.bb117.i200 ], [ true, %sw.bb112.i205 ], [ true, %sw.bb107.i210 ], [ true, %sw.bb101.i215 ], [ true, %sw.bb94.i222 ], [ true, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE21parse_length_modifierEPm.exit.i155 ], [ false, %sw.bb132.i177 ], [ true, %if.else146.i183 ] %833 = load i8, ptr %arrayidx87.i158, align 1, !tbaa !26 %cmp186.not.i168 = icmp eq i8 %833, 0 br i1 %cmp186.not.i168, label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491, label %if.then187.i169 if.then187.i169: ; preds = %sw.epilog181.i164 %inc189.i170 = add i64 %809, 1 store i64 %inc189.i170, ptr %0, align 8, !tbaa !72 br label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491 while.cond.i83: ; preds = %while.body.i122, %for.inc %834 = phi i8 [ %.pre.i125, %while.body.i122 ], [ %770, %for.inc ] %835 = phi i64 [ %inc204.i123, %while.body.i122 ], [ %768, %for.inc ] switch i8 %834, label %while.body.i122 [ i8 37, label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491 i8 0, label %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491 ] while.body.i122: ; preds = %while.cond.i83 %inc204.i123 = add i64 %835, 1 store i64 %inc204.i123, ptr %0, align 8, !tbaa !72 %arrayidx195.phi.trans.insert.i124 = getelementptr inbounds i8, ptr %769, i64 %inc204.i123 %.pre.i125 = load i8, ptr %arrayidx195.phi.trans.insert.i124, align 1, !tbaa !26 br label %while.cond.i83, !llvm.loop !86 _ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491: ; preds = %while.cond.i83, %while.cond.i83, %if.then187.i169, %sw.epilog181.i164 %836 = phi i64 [ %809, %sw.epilog181.i164 ], [ %inc189.i170, %if.then187.i169 ], [ %835, %while.cond.i83 ], [ %835, %while.cond.i83 ] %retval.sroa.61.0.i84 = phi i8 [ %810, %sw.epilog181.i164 ], [ %810, %if.then187.i169 ], [ -86, %while.cond.i83 ], [ -86, %while.cond.i83 ] %retval.sroa.58.1.i85 = phi ptr [ %retval.sroa.58.0.i165, %sw.epilog181.i164 ], [ %retval.sroa.58.0.i165, %if.then187.i169 ], [ inttoptr (i64 -6148914691236517206 to ptr), %while.cond.i83 ], [ inttoptr (i64 -6148914691236517206 to ptr), %while.cond.i83 ] %retval.sroa.47.1.i86 = phi i64 [ %retval.sroa.47.0.i166, %sw.epilog181.i164 ], [ %retval.sroa.47.0.i166, %if.then187.i169 ], [ -6148914691236517206, %while.cond.i83 ], [ -6148914691236517206, %while.cond.i83 ] %retval.sroa.41.1.i87 = phi i32 [ %retval.sroa.41.0.i151, %sw.epilog181.i164 ], [ %retval.sroa.41.0.i151, %if.then187.i169 ], [ -1, %while.cond.i83 ], [ -1, %while.cond.i83 ] %retval.sroa.34.2.i88 = phi i32 [ %spec.select.i145, %sw.epilog181.i164 ], [ %spec.select.i145, %if.then187.i169 ], [ 0, %while.cond.i83 ], [ 0, %while.cond.i83 ] %retval.sroa.31.0.i89 = phi i64 [ %retval.sroa.12.1.i.i157, %sw.epilog181.i164 ], [ %retval.sroa.12.1.i.i157, %if.then187.i169 ], [ 0, %while.cond.i83 ], [ 0, %while.cond.i83 ] %retval.sroa.28.0.i90 = phi i32 [ %retval.sroa.0.1.i.i156, %sw.epilog181.i164 ], [ %retval.sroa.0.1.i.i156, %if.then187.i169 ], [ 10, %while.cond.i83 ], [ 10, %while.cond.i83 ] %retval.sroa.20.1.i91 = phi i8 [ %spec.select365.i147, %sw.epilog181.i164 ], [ %spec.select365.i147, %if.then187.i169 ], [ 0, %while.cond.i83 ], [ 0, %while.cond.i83 ] %retval.sroa.0.1.i92.off0 = phi i1 [ %retval.sroa.0.0.i167.off0, %sw.epilog181.i164 ], [ %retval.sroa.0.0.i167.off0, %if.then187.i169 ], [ false, %while.cond.i83 ], [ false, %while.cond.i83 ] %sub210.i93 = sub i64 %836, %768 %cmp.i71 = icmp eq i64 %sub210.i93, 0 br i1 %cmp.i71, label %cleanup9, label %for.body, !llvm.loop !326 cleanup9: ; preds = %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit491, %if.end, %_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEE16get_next_sectionEv.exit call void @llvm.va_end.p0(ptr nonnull %1) call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %parser) #18 ret void } ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write) declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #15 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare ptr @llvm.ptrmask.p0.i64(ptr, i64) #5 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare i32 @llvm.abs.i32(i32, i1 immarg) #5 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare i32 @llvm.smax.i32(i32, i32) #5 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare i64 @llvm.abs.i64(i64, i1 immarg) #5 ; Function Attrs: convergent mustprogress noreturn nounwind define internal fastcc void @_ZN22__llvm_libc_19_0_0_git8internal4exitEi(i32 noundef %status) unnamed_addr #14 { entry: %status.addr = alloca i32, align 4 %port = alloca %"struct.__llvm_libc_19_0_0_git::rpc::Port", align 8 store i32 %status, ptr %status.addr, align 4, !tbaa !74 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %port) #18 %0 = getelementptr inbounds i8, ptr %port, i64 8 %1 = getelementptr inbounds i8, ptr %port, i64 16 %2 = getelementptr inbounds i8, ptr %port, i64 20 %3 = getelementptr inbounds i8, ptr %port, i64 24 %4 = getelementptr inbounds i8, ptr %port, i64 28 %5 = getelementptr inbounds i8, ptr %port, i64 29 %6 = getelementptr inbounds i8, ptr %port, i64 30 %7 = getelementptr inbounds i8, ptr %port, i64 31 %call = tail call fastcc <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> @_ZN22__llvm_libc_19_0_0_git3rpc6Client4openILt1EEENS0_4PortILb0EEEv() #24 %newret = extractvalue <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> %call, 0 %newret1 = extractvalue <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> %call, 1 %newret3 = extractvalue <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> %call, 2 %newret5 = extractvalue <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> %call, 3 %newret7 = extractvalue <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> %call, 4 %newret9 = extractvalue <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> %call, 5 %newret11 = extractvalue <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> %call, 6 %newret13 = extractvalue <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> %call, 7 store ptr %newret, ptr %port, align 8 store i64 %newret1, ptr %0, align 8 store i32 %newret3, ptr %1, align 8 store i32 %newret5, ptr %2, align 4 store i32 %newret7, ptr %3, align 8 store i8 %newret9, ptr %4, align 4 store i8 %newret11, ptr %5, align 1 %.fca.0.extract = extractvalue [2 x i8] %newret13, 0 store i8 %.fca.0.extract, ptr %6, align 2 %.fca.1.extract = extractvalue [2 x i8] %newret13, 1 store i8 %.fca.1.extract, ptr %7, align 1 call fastcc void @"_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE13send_and_recvIZNS_8internal4exitEiE3$_0ZNS4_4exitEiE3$_1EEvT_T0_"(ptr noundef nonnull align 8 dereferenceable(30) %port) #24 call fastcc void @"_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS_8internal4exitEiE3$_2EEvT_"(ptr noundef nonnull align 8 dereferenceable(30) %port, ptr nonnull %status.addr) #24 call fastcc void @_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE5closeEv(ptr noundef nonnull align 8 dereferenceable(30) %port) #24 call void @llvm.nvvm.exit() unreachable } ; Function Attrs: convergent inlinehint mustprogress norecurse nounwind define internal fastcc <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> @_ZN22__llvm_libc_19_0_0_git3rpc6Client4openILt1EEENS0_4PortILb0EEEv() unnamed_addr #16 comdat align 2 !type !327 { entry: %0 = tail call noundef i32 @llvm.nvvm.read.ptx.sreg.smid() %1 = tail call range(i32 0, 32) i32 @llvm.nvvm.read.ptx.sreg.laneid() %sh_prom.i = zext nneg i32 %1 to i64 %shl.i = shl nuw nsw i64 1, %sh_prom.i br label %for.cond for.cond: ; preds = %cleanup27, %entry %retval.sroa.6.0 = phi i32 [ undef, %entry ], [ %retval.sroa.6.1, %cleanup27 ] %retval.sroa.2.0 = phi i64 [ undef, %entry ], [ %retval.sroa.2.1, %cleanup27 ] %retval.sroa.8.0 = phi i32 [ undef, %entry ], [ %retval.sroa.8.1, %cleanup27 ] %index.0 = phi i32 [ %0, %entry ], [ %inc, %cleanup27 ] %2 = load i32, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, align 8, !tbaa !29 %cmp.not = icmp ult i32 %index.0, %2 %spec.store.select = select i1 %cmp.not, i32 %index.0, i32 0 %3 = tail call i32 @llvm.nvvm.activemask() %conv.i = zext i32 %3 to i64 %and.i = and i64 %shl.i, %conv.i %tobool.i = icmp ne i64 %and.i, 0 %div8.i.i = lshr i32 %spec.store.select, 5 %4 = and i32 %spec.store.select, 31 %idxprom.i.i = zext nneg i32 %div8.i.i to i64 %arrayidx.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, i64 40), i64 %idxprom.i.i %conv4.i.i = zext i1 %tobool.i to i32 %shl.i.i = shl nuw i32 %conv4.i.i, %4 %5 = atomicrmw or ptr %arrayidx.i.i, i32 %shl.i.i monotonic, align 4 %shl5.i.i = shl nuw i32 1, %4 %and.i.i = and i32 %shl5.i.i, %5 %tobool3.i = icmp ne i32 %and.i.i, 0 %6 = tail call i32 @llvm.nvvm.vote.ballot.sync(i32 %3, i1 %tobool3.i) %cmp.i.not = icmp eq i32 %6, %3 br i1 %cmp.i.not, label %cleanup27, label %if.then.i if.then.i: ; preds = %for.cond tail call void @llvm.nvvm.membar.sys() %7 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, i64 8), align 8, !tbaa !32 %idxprom.i = zext i32 %spec.store.select to i64 %arrayidx.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr %7, i64 %idxprom.i %8 = load atomic i32, ptr %arrayidx.i monotonic, align 4 %9 = tail call range(i32 0, 33) i32 @llvm.cttz.i32(i32 %3, i1 true) %iszero.i.i = icmp eq i32 %3, 0 %sub.i.i = select i1 %iszero.i.i, i32 -1, i32 %9 %10 = tail call noundef i32 @llvm.nvvm.shfl.sync.idx.i32(i32 %3, i32 %8, i32 %sub.i.i, i32 31) %11 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, i64 16), align 8, !tbaa !33 %arrayidx.i46 = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr %11, i64 %idxprom.i %12 = load atomic i32, ptr %arrayidx.i46 monotonic, align 4 %13 = tail call noundef i32 @llvm.nvvm.shfl.sync.idx.i32(i32 %3, i32 %12, i32 %sub.i.i, i32 31) %cmp.i49.not = icmp eq i32 %10, %13 br i1 %cmp.i49.not, label %if.end15, label %if.then13 if.then13: ; preds = %if.then.i tail call void @llvm.nvvm.membar.sys() %14 = tail call range(i64 0, 65) i64 @llvm.cttz.i64(i64 %conv.i, i1 true) %iszero.i.i.i = icmp ne i32 %3, 0 %cmp2.i.i = icmp eq i64 %14, %sh_prom.i %cmp.i.i = select i1 %iszero.i.i.i, i1 %cmp2.i.i, i1 false %conv4.i.i54 = zext i1 %cmp.i.i to i32 %shl.i.i55 = shl nuw i32 %conv4.i.i54, %4 %xor.i.i = xor i32 %shl.i.i55, -1 %15 = atomicrmw and ptr %arrayidx.i.i, i32 %xor.i.i monotonic, align 4 tail call void @llvm.nvvm.bar.warp.sync(i32 %3) br label %cleanup27 if.end15: ; preds = %if.then.i %16 = tail call range(i64 0, 65) i64 @llvm.cttz.i64(i64 %conv.i, i1 true) %iszero.i.i57 = icmp ne i32 %3, 0 %cmp2.i = icmp eq i64 %16, %sh_prom.i %cmp.i58 = select i1 %iszero.i.i57, i1 %cmp2.i, i1 false br i1 %cmp.i58, label %if.then17, label %if.end23 if.then17: ; preds = %if.end15 %17 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, i64 24), align 8, !tbaa !34 %opcode = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::rpc::Header", ptr %17, i64 %idxprom.i, i32 1 store i16 1, ptr %opcode, align 8, !tbaa !35 %arrayidx22 = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::rpc::Header", ptr %17, i64 %idxprom.i store i64 %conv.i, ptr %arrayidx22, align 8, !tbaa !39 br label %if.end23 if.end23: ; preds = %if.then17, %if.end15 tail call void @llvm.nvvm.bar.warp.sync(i32 %3) br label %cleanup27 cleanup27: ; preds = %if.end23, %if.then13, %for.cond %retval.sroa.6.1 = phi i32 [ %retval.sroa.6.0, %if.then13 ], [ %spec.store.select, %if.end23 ], [ %retval.sroa.6.0, %for.cond ] %retval.sroa.2.1 = phi i64 [ %retval.sroa.2.0, %if.then13 ], [ %conv.i, %if.end23 ], [ %retval.sroa.2.0, %for.cond ] %retval.sroa.8.1 = phi i32 [ %retval.sroa.8.0, %if.then13 ], [ %10, %if.end23 ], [ %retval.sroa.8.0, %for.cond ] %cond = phi i1 [ true, %if.then13 ], [ false, %if.end23 ], [ true, %for.cond ] %inc = add i32 %spec.store.select, 1 br i1 %cond, label %for.cond, label %cleanup28, !llvm.loop !328 cleanup28: ; preds = %cleanup27 %retval.sroa.6.1.lcssa = phi i32 [ %retval.sroa.6.1, %cleanup27 ] %retval.sroa.2.1.lcssa = phi i64 [ %retval.sroa.2.1, %cleanup27 ] %retval.sroa.8.1.lcssa = phi i32 [ %retval.sroa.8.1, %cleanup27 ] %newret2 = insertvalue <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> <{ ptr @_ZN22__llvm_libc_19_0_0_git3rpc6clientE, i64 poison, i32 poison, i32 poison, i32 poison, i8 poison, i8 poison, [2 x i8] poison }>, i64 %retval.sroa.2.1.lcssa, 1 %newret4 = insertvalue <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> %newret2, i32 32, 2 %newret6 = insertvalue <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> %newret4, i32 %retval.sroa.6.1.lcssa, 3 %newret8 = insertvalue <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> %newret6, i32 %retval.sroa.8.1.lcssa, 4 %newret10 = insertvalue <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> %newret8, i8 0, 5 %newret12 = insertvalue <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> %newret10, i8 1, 6 %newret14 = insertvalue <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> %newret12, [2 x i8] undef, 7 ret <{ ptr, i64, i32, i32, i32, i8, i8, [2 x i8] }> %newret14 } ; Function Attrs: convergent inlinehint mustprogress norecurse nounwind define internal fastcc void @"_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE13send_and_recvIZNS_8internal4exitEiE3$_0ZNS4_4exitEiE3$_1EEvT_T0_"(ptr nocapture noundef nonnull align 8 dereferenceable(30) %this) unnamed_addr #16 align 2 !type !329 { entry: %owns_buffer.i = getelementptr inbounds i8, ptr %this, i64 29 %0 = load i8, ptr %owns_buffer.i, align 1, !tbaa !331, !range !334, !noundef !335 %loadedv.i = trunc nuw i8 %0 to i1 br i1 %loadedv.i, label %cond.true.i, label %cond.false.i cond.true.i: ; preds = %entry %out.i = getelementptr inbounds i8, ptr %this, i64 24 %1 = load i32, ptr %out.i, align 8, !tbaa !336 br label %cond.end.i cond.false.i: ; preds = %entry %2 = load ptr, ptr %this, align 8, !tbaa !337 %lane_mask.i = getelementptr inbounds i8, ptr %this, i64 8 %3 = load i64, ptr %lane_mask.i, align 8, !tbaa !338 %index.i = getelementptr inbounds i8, ptr %this, i64 20 %4 = load i32, ptr %index.i, align 4, !tbaa !339 %inbox.i.i = getelementptr inbounds i8, ptr %2, i64 8 %5 = load ptr, ptr %inbox.i.i, align 8, !tbaa !32 %idxprom.i.i = zext i32 %4 to i64 %arrayidx.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr %5, i64 %idxprom.i.i %6 = load atomic i32, ptr %arrayidx.i.i monotonic, align 4 %conv.i.i.i = trunc i64 %3 to i32 %7 = tail call range(i32 0, 33) i32 @llvm.cttz.i32(i32 %conv.i.i.i, i1 true) %iszero.i.i.i = icmp eq i32 %conv.i.i.i, 0 %sub.i.i.i = select i1 %iszero.i.i.i, i32 -1, i32 %7 %8 = tail call noundef i32 @llvm.nvvm.shfl.sync.idx.i32(i32 %conv.i.i.i, i32 %6, i32 %sub.i.i.i, i32 31) %out5.phi.trans.insert.i = getelementptr inbounds i8, ptr %this, i64 24 %.pre.i = load i32, ptr %out5.phi.trans.insert.i, align 8, !tbaa !336 br label %cond.end.i cond.end.i: ; preds = %cond.false.i, %cond.true.i %9 = phi i32 [ %1, %cond.true.i ], [ %.pre.i, %cond.false.i ] %cond.i = phi i32 [ %1, %cond.true.i ], [ %8, %cond.false.i ] %index4.i = getelementptr inbounds i8, ptr %this, i64 20 %cmp.i.not3.i.i = icmp eq i32 %cond.i, %9 br i1 %cmp.i.not3.i.i, label %"_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS_8internal4exitEiE3$_0EEvT_.exit", label %while.body.lr.ph.i.i while.body.lr.ph.i.i: ; preds = %cond.end.i %10 = load i32, ptr %index4.i, align 4, !tbaa !339 %lane_mask3.i = getelementptr inbounds i8, ptr %this, i64 8 %11 = load i64, ptr %lane_mask3.i, align 8, !tbaa !338 %12 = load ptr, ptr %this, align 8, !tbaa !337 %inbox.i.i.i = getelementptr inbounds i8, ptr %12, i64 8 %13 = load ptr, ptr %inbox.i.i.i, align 8, !tbaa !32 %idxprom.i.i.i = zext i32 %10 to i64 %arrayidx.i.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr %13, i64 %idxprom.i.i.i %conv.i.i.i.i = trunc i64 %11 to i32 %14 = tail call range(i32 0, 33) i32 @llvm.cttz.i32(i32 %conv.i.i.i.i, i1 true) %iszero.i.i.i.i = icmp eq i32 %conv.i.i.i.i, 0 %sub.i.i.i.i = select i1 %iszero.i.i.i.i, i32 -1, i32 %14 br label %while.body.i.i while.body.i.i: ; preds = %while.body.i.i, %while.body.lr.ph.i.i %15 = load atomic i32, ptr %arrayidx.i.i.i monotonic, align 4 %16 = tail call noundef i32 @llvm.nvvm.shfl.sync.idx.i32(i32 %conv.i.i.i.i, i32 %15, i32 %sub.i.i.i.i, i32 31) %cmp.i.not.i.i = icmp eq i32 %16, %9 br i1 %cmp.i.not.i.i, label %"_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS_8internal4exitEiE3$_0EEvT_.exit", label %while.body.i.i, !llvm.loop !340 "_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS_8internal4exitEiE3$_0EEvT_.exit": ; preds = %while.body.i.i, %cond.end.i %out5.i = getelementptr inbounds i8, ptr %this, i64 24 tail call void @llvm.nvvm.membar.sys() %17 = load ptr, ptr %this, align 8, !tbaa !337 %18 = load i32, ptr %index4.i, align 4, !tbaa !339 %idxprom.i = zext i32 %18 to i64 %19 = load i32, ptr %out5.i, align 8, !tbaa !336 %tobool.not.i.i = icmp eq i32 %19, 0 %conv.i.i = zext i1 %tobool.not.i.i to i32 tail call void @llvm.nvvm.membar.sys() %outbox.i.i = getelementptr inbounds i8, ptr %17, i64 16 %20 = load ptr, ptr %outbox.i.i, align 8, !tbaa !33 %arrayidx.i24.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr %20, i64 %idxprom.i store atomic i32 %conv.i.i, ptr %arrayidx.i24.i monotonic, align 4 store i32 %conv.i.i, ptr %out5.i, align 8, !tbaa !336 store i8 0, ptr %owns_buffer.i, align 1, !tbaa !331 %receive.i = getelementptr inbounds i8, ptr %this, i64 28 store i8 0, ptr %receive.i, align 4, !tbaa !341 %21 = load ptr, ptr %this, align 8, !tbaa !337 %lane_mask.i9 = getelementptr inbounds i8, ptr %this, i64 8 %22 = load i64, ptr %lane_mask.i9, align 8, !tbaa !338 %23 = load i32, ptr %index4.i, align 4, !tbaa !339 %inbox.i.i10 = getelementptr inbounds i8, ptr %21, i64 8 %24 = load ptr, ptr %inbox.i.i10, align 8, !tbaa !32 %idxprom.i22.i = zext i32 %23 to i64 %arrayidx.i23.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr %24, i64 %idxprom.i22.i %25 = load atomic i32, ptr %arrayidx.i23.i monotonic, align 4 %conv.i.i.i11 = trunc i64 %22 to i32 %26 = tail call range(i32 0, 33) i32 @llvm.cttz.i32(i32 %conv.i.i.i11, i1 true) %iszero.i.i.i12 = icmp eq i32 %conv.i.i.i11, 0 %sub.i.i.i13 = select i1 %iszero.i.i.i12, i32 -1, i32 %26 %27 = tail call noundef i32 @llvm.nvvm.shfl.sync.idx.i32(i32 %conv.i.i.i11, i32 %25, i32 %sub.i.i.i13, i32 31) %cmp.i.not3.i.i16 = icmp eq i32 %27, %conv.i.i br i1 %cmp.i.not3.i.i16, label %"_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4recvIZNS_8internal4exitEiE3$_1EEvT_.exit", label %while.body.i.i24 while.body.i.i24: ; preds = %while.body.i.i24, %"_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS_8internal4exitEiE3$_0EEvT_.exit" %28 = load atomic i32, ptr %arrayidx.i23.i monotonic, align 4 %29 = tail call noundef i32 @llvm.nvvm.shfl.sync.idx.i32(i32 %conv.i.i.i11, i32 %28, i32 %sub.i.i.i13, i32 31) %cmp.i.not.i.i25 = icmp eq i32 %29, %conv.i.i br i1 %cmp.i.not.i.i25, label %"_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4recvIZNS_8internal4exitEiE3$_1EEvT_.exit", label %while.body.i.i24, !llvm.loop !340 "_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4recvIZNS_8internal4exitEiE3$_1EEvT_.exit": ; preds = %while.body.i.i24, %"_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS_8internal4exitEiE3$_0EEvT_.exit" tail call void @llvm.nvvm.membar.sys() store i8 1, ptr %receive.i, align 4, !tbaa !341 store i8 1, ptr %owns_buffer.i, align 1, !tbaa !331 ret void } ; Function Attrs: convergent inlinehint mustprogress norecurse nounwind define internal fastcc void @"_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE4sendIZNS_8internal4exitEiE3$_2EEvT_"(ptr nocapture noundef nonnull align 8 dereferenceable(30) %this, ptr nocapture readonly %fill.0.val) unnamed_addr #16 align 2 !type !342 { entry: %owns_buffer = getelementptr inbounds i8, ptr %this, i64 29 %0 = load i8, ptr %owns_buffer, align 1, !tbaa !331, !range !334, !noundef !335 %loadedv = trunc nuw i8 %0 to i1 br i1 %loadedv, label %cond.true, label %cond.false cond.true: ; preds = %entry %out = getelementptr inbounds i8, ptr %this, i64 24 %1 = load i32, ptr %out, align 8, !tbaa !336 br label %cond.end cond.false: ; preds = %entry %2 = load ptr, ptr %this, align 8, !tbaa !337 %lane_mask = getelementptr inbounds i8, ptr %this, i64 8 %3 = load i64, ptr %lane_mask, align 8, !tbaa !338 %index = getelementptr inbounds i8, ptr %this, i64 20 %4 = load i32, ptr %index, align 4, !tbaa !339 %inbox.i = getelementptr inbounds i8, ptr %2, i64 8 %5 = load ptr, ptr %inbox.i, align 8, !tbaa !32 %idxprom.i = zext i32 %4 to i64 %arrayidx.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr %5, i64 %idxprom.i %6 = load atomic i32, ptr %arrayidx.i monotonic, align 4 %conv.i.i = trunc i64 %3 to i32 %7 = tail call range(i32 0, 33) i32 @llvm.cttz.i32(i32 %conv.i.i, i1 true) %iszero.i.i = icmp eq i32 %conv.i.i, 0 %sub.i.i = select i1 %iszero.i.i, i32 -1, i32 %7 %8 = tail call noundef i32 @llvm.nvvm.shfl.sync.idx.i32(i32 %conv.i.i, i32 %6, i32 %sub.i.i, i32 31) %out5.phi.trans.insert = getelementptr inbounds i8, ptr %this, i64 24 %.pre = load i32, ptr %out5.phi.trans.insert, align 8, !tbaa !336 br label %cond.end cond.end: ; preds = %cond.false, %cond.true %9 = phi i32 [ %1, %cond.true ], [ %.pre, %cond.false ] %cond = phi i32 [ %1, %cond.true ], [ %8, %cond.false ] %index4 = getelementptr inbounds i8, ptr %this, i64 20 %cmp.i.not3.i = icmp eq i32 %cond, %9 br i1 %cmp.i.not3.i, label %_ZN22__llvm_libc_19_0_0_git3rpc7ProcessILb0EE18wait_for_ownershipEyjjj.exit, label %while.body.lr.ph.i while.body.lr.ph.i: ; preds = %cond.end %10 = load i32, ptr %index4, align 4, !tbaa !339 %lane_mask3 = getelementptr inbounds i8, ptr %this, i64 8 %11 = load i64, ptr %lane_mask3, align 8, !tbaa !338 %12 = load ptr, ptr %this, align 8, !tbaa !337 %inbox.i.i = getelementptr inbounds i8, ptr %12, i64 8 %13 = load ptr, ptr %inbox.i.i, align 8, !tbaa !32 %idxprom.i.i = zext i32 %10 to i64 %arrayidx.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr %13, i64 %idxprom.i.i %conv.i.i.i = trunc i64 %11 to i32 %14 = tail call range(i32 0, 33) i32 @llvm.cttz.i32(i32 %conv.i.i.i, i1 true) %iszero.i.i.i = icmp eq i32 %conv.i.i.i, 0 %sub.i.i.i = select i1 %iszero.i.i.i, i32 -1, i32 %14 br label %while.body.i while.body.i: ; preds = %while.body.i, %while.body.lr.ph.i %15 = load atomic i32, ptr %arrayidx.i.i monotonic, align 4 %16 = tail call noundef i32 @llvm.nvvm.shfl.sync.idx.i32(i32 %conv.i.i.i, i32 %15, i32 %sub.i.i.i, i32 31) %cmp.i.not.i = icmp eq i32 %16, %9 br i1 %cmp.i.not.i, label %_ZN22__llvm_libc_19_0_0_git3rpc7ProcessILb0EE18wait_for_ownershipEyjjj.exit, label %while.body.i, !llvm.loop !340 _ZN22__llvm_libc_19_0_0_git3rpc7ProcessILb0EE18wait_for_ownershipEyjjj.exit: ; preds = %while.body.i, %cond.end %out5 = getelementptr inbounds i8, ptr %this, i64 24 tail call void @llvm.nvvm.membar.sys() %lane_size = getelementptr inbounds i8, ptr %this, i64 16 %17 = load i32, ptr %lane_size, align 8, !tbaa !344 %18 = load ptr, ptr %this, align 8, !tbaa !337 %19 = load i32, ptr %index4, align 4, !tbaa !339 %packet.i = getelementptr inbounds i8, ptr %18, i64 32 %20 = load ptr, ptr %packet.i, align 8, !tbaa !41 %mul.i = mul i32 %19, %17 %idxprom.i19 = zext i32 %mul.i to i64 %arrayidx.i20 = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::rpc::Buffer", ptr %20, i64 %idxprom.i19 %21 = tail call noundef range(i32 0, 32) i32 @llvm.nvvm.read.ptx.sreg.laneid() %idxprom.i21 = zext nneg i32 %21 to i64 %arrayidx.i22 = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::rpc::Buffer", ptr %arrayidx.i20, i64 %idxprom.i21 %.val.val.i = load i32, ptr %fill.0.val, align 4, !tbaa !74 store i32 %.val.val.i, ptr %arrayidx.i22, align 8, !tbaa !74 %22 = load i32, ptr %index4, align 4, !tbaa !339 %23 = load i32, ptr %out5, align 8, !tbaa !336 %tobool.not.i = icmp eq i32 %23, 0 %conv.i = zext i1 %tobool.not.i to i32 tail call void @llvm.nvvm.membar.sys() %outbox.i = getelementptr inbounds i8, ptr %18, i64 16 %24 = load ptr, ptr %outbox.i, align 8, !tbaa !33 %idxprom.i23 = zext i32 %22 to i64 %arrayidx.i24 = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr %24, i64 %idxprom.i23 store atomic i32 %conv.i, ptr %arrayidx.i24 monotonic, align 4 store i32 %conv.i, ptr %out5, align 8, !tbaa !336 store i8 0, ptr %owns_buffer, align 1, !tbaa !331 %receive = getelementptr inbounds i8, ptr %this, i64 28 store i8 0, ptr %receive, align 4, !tbaa !341 ret void } ; Function Attrs: convergent inlinehint mustprogress norecurse nounwind define internal fastcc void @_ZN22__llvm_libc_19_0_0_git3rpc4PortILb0EE5closeEv(ptr nocapture noundef nonnull readonly align 8 dereferenceable(30) %this) unnamed_addr #16 comdat align 2 !type !345 { entry: %lane_mask = getelementptr inbounds i8, ptr %this, i64 8 %0 = load i64, ptr %lane_mask, align 8, !tbaa !338 %conv.i = trunc i64 %0 to i32 tail call void @llvm.nvvm.bar.warp.sync(i32 %conv.i) %1 = load ptr, ptr %this, align 8, !tbaa !337 %2 = load i64, ptr %lane_mask, align 8, !tbaa !338 %index5 = getelementptr inbounds i8, ptr %this, i64 20 %3 = load i32, ptr %index5, align 4, !tbaa !339 tail call void @llvm.nvvm.membar.sys() %lock.i = getelementptr inbounds i8, ptr %1, i64 40 %4 = tail call noundef range(i32 0, 32) i32 @llvm.nvvm.read.ptx.sreg.laneid() %conv.i.i = zext nneg i32 %4 to i64 %5 = tail call range(i64 0, 65) i64 @llvm.cttz.i64(i64 %2, i1 true) %iszero.i.i.i = icmp ne i64 %2, 0 %cmp2.i.i = icmp eq i64 %5, %conv.i.i %cmp.i.i = select i1 %iszero.i.i.i, i1 %cmp2.i.i, i1 false %div8.i.i = lshr i32 %3, 5 %6 = and i32 %3, 31 %idxprom.i.i = zext nneg i32 %div8.i.i to i64 %arrayidx.i.i = getelementptr inbounds %"struct.__llvm_libc_19_0_0_git::cpp::Atomic", ptr %lock.i, i64 %idxprom.i.i %conv4.i.i = zext i1 %cmp.i.i to i32 %shl.i.i = shl nuw i32 %conv4.i.i, %6 %xor.i.i = xor i32 %shl.i.i, -1 %7 = atomicrmw and ptr %arrayidx.i.i, i32 %xor.i.i monotonic, align 4 %conv.i4.i = trunc i64 %2 to i32 tail call void @llvm.nvvm.bar.warp.sync(i32 %conv.i4.i) ret void } ; Function Attrs: convergent noreturn nounwind memory(inaccessiblemem: readwrite) declare void @llvm.nvvm.exit() #17 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare i32 @llvm.usub.sat.i32(i32, i32) #5 attributes #0 = { noinline nounwind optnone "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="sm_89" "target-features"="+ptx84,+sm_89" } attributes #1 = { convergent mustprogress nounwind "frame-pointer"="all" "no-builtin-bcmp" "no-builtin-bzero" "no-builtin-memcmp" "no-builtin-memcpy" "no-builtin-memmove" "no-builtin-memset" "no-builtin-strcmp" "no-builtin-strlen" "no-builtin-strstr" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+ptx63" } attributes #2 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } attributes #3 = { nocallback nofree nosync nounwind willreturn } attributes #4 = { convergent mustprogress norecurse nounwind "frame-pointer"="all" "no-builtin-bcmp" "no-builtin-bzero" "no-builtin-memcmp" "no-builtin-memcpy" "no-builtin-memmove" "no-builtin-memset" "no-builtin-strcmp" "no-builtin-strlen" "no-builtin-strstr" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+ptx63" } attributes #5 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) } attributes #6 = { convergent nocallback nounwind memory(inaccessiblemem: readwrite) } attributes #7 = { nocallback nounwind } attributes #8 = { convergent nocallback nounwind } attributes #9 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) } attributes #10 = { convergent mustprogress nounwind "frame-pointer"="all" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+ptx63" } attributes #11 = { mustprogress nounwind "frame-pointer"="all" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+ptx63" } attributes #12 = { convergent mustprogress noreturn nounwind "frame-pointer"="all" "no-builtins" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+ptx63" } attributes #13 = { convergent inlinehint mustprogress nounwind "frame-pointer"="all" "no-builtin-bcmp" "no-builtin-bzero" "no-builtin-memcmp" "no-builtin-memcpy" "no-builtin-memmove" "no-builtin-memset" "no-builtin-strcmp" "no-builtin-strlen" "no-builtin-strstr" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+ptx63" } attributes #14 = { convergent mustprogress noreturn nounwind "frame-pointer"="all" "no-builtin-bcmp" "no-builtin-bzero" "no-builtin-memcmp" "no-builtin-memcpy" "no-builtin-memmove" "no-builtin-memset" "no-builtin-strcmp" "no-builtin-strlen" "no-builtin-strstr" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+ptx63" } attributes #15 = { nocallback nofree nounwind willreturn memory(argmem: write) } attributes #16 = { convergent inlinehint mustprogress norecurse nounwind "frame-pointer"="all" "no-builtin-bcmp" "no-builtin-bzero" "no-builtin-memcmp" "no-builtin-memcpy" "no-builtin-memmove" "no-builtin-memset" "no-builtin-strcmp" "no-builtin-strlen" "no-builtin-strstr" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+ptx63" } attributes #17 = { convergent noreturn nounwind memory(inaccessiblemem: readwrite) } attributes #18 = { nounwind } attributes #19 = { convergent nounwind "no-builtin-bcmp" "no-builtin-bzero" "no-builtin-memcmp" "no-builtin-memcpy" "no-builtin-memmove" "no-builtin-memset" "no-builtin-strcmp" "no-builtin-strlen" "no-builtin-strstr" } attributes #20 = { convergent nobuiltin nounwind "no-builtins" } attributes #21 = { nobuiltin nounwind "no-builtins" } attributes #22 = { convergent nobuiltin noreturn nounwind "no-builtins" } attributes #23 = { convergent noreturn nounwind "no-builtin-bcmp" "no-builtin-bzero" "no-builtin-memcmp" "no-builtin-memcpy" "no-builtin-memmove" "no-builtin-memset" "no-builtin-strcmp" "no-builtin-strlen" "no-builtin-strstr" } attributes #24 = { convergent "no-builtin-bcmp" "no-builtin-bzero" "no-builtin-memcmp" "no-builtin-memcpy" "no-builtin-memmove" "no-builtin-memset" "no-builtin-strcmp" "no-builtin-strlen" "no-builtin-strstr" } !llvm.ident = !{!0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0} !llvm.module.flags = !{!1, !2, !3, !4, !5, !6} !nvvm.annotations = !{!7, !8, !9} !llvm.linker.options = !{} !0 = !{!"clang version 19.0.0git"} !1 = !{i32 1, !"wchar_size", i32 4} !2 = !{i32 7, !"frame-pointer", i32 2} !3 = !{i32 1, !"ThinLTO", i32 0} !4 = !{i32 1, !"EnableSplitLTOUnit", i32 1} !5 = !{i32 8, !"PIC Level", i32 0} !6 = !{i32 7, !"PIE Level", i32 1} !7 = !{ptr @_begin, !"kernel", i32 1} !8 = !{ptr @_start, !"kernel", i32 1} !9 = !{ptr @_end, !"kernel", i32 1} !10 = !{!"auto-init"} !11 = !{!12, !12, i64 0} !12 = !{!"any pointer", !13, i64 0} !13 = !{!"omnipotent char", !14, i64 0} !14 = !{!"Simple C++ TBAA"} !15 = !{!16, !12, i64 0} !16 = !{!"_ZTSN22__llvm_libc_19_0_0_git11printf_core11WriteBufferE", !12, i64 0, !17, i64 8, !17, i64 16, !12, i64 24, !12, i64 32} !17 = !{!"long", !13, i64 0} !18 = !{!16, !17, i64 8} !19 = !{!16, !17, i64 16} !20 = !{!16, !12, i64 24} !21 = !{!16, !12, i64 32} !22 = !{!23, !12, i64 0} !23 = !{!"_ZTSN22__llvm_libc_19_0_0_git11printf_core6WriterE", !12, i64 0, !24, i64 8} !24 = !{!"int", !13, i64 0} !25 = !{!23, !24, i64 8} !26 = !{!13, !13, i64 0} !27 = distinct !{!27, !28} !28 = !{!"llvm.loop.mustprogress"} !29 = !{!30, !24, i64 0} !30 = !{!"_ZTSN22__llvm_libc_19_0_0_git3rpc6ClientE", !31, i64 0} !31 = !{!"_ZTSN22__llvm_libc_19_0_0_git3rpc7ProcessILb0EEE", !24, i64 0, !12, i64 8, !12, i64 16, !12, i64 24, !12, i64 32, !13, i64 40} !32 = !{!31, !12, i64 8} !33 = !{!31, !12, i64 16} !34 = !{!30, !12, i64 24} !35 = !{!36, !38, i64 8} !36 = !{!"_ZTSN22__llvm_libc_19_0_0_git3rpc6HeaderE", !37, i64 0, !38, i64 8} !37 = !{!"long long", !13, i64 0} !38 = !{!"short", !13, i64 0} !39 = !{!36, !37, i64 0} !40 = distinct !{!40, !28} !41 = !{!31, !12, i64 32} !42 = !{!37, !37, i64 0} !43 = !{!44, !46} !44 = distinct !{!44, !45, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !45 = distinct !{!45, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !46 = distinct !{!46, !45, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !47 = !{!31, !12, i64 24} !48 = distinct !{!48, !28} !49 = !{!50, !52} !50 = distinct !{!50, !51, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !51 = distinct !{!51, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !52 = distinct !{!52, !51, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !53 = distinct !{!53, !28} !54 = !{!55, !17, i64 1024} !55 = !{!"_ZTSN22__llvm_libc_19_0_0_git11FixedVectorINS_10AtExitUnitELm64EEE", !56, i64 0, !17, i64 1024} !56 = !{!"_ZTSN22__llvm_libc_19_0_0_git3cpp5arrayINS_10AtExitUnitELm64EEE", !13, i64 0} !57 = !{!17, !17, i64 0} !58 = distinct !{!58, !28} !59 = distinct !{!59, !28} !60 = !{!61, !12, i64 0} !61 = !{!"_ZTSN22__llvm_libc_19_0_0_git10AtExitUnitE", !12, i64 0, !12, i64 8} !62 = !{!61, !12, i64 8} !63 = distinct !{!63, !28} !64 = !{!65, !12, i64 0} !65 = !{!"_ZTSN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEEE", !12, i64 0, !17, i64 8, !66, i64 16} !66 = !{!"_ZTSN22__llvm_libc_19_0_0_git8internal7ArgListE", !12, i64 0} !67 = !{!68, !70} !68 = distinct !{!68, !69, !"_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEEC2EPKcRS3_: %new_str"} !69 = distinct !{!69, !"_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEEC2EPKcRS3_"} !70 = distinct !{!70, !71, !"_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEEC1EPKcRS3_: %new_str"} !71 = distinct !{!71, !"_ZN22__llvm_libc_19_0_0_git11printf_core6ParserINS_8internal7ArgListEEC1EPKcRS3_"} !72 = !{!65, !17, i64 8} !73 = distinct !{!73, !28} !74 = !{!24, !24, i64 0} !75 = !{!76} !76 = distinct !{!76, !77, !"_ZN22__llvm_libc_19_0_0_git8internal12strtointegerIiEENS_14StrToNumResultIT_EEPKcim: %src"} !77 = distinct !{!77, !"_ZN22__llvm_libc_19_0_0_git8internal12strtointegerIiEENS_14StrToNumResultIT_EEPKcim"} !78 = distinct !{!78, !28} !79 = distinct !{!79, !28} !80 = !{!81} !81 = distinct !{!81, !82, !"_ZN22__llvm_libc_19_0_0_git8internal12strtointegerIiEENS_14StrToNumResultIT_EEPKcim: %src"} !82 = distinct !{!82, !"_ZN22__llvm_libc_19_0_0_git8internal12strtointegerIiEENS_14StrToNumResultIT_EEPKcim"} !83 = !{!84} !84 = distinct !{!84, !85, !"_ZN22__llvm_libc_19_0_0_git8internal12strtointegerIiEENS_14StrToNumResultIT_EEPKcim: %src"} !85 = distinct !{!85, !"_ZN22__llvm_libc_19_0_0_git8internal12strtointegerIiEENS_14StrToNumResultIT_EEPKcim"} !86 = distinct !{!86, !28} !87 = !{!88, !90} !88 = distinct !{!88, !89, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !89 = distinct !{!89, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !90 = distinct !{!90, !89, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !91 = !{!92, !12, i64 0} !92 = !{!"_ZTSN22__llvm_libc_19_0_0_git3cpp11string_viewE", !12, i64 0, !17, i64 8} !93 = !{!92, !17, i64 8} !94 = !{!95, !97} !95 = distinct !{!95, !96, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !96 = distinct !{!96, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !97 = distinct !{!97, !96, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !98 = !{!99, !101} !99 = distinct !{!99, !100, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !100 = distinct !{!100, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !101 = distinct !{!101, !100, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !102 = distinct !{!102, !28} !103 = !{!104, !106} !104 = distinct !{!104, !105, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !105 = distinct !{!105, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !106 = distinct !{!106, !105, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !107 = !{!108, !110} !108 = distinct !{!108, !109, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !109 = distinct !{!109, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !110 = distinct !{!110, !109, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !111 = !{!112, !114} !112 = distinct !{!112, !113, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !113 = distinct !{!113, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !114 = distinct !{!114, !113, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !115 = !{!116, !118} !116 = distinct !{!116, !117, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !117 = distinct !{!117, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !118 = distinct !{!118, !117, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !119 = distinct !{!119, !28} !120 = !{!121, !123} !121 = distinct !{!121, !122, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !122 = distinct !{!122, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !123 = distinct !{!123, !122, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !124 = !{!125, !127} !125 = distinct !{!125, !126, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !126 = distinct !{!126, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !127 = distinct !{!127, !126, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !128 = !{!129, !131} !129 = distinct !{!129, !130, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !130 = distinct !{!130, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !131 = distinct !{!131, !130, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !132 = !{!133, !135} !133 = distinct !{!133, !134, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !134 = distinct !{!134, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !135 = distinct !{!135, !134, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !136 = !{!137, !139} !137 = distinct !{!137, !138, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !138 = distinct !{!138, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !139 = distinct !{!139, !138, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !140 = !{!141, !143} !141 = distinct !{!141, !142, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !142 = distinct !{!142, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !143 = distinct !{!143, !142, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !144 = distinct !{!144, !28} !145 = distinct !{!145, !28} !146 = distinct !{!146, !28} !147 = distinct !{!147, !28} !148 = distinct !{!148, !28} !149 = !{!150, !152} !150 = distinct !{!150, !151, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !151 = distinct !{!151, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !152 = distinct !{!152, !151, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !153 = !{!154, !156} !154 = distinct !{!154, !155, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !155 = distinct !{!155, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !156 = distinct !{!156, !155, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !157 = !{!158, !160} !158 = distinct !{!158, !159, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !159 = distinct !{!159, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !160 = distinct !{!160, !159, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !161 = !{!162, !164} !162 = distinct !{!162, !163, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !163 = distinct !{!163, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !164 = distinct !{!164, !163, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !165 = !{!166, !168} !166 = distinct !{!166, !167, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !167 = distinct !{!167, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !168 = distinct !{!168, !167, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !169 = !{!170, !172} !170 = distinct !{!170, !171, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !171 = distinct !{!171, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !172 = distinct !{!172, !171, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !173 = !{!174, !176} !174 = distinct !{!174, !175, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !175 = distinct !{!175, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !176 = distinct !{!176, !175, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !177 = !{!178, !180} !178 = distinct !{!178, !179, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !179 = distinct !{!179, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !180 = distinct !{!180, !179, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !181 = !{!182, !184} !182 = distinct !{!182, !183, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !183 = distinct !{!183, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !184 = distinct !{!184, !183, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !185 = !{!186, !188} !186 = distinct !{!186, !187, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !187 = distinct !{!187, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !188 = distinct !{!188, !187, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !189 = !{!190, !192} !190 = distinct !{!190, !191, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !191 = distinct !{!191, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !192 = distinct !{!192, !191, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !193 = !{!194, !196} !194 = distinct !{!194, !195, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !195 = distinct !{!195, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !196 = distinct !{!196, !195, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !197 = !{!198, !200} !198 = distinct !{!198, !199, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !199 = distinct !{!199, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !200 = distinct !{!200, !199, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !201 = !{!202, !204} !202 = distinct !{!202, !203, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !203 = distinct !{!203, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !204 = distinct !{!204, !203, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !205 = !{!206, !208} !206 = distinct !{!206, !207, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !207 = distinct !{!207, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !208 = distinct !{!208, !207, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !209 = !{!210, !212} !210 = distinct !{!210, !211, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !211 = distinct !{!211, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !212 = distinct !{!212, !211, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !213 = !{!214, !216} !214 = distinct !{!214, !215, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !215 = distinct !{!215, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !216 = distinct !{!216, !215, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !217 = !{!218, !220} !218 = distinct !{!218, !219, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !219 = distinct !{!219, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !220 = distinct !{!220, !219, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !221 = !{!222, !224} !222 = distinct !{!222, !223, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !223 = distinct !{!223, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !224 = distinct !{!224, !223, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !225 = !{!226, !228} !226 = distinct !{!226, !227, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !227 = distinct !{!227, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !228 = distinct !{!228, !227, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !229 = !{!230, !232} !230 = distinct !{!230, !231, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !231 = distinct !{!231, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !232 = distinct !{!232, !231, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !233 = !{!234, !236} !234 = distinct !{!234, !235, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !235 = distinct !{!235, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !236 = distinct !{!236, !235, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !237 = !{!238, !240} !238 = distinct !{!238, !239, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !239 = distinct !{!239, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !240 = distinct !{!240, !239, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !241 = !{!242, !244} !242 = distinct !{!242, !243, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !243 = distinct !{!243, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !244 = distinct !{!244, !243, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !245 = !{!246, !248} !246 = distinct !{!246, !247, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !247 = distinct !{!247, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !248 = distinct !{!248, !247, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !249 = !{!250, !252} !250 = distinct !{!250, !251, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !251 = distinct !{!251, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !252 = distinct !{!252, !251, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !253 = !{!254, !256} !254 = distinct !{!254, !255, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !255 = distinct !{!255, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !256 = distinct !{!256, !255, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !257 = !{!258, !260} !258 = distinct !{!258, !259, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !259 = distinct !{!259, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !260 = distinct !{!260, !259, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !261 = !{!262, !264} !262 = distinct !{!262, !263, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !263 = distinct !{!263, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !264 = distinct !{!264, !263, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !265 = !{!266, !268} !266 = distinct !{!266, !267, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !267 = distinct !{!267, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !268 = distinct !{!268, !267, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !269 = !{!270, !272} !270 = distinct !{!270, !271, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !271 = distinct !{!271, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !272 = distinct !{!272, !271, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !273 = !{!274, !276} !274 = distinct !{!274, !275, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !275 = distinct !{!275, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !276 = distinct !{!276, !275, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !277 = !{!278, !280} !278 = distinct !{!278, !279, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !279 = distinct !{!279, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !280 = distinct !{!280, !279, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !281 = !{!282, !284} !282 = distinct !{!282, !283, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !283 = distinct !{!283, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !284 = distinct !{!284, !283, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !285 = !{!286, !288} !286 = distinct !{!286, !287, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !287 = distinct !{!287, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !288 = distinct !{!288, !287, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !289 = !{!290, !292} !290 = distinct !{!290, !291, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !291 = distinct !{!291, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !292 = distinct !{!292, !291, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !293 = !{!294, !296} !294 = distinct !{!294, !295, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !295 = distinct !{!295, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !296 = distinct !{!296, !295, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !297 = !{!298, !300} !298 = distinct !{!298, !299, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !299 = distinct !{!299, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !300 = distinct !{!300, !299, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !301 = !{!302, !304} !302 = distinct !{!302, !303, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !303 = distinct !{!303, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !304 = distinct !{!304, !303, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !305 = !{!306, !308} !306 = distinct !{!306, !307, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !307 = distinct !{!307, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !308 = distinct !{!308, !307, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !309 = !{!310, !312} !310 = distinct !{!310, !311, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !311 = distinct !{!311, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !312 = distinct !{!312, !311, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !313 = !{!314, !316} !314 = distinct !{!314, !315, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %dst"} !315 = distinct !{!315, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm"} !316 = distinct !{!316, !315, !"_ZN22__llvm_libc_19_0_0_git13inline_memcpyEPvPKvm: %src"} !317 = !{!318} !318 = distinct !{!318, !319, !"_ZN22__llvm_libc_19_0_0_git8internal12strtointegerIiEENS_14StrToNumResultIT_EEPKcim: %src"} !319 = distinct !{!319, !"_ZN22__llvm_libc_19_0_0_git8internal12strtointegerIiEENS_14StrToNumResultIT_EEPKcim"} !320 = !{!321} !321 = distinct !{!321, !322, !"_ZN22__llvm_libc_19_0_0_git8internal12strtointegerIiEENS_14StrToNumResultIT_EEPKcim: %src"} !322 = distinct !{!322, !"_ZN22__llvm_libc_19_0_0_git8internal12strtointegerIiEENS_14StrToNumResultIT_EEPKcim"} !323 = !{!324} !324 = distinct !{!324, !325, !"_ZN22__llvm_libc_19_0_0_git8internal12strtointegerIiEENS_14StrToNumResultIT_EEPKcim: %src"} !325 = distinct !{!325, !"_ZN22__llvm_libc_19_0_0_git8internal12strtointegerIiEENS_14StrToNumResultIT_EEPKcim"} !326 = distinct !{!326, !28} !327 = !{i64 0, !"_ZTSMN22__llvm_libc_19_0_0_git3rpc6ClientEFNS0_4PortILb0EEEvE"} !328 = distinct !{!328, !28} !329 = !{i64 0, !330} !330 = distinct !{} !331 = !{!332, !333, i64 29} !332 = !{!"_ZTSN22__llvm_libc_19_0_0_git3rpc4PortILb0EEE", !12, i64 0, !37, i64 8, !24, i64 16, !24, i64 20, !24, i64 24, !333, i64 28, !333, i64 29} !333 = !{!"bool", !13, i64 0} !334 = !{i8 0, i8 2} !335 = !{} !336 = !{!332, !24, i64 24} !337 = !{!332, !12, i64 0} !338 = !{!332, !37, i64 8} !339 = !{!332, !24, i64 20} !340 = distinct !{!340, !28} !341 = !{!332, !333, i64 28} !342 = !{i64 0, !343} !343 = distinct !{} !344 = !{!332, !24, i64 16} !345 = !{i64 0, !"_ZTSMN22__llvm_libc_19_0_0_git3rpc4PortILb0EEEFvvE"}
Become a Patron
Sponsor on GitHub
Donate via PayPal
Compiler Explorer Shop
Source on GitHub
Mailing list
Installed libraries
Wiki
Report an issue
How it works
Contact the author
CE on Mastodon
CE on Bluesky
Statistics
Changelog
Version tree