Diff
checker
텍스트
텍스트
이미지
문서
Excel
폴더
Legal
Enterprise
데스크톱
요금제
로그인
데스크톱 앱 다운로드
텍스트 비교
두 텍스트 파일의 차이점을 찾아보세요
도구
기록
실시간 편집
변경 없는 행 숨기기
줄바꿈 비활성화
레이아웃
나란히 보기
합쳐 보기
비교 단위
스마트
단어
글자
구문 강조
언어 선택
제외
텍스트 변환
첫 변경으로
수정
Diffchecker Desktop
가장 안전하게 Diffchecker를 사용하는 방법. 데스크톱 앱을 사용하면 비교 데이터가 외부로 전송되지 않습니다!
데스크톱 앱 받기
Zig output
생성일
2년 전
비교 결과 만료 없음
초기화
내보내기
공유
설명
3 삭제
행
총
삭제
글자
총
삭제
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
281 행
복사
3 추가
행
총
추가
글자
총
추가
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
281 행
복사
; ModuleID = 'biggy'
; ModuleID = 'biggy'
source_filename = "biggy"
source_filename = "biggy"
target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-macosx14.5.0-unknown"
target triple = "x86_64-unknown-macosx14.5.0-unknown"
%Target.Cpu.Feature.Set = type { [5 x i64] }
%Target.Cpu.Feature.Set = type { [5 x i64] }
%Target.Cpu.Model = type { { ptr, i64 }, { ptr, i64 }, %Target.Cpu.Feature.Set }
%Target.Cpu.Model = type { { ptr, i64 }, { ptr, i64 }, %Target.Cpu.Feature.Set }
%Target.Cpu = type { ptr, %Target.Cpu.Feature.Set, i6, [7 x i8] }
%Target.Cpu = type { ptr, %Target.Cpu.Feature.Set, i6, [7 x i8] }
%SemanticVersion = type { i64, i64, i64, { ptr, i64 }, { ptr, i64 } }
%SemanticVersion = type { i64, i64, i64, { ptr, i64 }, { ptr, i64 } }
%SemanticVersion.Range = type { %SemanticVersion, %SemanticVersion }
%SemanticVersion.Range = type { %SemanticVersion, %SemanticVersion }
%Target.Os.LinuxVersionRange = type { %SemanticVersion.Range, %SemanticVersion }
%Target.Os.LinuxVersionRange = type { %SemanticVersion.Range, %SemanticVersion }
%Target.Os.VersionRange = type { %Target.Os.LinuxVersionRange }
%Target.Os.VersionRange = type { %Target.Os.LinuxVersionRange }
%Target.Os = type { %Target.Os.VersionRange, i6, [7 x i8] }
%Target.Os = type { %Target.Os.VersionRange, i6, [7 x i8] }
%c.darwin.Sigaction.Sigaction__union_2578 = type { ptr }
%c.darwin.Sigaction.Sigaction__union_2578 = type { ptr }
%c.darwin.Sigaction = type { %c.darwin.Sigaction.Sigaction__union_2578, i32, i32 }
%c.darwin.Sigaction = type { %c.darwin.Sigaction.Sigaction__union_2578, i32, i32 }
%fs.File = type { i32 }
%fs.File = type { i32 }
%"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))" = type { %fs.File }
%"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))" = type { %fs.File }
%io.Writer = type { ptr, ptr }
%io.Writer = type { ptr, ptr }
%std.Options = type { i64, i1, i2, i1, i1, i1, i1, i2, [1 x i8] }
%std.Options = type { i64, i1, i2, i1, i1, i1, i1, i2, [1 x i8] }
%Target.DynamicLinker = type { [255 x i8], i8 }
%Target.DynamicLinker = type { [255 x i8], i8 }
%Target = type { %Target.Cpu, %Target.Os, i6, i4, %Target.DynamicLinker, [6 x i8] }
%Target = type { %Target.Cpu, %Target.Os, i6, i4, %Target.DynamicLinker, [6 x i8] }
%macho.mach_header_64 = type { i32, i32, i32, i32, i32, i32, i32, i32 }
%macho.mach_header_64 = type { i32, i32, i32, i32, i32, i32, i32, i32 }
%c.darwin.os_unfair_lock = type { i32 }
%c.darwin.os_unfair_lock = type { i32 }
%Thread.Mutex.DarwinImpl = type { %c.darwin.os_unfair_lock }
%Thread.Mutex.DarwinImpl = type { %c.darwin.os_unfair_lock }
%Thread.Mutex = type { %Thread.Mutex.DarwinImpl }
%Thread.Mutex = type { %Thread.Mutex.DarwinImpl }
%Thread.Mutex.Recursive = type { i64, i64, %Thread.Mutex, [4 x i8] }
%Thread.Mutex.Recursive = type { i64, i64, %Thread.Mutex, [4 x i8] }
%fmt.FormatOptions = type { { i64, i8, [7 x i8] }, { i64, i8, [7 x i8] }, i21, i2, [3 x i8] }
%fmt.FormatOptions = type { { i64, i8, [7 x i8] }, { i64, i8, [7 x i8] }, i21, i2, [3 x i8] }
%"io.fixed_buffer_stream.FixedBufferStream([]u8)" = type { { ptr, i64 }, i64 }
%"io.fixed_buffer_stream.FixedBufferStream([]u8)" = type { { ptr, i64 }, i64 }
%"io.GenericWriter(*io.fixed_buffer_stream.FixedBufferStream([]u8),error{NoSpaceLeft},(function 'write'))" = type { ptr }
%"io.GenericWriter(*io.fixed_buffer_stream.FixedBufferStream([]u8),error{NoSpaceLeft},(function 'write'))" = type { ptr }
%Thread.PosixThreadImpl = type { ptr }
%Thread.PosixThreadImpl = type { ptr }
%Thread = type { %Thread.PosixThreadImpl }
%Thread = type { %Thread.PosixThreadImpl }
%"atomic.Value(u32)" = type { i32 }
%"atomic.Value(u32)" = type { i32 }
%Thread.ResetEvent.FutexImpl = type { %"atomic.Value(u32)" }
%Thread.ResetEvent.FutexImpl = type { %"atomic.Value(u32)" }
%Thread.ResetEvent = type { %Thread.ResetEvent.FutexImpl }
%Thread.ResetEvent = type { %Thread.ResetEvent.FutexImpl }
%Progress = type { { %Thread, i8, [7 x i8] }, i64, i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, %fs.File, %Thread.ResetEvent, i32, i16, i16, i2, i1, i1, i8, [4 x i8] }
%Progress = type { { %Thread, i8, [7 x i8] }, i64, i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, %fs.File, %Thread.ResetEvent, i32, i16, i16, i2, i1, i1, i8, [4 x i8] }
%"atomic.Value(u8)" = type { i8 }
%"atomic.Value(u8)" = type { i8 }
%builtin.StackTrace = type { i64, { ptr, i64 } }
%builtin.StackTrace = type { i64, { ptr, i64 } }
%Progress.Node.Storage = type { i32, i32, [40 x i8] }
%Progress.Node.Storage = type { i32, i32, [40 x i8] }
@builtin.zig_backend = internal unnamed_addr constant i64 2, align 8
@builtin.zig_backend = internal unnamed_addr constant i64 2, align 8
@Target.Cpu.Feature.Set.empty = internal unnamed_addr constant %Target.Cpu.Feature.Set zeroinitializer, align 8
@Target.Cpu.Feature.Set.empty = internal unnamed_addr constant %Target.Cpu.Feature.Set zeroinitializer, align 8
@Target.x86.cpu.skylake = internal unnamed_addr constant %Target.Cpu.Model { { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_280, i64 0), i64 7 }, { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_280, i64 0), i64 7 }, %Target.Cpu.Feature.Set { [5 x i64] [i64 4703606015143248112, i64 2308508483300179218, i64 256986653737092120, i64 0, i64 0] } }, align 8
@Target.x86.cpu.skylake = internal unnamed_addr constant %Target.Cpu.Model { { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_280, i64 0), i64 7 }, { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_280, i64 0), i64 7 }, %Target.Cpu.Feature.Set { [5 x i64] [i64 4703606015143248112, i64 2308508483300179218, i64 256986653737092120, i64 0, i64 0] } }, align 8
@__anon_280 = internal unnamed_addr constant [8 x i8] c"skylake\00", align 1
@__anon_280 = internal unnamed_addr constant [8 x i8] c"skylake\00", align 1
@builtin.cpu = internal unnamed_addr constant %Target.Cpu { ptr getelementptr inbounds (i8, ptr @Target.x86.cpu.skylake, i64 0), %Target.Cpu.Feature.Set { [5 x i64] [i64 4705857814956941552, i64 2308508483300179218, i64 275001222971540504, i64 0, i64 0] }, i6 -27, [7 x i8] undef }, align 8
@builtin.cpu = internal unnamed_addr constant %Target.Cpu { ptr getelementptr inbounds (i8, ptr @Target.x86.cpu.skylake, i64 0), %Target.Cpu.Feature.Set { [5 x i64] [i64 4705857814956941552, i64 2308508483300179218, i64 275001222971540504, i64 0, i64 0] }, i6 -27, [7 x i8] undef }, align 8
@start.simplified_logic = internal unnamed_addr constant i1 false, align 1
@start.simplified_logic = internal unnamed_addr constant i1 false, align 1
@builtin.output_mode = internal unnamed_addr constant i2 0, align 1
@builtin.output_mode = internal unnamed_addr constant i2 0, align 1
@builtin.link_libc = internal unnamed_addr constant i1 true, align 1
@builtin.link_libc = internal unnamed_addr constant i1 true, align 1
@start.native_arch = internal unnamed_addr constant i6 -27, align 1
@start.native_arch = internal unnamed_addr constant i6 -27, align 1
@os.argv = internal unnamed_addr global { ptr, i64 } undef, align 8
@os.argv = internal unnamed_addr global { ptr, i64 } undef, align 8
@os.environ = internal unnamed_addr global { ptr, i64 } undef, align 8
@os.environ = internal unnamed_addr global { ptr, i64 } undef, align 8
@builtin.os = internal unnamed_addr constant { { <{ %SemanticVersion.Range, [56 x i8] }> }, i6, [7 x i8] } { { <{ %SemanticVersion.Range, [56 x i8] }> } { <{ %SemanticVersion.Range, [56 x i8] }> <{ %SemanticVersion.Range { %SemanticVersion { i64 14, i64 5, i64 0, { ptr, i64 } zeroinitializer, { ptr, i64 } zeroinitializer }, %SemanticVersion { i64 14, i64 5, i64 0, { ptr, i64 } zeroinitializer, { ptr, i64 } zeroinitializer } }, [56 x i8] undef }> }, i6 10, [7 x i8] undef }, align 8
@builtin.os = internal unnamed_addr constant { { <{ %SemanticVersion.Range, [56 x i8] }> }, i6, [7 x i8] } { { <{ %SemanticVersion.Range, [56 x i8] }> } { <{ %SemanticVersion.Range, [56 x i8] }> <{ %SemanticVersion.Range { %SemanticVersion { i64 14, i64 5, i64 0, { ptr, i64 } zeroinitializer, { ptr, i64 } zeroinitializer }, %SemanticVersion { i64 14, i64 5, i64 0, { ptr, i64 } zeroinitializer, { ptr, i64 } zeroinitializer } }, [56 x i8] undef }> }, i6 10, [7 x i8] undef }, align 8
@__anon_1669 = internal unnamed_addr constant { { ptr }, i32, i32 } { { ptr } { ptr getelementptr inbounds (i8, ptr @start.noopSigHandler, i64 0) }, i32 0, i32 0 }, align 8
@__anon_1669 = internal unnamed_addr constant { { ptr }, i32, i32 } { { ptr } { ptr getelementptr inbounds (i8, ptr @start.noopSigHandler, i64 0) }, i32 0, i32 0 }, align 8
@__zig_err_name_table = private unnamed_addr constant ptr @68, align 8
@__zig_err_name_table = private unnamed_addr constant ptr @68, align 8
@builtin.mode = internal unnamed_addr constant i2 -2, align 1
@builtin.mode = internal unnamed_addr constant i2 -2, align 1
@debug.runtime_safety = internal unnamed_addr constant i1 false, align 1
@debug.runtime_safety = internal unnamed_addr constant i1 false, align 1
@debug.default_enable_segfault_handler = internal unnamed_addr constant i1 false, align 1
@debug.default_enable_segfault_handler = internal unnamed_addr constant i1 false, align 1
@log.default_level = internal unnamed_addr constant i2 0, align 1
@log.default_level = internal unnamed_addr constant i2 0, align 1
@std.options = internal unnamed_addr constant %std.Options { i64 3, i1 false, i2 0, i1 false, i1 true, i1 false, i1 false, i2 -2, [1 x i8] undef }, align 8
@std.options = internal unnamed_addr constant %std.Options { i64 3, i1 false, i2 0, i1 false, i1 true, i1 false, i1 false, i2 -2, [1 x i8] undef }, align 8
@debug.enable_segfault_handler = internal unnamed_addr constant i1 false, align 1
@debug.enable_segfault_handler = internal unnamed_addr constant i1 false, align 1
@posix.use_libc = internal unnamed_addr constant i1 true, align 1
@posix.use_libc = internal unnamed_addr constant i1 true, align 1
@c.native_os = internal unnamed_addr constant i6 10, align 1
@c.native_os = internal unnamed_addr constant i6 10, align 1
@c.darwin.empty_sigset = internal unnamed_addr constant i32 0, align 4
@c.darwin.empty_sigset = internal unnamed_addr constant i32 0, align 4
@posix.empty_sigset = internal unnamed_addr constant i32 0, align 4
@posix.empty_sigset = internal unnamed_addr constant i32 0, align 4
@builtin.abi = internal unnamed_addr constant i6 0, align 1
@builtin.abi = internal unnamed_addr constant i6 0, align 1
@builtin.object_format = internal unnamed_addr constant i4 3, align 1
@builtin.object_format = internal unnamed_addr constant i4 3, align 1
@Target.DynamicLinker.none = internal unnamed_addr constant %Target.DynamicLinker { [255 x i8] undef, i8 0 }, align 1
@Target.DynamicLinker.none = internal unnamed_addr constant %Target.DynamicLinker { [255 x i8] undef, i8 0 }, align 1
@builtin.target = internal unnamed_addr constant { %Target.Cpu, { { <{ %SemanticVersion.Range, [56 x i8] }> }, i6, [7 x i8] }, i6, i4, %Target.DynamicLinker, [6 x i8] } { %Target.Cpu { ptr getelementptr inbounds (i8, ptr @Target.x86.cpu.skylake, i64 0), %Target.Cpu.Feature.Set { [5 x i64] [i64 4705857814956941552, i64 2308508483300179218, i64 275001222971540504, i64 0, i64 0] }, i6 -27, [7 x i8] undef }, { { <{ %SemanticVersion.Range, [56 x i8] }> }, i6, [7 x i8] } { { <{ %SemanticVersion.Range, [56 x i8] }> } { <{ %SemanticVersion.Range, [56 x i8] }> <{ %SemanticVersion.Range { %SemanticVersion { i64 14, i64 5, i64 0, { ptr, i64 } zeroinitializer, { ptr, i64 } zeroinitializer }, %SemanticVersion { i64 14, i64 5, i64 0, { ptr, i64 } zeroinitializer, { ptr, i64 } zeroinitializer } }, [56 x i8] undef }> }, i6 10, [7 x i8] undef }, i6 0, i4 3, %Target.DynamicLinker { [255 x i8] [i8 47, i8 117, i8 115, i8 114, i8 47, i8 108, i8 105, i8 98, i8 47, i8 100, i8 121, i8 108, i8 100, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef], i8 13 }, [6 x i8] undef }, align 8
@builtin.target = internal unnamed_addr constant { %Target.Cpu, { { <{ %SemanticVersion.Range, [56 x i8] }> }, i6, [7 x i8] }, i6, i4, %Target.DynamicLinker, [6 x i8] } { %Target.Cpu { ptr getelementptr inbounds (i8, ptr @Target.x86.cpu.skylake, i64 0), %Target.Cpu.Feature.Set { [5 x i64] [i64 4705857814956941552, i64 2308508483300179218, i64 275001222971540504, i64 0, i64 0] }, i6 -27, [7 x i8] undef }, { { <{ %SemanticVersion.Range, [56 x i8] }> }, i6, [7 x i8] } { { <{ %SemanticVersion.Range, [56 x i8] }> } { <{ %SemanticVersion.Range, [56 x i8] }> <{ %SemanticVersion.Range { %SemanticVersion { i64 14, i64 5, i64 0, { ptr, i64 } zeroinitializer, { ptr, i64 } zeroinitializer }, %SemanticVersion { i64 14, i64 5, i64 0, { ptr, i64 } zeroinitializer, { ptr, i64 } zeroinitializer } }, [56 x i8] undef }> }, i6 10, [7 x i8] undef }, i6 0, i4 3, %Target.DynamicLinker { [255 x i8] [i8 47, i8 117, i8 115, i8 114, i8 47, i8 108, i8 105, i8 98, i8 47, i8 100, i8 121, i8 108, i8 100, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef], i8 13 }, [6 x i8] undef }, align 8
@_mh_execute_header = weak_odr dso_local global %macho.mach_header_64 undef, align 4
@_mh_execute_header = weak_odr dso_local global %macho.mach_header_64 undef, align 4
@__anon_2157 = internal unnamed_addr constant [16 x i8] c"(msg truncated)\00", align 1
@__anon_2157 = internal unnamed_addr constant [16 x i8] c"(msg truncated)\00", align 1
@Progress.stderr_mutex = internal unnamed_addr global %Thread.Mutex.Recursive { i64 -1, i64 0, %Thread.Mutex zeroinitializer, [4 x i8] undef }, align 8
@Progress.stderr_mutex = internal unnamed_addr global %Thread.Mutex.Recursive { i64 -1, i64 0, %Thread.Mutex zeroinitializer, [4 x i8] undef }, align 8
@0 = private unnamed_addr constant %fmt.FormatOptions { { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, i21 32, i2 -2, [3 x i8] undef }, align 8
@0 = private unnamed_addr constant %fmt.FormatOptions { { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, i21 32, i2 -2, [3 x i8] undef }, align 8
@__anon_1474 = internal unnamed_addr constant [5 x i8] c"{d}\0A\00", align 1
@__anon_1474 = internal unnamed_addr constant [5 x i8] c"{d}\0A\00", align 1
@__anon_1704 = internal unnamed_addr constant [40 x i8] c"failed to set noop SIGPIPE handler: {s}\00", align 1
@__anon_1704 = internal unnamed_addr constant [40 x i8] c"failed to set noop SIGPIPE handler: {s}\00", align 1
@1 = private unnamed_addr constant %fmt.FormatOptions { { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, i21 32, i2 -2, [3 x i8] undef }, align 8
@1 = private unnamed_addr constant %fmt.FormatOptions { { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, i21 32, i2 -2, [3 x i8] undef }, align 8
@2 = private unnamed_addr constant { { ptr, i64 }, i16, [6 x i8] } { { ptr, i64 } undef, i16 5, [6 x i8] undef }, align 8
@2 = private unnamed_addr constant { { ptr, i64 }, i16, [6 x i8] } { { ptr, i64 } undef, i16 5, [6 x i8] undef }, align 8
@Thread.native_os = internal unnamed_addr constant i6 10, align 1
@Thread.native_os = internal unnamed_addr constant i6 10, align 1
@builtin.single_threaded = internal unnamed_addr constant i1 false, align 1
@builtin.single_threaded = internal unnamed_addr constant i1 false, align 1
@Thread.Mutex.Recursive.invalid_thread_id = internal unnamed_addr constant i64 -1, align 8
@Thread.Mutex.Recursive.invalid_thread_id = internal unnamed_addr constant i64 -1, align 8
@Thread.Mutex.Recursive.init = internal unnamed_addr constant %Thread.Mutex.Recursive { i64 -1, i64 0, %Thread.Mutex zeroinitializer, [4 x i8] undef }, align 8
@Thread.Mutex.Recursive.init = internal unnamed_addr constant %Thread.Mutex.Recursive { i64 -1, i64 0, %Thread.Mutex zeroinitializer, [4 x i8] undef }, align 8
@Progress.global_progress = internal unnamed_addr global %Progress { { %Thread, i8, [7 x i8] } { %Thread undef, i8 0, [7 x i8] undef }, i64 undef, i64 undef, { ptr, i64 } undef, { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @Progress.node_parents_buffer, i64 0), i64 83 }, { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @Progress.node_storage_buffer, i64 0), i64 83 }, { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @Progress.node_freelist_buffer, i64 0), i64 83 }, %fs.File undef, %Thread.ResetEvent zeroinitializer, i32 0, i16 0, i16 0, i2 0, i1 false, i1 false, i8 -1, [4 x i8] undef }, align 8
@Progress.global_progress = internal unnamed_addr global %Progress { { %Thread, i8, [7 x i8] } { %Thread undef, i8 0, [7 x i8] undef }, i64 undef, i64 undef, { ptr, i64 } undef, { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @Progress.node_parents_buffer, i64 0), i64 83 }, { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @Progress.node_storage_buffer, i64 0), i64 83 }, { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @Progress.node_freelist_buffer, i64 0), i64 83 }, %fs.File undef, %Thread.ResetEvent zeroinitializer, i32 0, i16 0, i16 0, i2 0, i1 false, i1 false, i8 -1, [4 x i8] undef }, align 8
@3 = private unnamed_addr constant [3 x i8] c"\1B[J", align 1
@3 = private unnamed_addr constant [3 x i8] c"\1B[J", align 1
@io.is_windows = internal unnamed_addr constant i1 false, align 1
@io.is_windows = internal unnamed_addr constant i1 false, align 1
@fs.File.is_windows = internal unnamed_addr constant i1 false, align 1
@fs.File.is_windows = internal unnamed_addr constant i1 false, align 1
@4 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 0, i16 0, [6 x i8] undef }, align 8
@4 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 0, i16 0, [6 x i8] undef }, align 8
@5 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 7, [6 x i8] undef }, align 8
@5 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 7, [6 x i8] undef }, align 8
@6 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 14, [6 x i8] undef }, align 8
@6 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 14, [6 x i8] undef }, align 8
@7 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 12, [6 x i8] undef }, align 8
@7 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 12, [6 x i8] undef }, align 8
@8 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 2, [6 x i8] undef }, align 8
@8 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 2, [6 x i8] undef }, align 8
@9 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 3, [6 x i8] undef }, align 8
@9 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 3, [6 x i8] undef }, align 8
@10 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 4, [6 x i8] undef }, align 8
@10 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 4, [6 x i8] undef }, align 8
@11 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 5, [6 x i8] undef }, align 8
@11 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 5, [6 x i8] undef }, align 8
@12 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 8, [6 x i8] undef }, align 8
@12 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 8, [6 x i8] undef }, align 8
@13 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 9, [6 x i8] undef }, align 8
@13 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 9, [6 x i8] undef }, align 8
@14 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 15, [6 x i8] undef }, align 8
@14 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 15, [6 x i8] undef }, align 8
@15 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 6, [6 x i8] undef }, align 8
@15 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 6, [6 x i8] undef }, align 8
@fmt.max_format_args = internal unnamed_addr constant i16 32, align 2
@fmt.max_format_args = internal unnamed_addr constant i16 32, align 2
@__anon_3237 = internal unnamed_addr constant [8 x i8] c"{ ... }\00", align 1
@__anon_3237 = internal unnamed_addr constant [8 x i8] c"{ ... }\00", align 1
@debug.panic_stage = internal thread_local unnamed_addr global i64 0, align 8
@debug.panic_stage = internal thread_local unnamed_addr global i64 0, align 8
@debug.panicking = internal unnamed_addr global %"atomic.Value(u8)" zeroinitializer, align 1
@debug.panicking = internal unnamed_addr global %"atomic.Value(u8)" zeroinitializer, align 1
@Progress.node_parents_buffer = internal unnamed_addr global [83 x i8] undef, align 1
@Progress.node_parents_buffer = internal unnamed_addr global [83 x i8] undef, align 1
@Progress.node_storage_buffer = internal unnamed_addr global [83 x %Progress.Node.Storage] undef, align 4
@Progress.node_storage_buffer = internal unnamed_addr global [83 x %Progress.Node.Storage] undef, align 4
@Progress.node_freelist_buffer = internal unnamed_addr global [83 x i8] undef, align 1
@Progress.node_freelist_buffer = internal unnamed_addr global [83 x i8] undef, align 1
@Progress.is_windows = internal unnamed_addr constant i1 false, align 1
@Progress.is_windows = internal unnamed_addr constant i1 false, align 1
@Thread.use_pthreads = internal unnamed_addr constant i1 true, align 1
@Thread.use_pthreads = internal unnamed_addr constant i1 true, align 1
@Progress.clear = internal unnamed_addr constant ptr getelementptr inbounds (i8, ptr @__anon_3049, i64 0), align 8
@Progress.clear = internal unnamed_addr constant ptr getelementptr inbounds (i8, ptr @__anon_3049, i64 0), align 8
@__anon_3049 = internal unnamed_addr constant [4 x i8] c"\1B[J\00", align 1
@__anon_3049 = internal unnamed_addr constant [4 x i8] c"\1B[J\00", align 1
@posix.native_os = internal unnamed_addr constant i6 10, align 1
@posix.native_os = internal unnamed_addr constant i6 10, align 1
@fmt.ANY = internal unnamed_addr constant ptr getelementptr inbounds (i8, ptr @__anon_3156, i64 0), align 8
@fmt.ANY = internal unnamed_addr constant ptr getelementptr inbounds (i8, ptr @__anon_3156, i64 0), align 8
@__anon_3156 = internal unnamed_addr constant [4 x i8] c"any\00", align 1
@__anon_3156 = internal unnamed_addr constant [4 x i8] c"any\00", align 1
@16 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 0, i3 1, [1 x i8] undef }, align 2
@16 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 0, i3 1, [1 x i8] undef }, align 2
@17 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 0, i3 2, [1 x i8] undef }, align 2
@17 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 0, i3 2, [1 x i8] undef }, align 2
@18 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 0, i3 3, [1 x i8] undef }, align 2
@18 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 0, i3 3, [1 x i8] undef }, align 2
@19 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 0, i3 -4, [1 x i8] undef }, align 2
@19 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 0, i3 -4, [1 x i8] undef }, align 2
@20 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 23, i3 undef, [1 x i8] undef }, align 2
@20 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 23, i3 undef, [1 x i8] undef }, align 2
@21 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 24, [6 x i8] undef }, align 8
@21 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 24, [6 x i8] undef }, align 8
복사
복사됨
복사
복사됨
@__anon_
3651
= internal unnamed_addr constant [3 x i8] c"\EF\BF\BD", align 1
@__anon_
3683
= internal unnamed_addr constant [3 x i8] c"\EF\BF\BD", align 1
@22 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 0, i16 0, [6 x i8] undef }, align 8
@22 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 0, i16 0, [6 x i8] undef }, align 8
@23 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 5, [6 x i8] undef }, align 8
@23 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 5, [6 x i8] undef }, align 8
@posix.unexpected_error_tracing = internal unnamed_addr constant i1 false, align 1
@posix.unexpected_error_tracing = internal unnamed_addr constant i1 false, align 1
복사
복사됨
복사
복사됨
@__anon_
3758
= internal unnamed_addr constant [201 x i8] c"00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899\00", align 1
@__anon_
3790
= internal unnamed_addr constant [201 x i8] c"00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899\00", align 1
@unicode.native_endian = internal unnamed_addr constant i1 true, align 1
@unicode.native_endian = internal unnamed_addr constant i1 true, align 1
@mem.native_endian = internal unnamed_addr constant i1 true, align 1
@mem.native_endian = internal unnamed_addr constant i1 true, align 1
@24 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 0, i3 1, [1 x i8] undef }, align 2
@24 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 0, i3 1, [1 x i8] undef }, align 2
@25 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 0, i3 2, [1 x i8] undef }, align 2
@25 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 0, i3 2, [1 x i8] undef }, align 2
@26 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 0, i3 3, [1 x i8] undef }, align 2
@26 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 0, i3 3, [1 x i8] undef }, align 2
@27 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 0, i3 -4, [1 x i8] undef }, align 2
@27 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 0, i3 -4, [1 x i8] undef }, align 2
@28 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 26, i3 undef, [1 x i8] undef }, align 2
@28 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 26, i3 undef, [1 x i8] undef }, align 2
@29 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 25, i3 undef, [1 x i8] undef }, align 2
@29 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 25, i3 undef, [1 x i8] undef }, align 2
@unicode.replacement_character = internal unnamed_addr constant i21 65533, align 4
@unicode.replacement_character = internal unnamed_addr constant i21 65533, align 4
@__anon_3287 = internal unnamed_addr constant [18 x i8] c"thread {} panic: \00", align 1
@__anon_3287 = internal unnamed_addr constant [18 x i8] c"thread {} panic: \00", align 1
@30 = private unnamed_addr constant %fmt.FormatOptions { { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, i21 32, i2 -2, [3 x i8] undef }, align 8
@30 = private unnamed_addr constant %fmt.FormatOptions { { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, i21 32, i2 -2, [3 x i8] undef }, align 8
@31 = private unnamed_addr constant %fmt.FormatOptions { { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, i21 32, i2 -2, [3 x i8] undef }, align 8
@31 = private unnamed_addr constant %fmt.FormatOptions { { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, i21 32, i2 -2, [3 x i8] undef }, align 8
@__anon_3300 = internal unnamed_addr constant [5 x i8] c"{s}\0A\00", align 1
@__anon_3300 = internal unnamed_addr constant [5 x i8] c"{s}\0A\00", align 1
@builtin.strip_debug_info = internal unnamed_addr constant i1 true, align 1
@builtin.strip_debug_info = internal unnamed_addr constant i1 true, align 1
@32 = private unnamed_addr constant { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, align 8
@32 = private unnamed_addr constant { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, align 8
@__anon_3318 = internal unnamed_addr constant [36 x i8] c"Panicked during a panic. Aborting.\0A\00", align 1
@__anon_3318 = internal unnamed_addr constant [36 x i8] c"Panicked during a panic. Aborting.\0A\00", align 1
@33 = private unnamed_addr constant { i21, i16, [2 x i8] } { i21 undef, i16 19, [2 x i8] undef }, align 4
@33 = private unnamed_addr constant { i21, i16, [2 x i8] } { i21 undef, i16 19, [2 x i8] undef }, align 4
@34 = private unnamed_addr constant { i21, i16, [2 x i8] } { i21 undef, i16 20, [2 x i8] undef }, align 4
@34 = private unnamed_addr constant { i21, i16, [2 x i8] } { i21 undef, i16 20, [2 x i8] undef }, align 4
@35 = private unnamed_addr constant { i21, i16, [2 x i8] } { i21 undef, i16 21, [2 x i8] undef }, align 4
@35 = private unnamed_addr constant { i21, i16, [2 x i8] } { i21 undef, i16 21, [2 x i8] undef }, align 4
@36 = private unnamed_addr constant { i21, i16, [2 x i8] } { i21 undef, i16 19, [2 x i8] undef }, align 4
@36 = private unnamed_addr constant { i21, i16, [2 x i8] } { i21 undef, i16 19, [2 x i8] undef }, align 4
@37 = private unnamed_addr constant { i21, i16, [2 x i8] } { i21 undef, i16 20, [2 x i8] undef }, align 4
@37 = private unnamed_addr constant { i21, i16, [2 x i8] } { i21 undef, i16 20, [2 x i8] undef }, align 4
@38 = private unnamed_addr constant { i21, i16, [2 x i8] } { i21 undef, i16 22, [2 x i8] undef }, align 4
@38 = private unnamed_addr constant { i21, i16, [2 x i8] } { i21 undef, i16 22, [2 x i8] undef }, align 4
복사
복사됨
복사
복사됨
@__anon_
3692
= internal unnamed_addr constant [49 x i8] c"Unable to dump stack trace: debug info stripped\0A\00", align 1
@__anon_
3724
= internal unnamed_addr constant [49 x i8] c"Unable to dump stack trace: debug info stripped\0A\00", align 1
@39 = private unnamed_addr constant { i21, i16, [2 x i8] } { i21 undef, i16 19, [2 x i8] undef }, align 4
@39 = private unnamed_addr constant { i21, i16, [2 x i8] } { i21 undef, i16 19, [2 x i8] undef }, align 4
@40 = private unnamed_addr constant { i21, i16, [2 x i8] } { i21 undef, i16 20, [2 x i8] undef }, align 4
@40 = private unnamed_addr constant { i21, i16, [2 x i8] } { i21 undef, i16 20, [2 x i8] undef }, align 4
@41 = private unnamed_addr constant [22 x i8] c"OperationNotSupported\00", align 1
@41 = private unnamed_addr constant [22 x i8] c"OperationNotSupported\00", align 1
@42 = private unnamed_addr constant [10 x i8] c"DiskQuota\00", align 1
@42 = private unnamed_addr constant [10 x i8] c"DiskQuota\00", align 1
@43 = private unnamed_addr constant [11 x i8] c"FileTooBig\00", align 1
@43 = private unnamed_addr constant [11 x i8] c"FileTooBig\00", align 1
@44 = private unnamed_addr constant [12 x i8] c"InputOutput\00", align 1
@44 = private unnamed_addr constant [12 x i8] c"InputOutput\00", align 1
@45 = private unnamed_addr constant [12 x i8] c"NoSpaceLeft\00", align 1
@45 = private unnamed_addr constant [12 x i8] c"NoSpaceLeft\00", align 1
@46 = private unnamed_addr constant [11 x i8] c"DeviceBusy\00", align 1
@46 = private unnamed_addr constant [11 x i8] c"DeviceBusy\00", align 1
@47 = private unnamed_addr constant [16 x i8] c"InvalidArgument\00", align 1
@47 = private unnamed_addr constant [16 x i8] c"InvalidArgument\00", align 1
@48 = private unnamed_addr constant [13 x i8] c"AccessDenied\00", align 1
@48 = private unnamed_addr constant [13 x i8] c"AccessDenied\00", align 1
@49 = private unnamed_addr constant [11 x i8] c"BrokenPipe\00", align 1
@49 = private unnamed_addr constant [11 x i8] c"BrokenPipe\00", align 1
@50 = private unnamed_addr constant [16 x i8] c"SystemResources\00", align 1
@50 = private unnamed_addr constant [16 x i8] c"SystemResources\00", align 1
@51 = private unnamed_addr constant [17 x i8] c"OperationAborted\00", align 1
@51 = private unnamed_addr constant [17 x i8] c"OperationAborted\00", align 1
@52 = private unnamed_addr constant [18 x i8] c"NotOpenForWriting\00", align 1
@52 = private unnamed_addr constant [18 x i8] c"NotOpenForWriting\00", align 1
@53 = private unnamed_addr constant [14 x i8] c"LockViolation\00", align 1
@53 = private unnamed_addr constant [14 x i8] c"LockViolation\00", align 1
@54 = private unnamed_addr constant [11 x i8] c"WouldBlock\00", align 1
@54 = private unnamed_addr constant [11 x i8] c"WouldBlock\00", align 1
@55 = private unnamed_addr constant [22 x i8] c"ConnectionResetByPeer\00", align 1
@55 = private unnamed_addr constant [22 x i8] c"ConnectionResetByPeer\00", align 1
@56 = private unnamed_addr constant [11 x i8] c"Unexpected\00", align 1
@56 = private unnamed_addr constant [11 x i8] c"Unexpected\00", align 1
@57 = private unnamed_addr constant [9 x i8] c"Overflow\00", align 1
@57 = private unnamed_addr constant [9 x i8] c"Overflow\00", align 1
@58 = private unnamed_addr constant [12 x i8] c"InvalidUtf8\00", align 1
@58 = private unnamed_addr constant [12 x i8] c"InvalidUtf8\00", align 1
@59 = private unnamed_addr constant [25 x i8] c"Utf8ExpectedContinuation\00", align 1
@59 = private unnamed_addr constant [25 x i8] c"Utf8ExpectedContinuation\00", align 1
@60 = private unnamed_addr constant [21 x i8] c"Utf8OverlongEncoding\00", align 1
@60 = private unnamed_addr constant [21 x i8] c"Utf8OverlongEncoding\00", align 1
@61 = private unnamed_addr constant [25 x i8] c"Utf8EncodesSurrogateHalf\00", align 1
@61 = private unnamed_addr constant [25 x i8] c"Utf8EncodesSurrogateHalf\00", align 1
@62 = private unnamed_addr constant [22 x i8] c"Utf8CodepointTooLarge\00", align 1
@62 = private unnamed_addr constant [22 x i8] c"Utf8CodepointTooLarge\00", align 1
@63 = private unnamed_addr constant [21 x i8] c"Utf8InvalidStartByte\00", align 1
@63 = private unnamed_addr constant [21 x i8] c"Utf8InvalidStartByte\00", align 1
@64 = private unnamed_addr constant [15 x i8] c"TruncatedInput\00", align 1
@64 = private unnamed_addr constant [15 x i8] c"TruncatedInput\00", align 1
@65 = private unnamed_addr constant [30 x i8] c"Utf8CannotEncodeSurrogateHalf\00", align 1
@65 = private unnamed_addr constant [30 x i8] c"Utf8CannotEncodeSurrogateHalf\00", align 1
@66 = private unnamed_addr constant [18 x i8] c"CodepointTooLarge\00", align 1
@66 = private unnamed_addr constant [18 x i8] c"CodepointTooLarge\00", align 1
@67 = private unnamed_addr constant [8 x i8] c"Timeout\00", align 1
@67 = private unnamed_addr constant [8 x i8] c"Timeout\00", align 1
@68 = private unnamed_addr constant [28 x { ptr, i64 }] [{ ptr, i64 } undef, { ptr, i64 } { ptr @41, i64 21 }, { ptr, i64 } { ptr @42, i64 9 }, { ptr, i64 } { ptr @43, i64 10 }, { ptr, i64 } { ptr @44, i64 11 }, { ptr, i64 } { ptr @45, i64 11 }, { ptr, i64 } { ptr @46, i64 10 }, { ptr, i64 } { ptr @47, i64 15 }, { ptr, i64 } { ptr @48, i64 12 }, { ptr, i64 } { ptr @49, i64 10 }, { ptr, i64 } { ptr @50, i64 15 }, { ptr, i64 } { ptr @51, i64 16 }, { ptr, i64 } { ptr @52, i64 17 }, { ptr, i64 } { ptr @53, i64 13 }, { ptr, i64 } { ptr @54, i64 10 }, { ptr, i64 } { ptr @55, i64 21 }, { ptr, i64 } { ptr @56, i64 10 }, { ptr, i64 } { ptr @57, i64 8 }, { ptr, i64 } { ptr @58, i64 11 }, { ptr, i64 } { ptr @59, i64 24 }, { ptr, i64 } { ptr @60, i64 20 }, { ptr, i64 } { ptr @61, i64 24 }, { ptr, i64 } { ptr @62, i64 21 }, { ptr, i64 } { ptr @63, i64 20 }, { ptr, i64 } { ptr @64, i64 14 }, { ptr, i64 } { ptr @65, i64 29 }, { ptr, i64 } { ptr @66, i64 17 }, { ptr, i64 } { ptr @67, i64 7 }], align 8
@68 = private unnamed_addr constant [28 x { ptr, i64 }] [{ ptr, i64 } undef, { ptr, i64 } { ptr @41, i64 21 }, { ptr, i64 } { ptr @42, i64 9 }, { ptr, i64 } { ptr @43, i64 10 }, { ptr, i64 } { ptr @44, i64 11 }, { ptr, i64 } { ptr @45, i64 11 }, { ptr, i64 } { ptr @46, i64 10 }, { ptr, i64 } { ptr @47, i64 15 }, { ptr, i64 } { ptr @48, i64 12 }, { ptr, i64 } { ptr @49, i64 10 }, { ptr, i64 } { ptr @50, i64 15 }, { ptr, i64 } { ptr @51, i64 16 }, { ptr, i64 } { ptr @52, i64 17 }, { ptr, i64 } { ptr @53, i64 13 }, { ptr, i64 } { ptr @54, i64 10 }, { ptr, i64 } { ptr @55, i64 21 }, { ptr, i64 } { ptr @56, i64 10 }, { ptr, i64 } { ptr @57, i64 8 }, { ptr, i64 } { ptr @58, i64 11 }, { ptr, i64 } { ptr @59, i64 24 }, { ptr, i64 } { ptr @60, i64 20 }, { ptr, i64 } { ptr @61, i64 24 }, { ptr, i64 } { ptr @62, i64 21 }, { ptr, i64 } { ptr @63, i64 20 }, { ptr, i64 } { ptr @64, i64 14 }, { ptr, i64 } { ptr @65, i64 29 }, { ptr, i64 } { ptr @66, i64 17 }, { ptr, i64 } { ptr @67, i64 7 }], align 8
; Function Attrs: nounwind uwtable
; Function Attrs: nounwind uwtable
define internal fastcc i16 @biggy.main() unnamed_addr #0 {
define internal fastcc i16 @biggy.main() unnamed_addr #0 {
0:
0:
call fastcc void @debug.print__anon_972()
call fastcc void @debug.print__anon_972()
ret i16 0
ret i16 0
}
}
; Function Attrs: nounwind uwtable
; Function Attrs: nounwind uwtable
define internal fastcc void @debug.print__anon_972() unnamed_addr #0 {
define internal fastcc void @debug.print__anon_972() unnamed_addr #0 {
0:
0:
%1 = alloca [16 x i8], align 8
%1 = alloca [16 x i8], align 8
%2 = alloca [8 x i8], align 8
%2 = alloca [8 x i8], align 8
%3 = alloca [16 x i8], align 8
%3 = alloca [16 x i8], align 8
%4 = alloca [4 x i8], align 4
%4 = alloca [4 x i8], align 4
%5 = alloca [4 x i8], align 4
%5 = alloca [4 x i8], align 4
%6 = alloca [4 x i8], align 4
%6 = alloca [4 x i8], align 4
%7 = alloca [4 x i8], align 4
%7 = alloca [4 x i8], align 4
%8 = alloca [4 x i8], align 4
%8 = alloca [4 x i8], align 4
call fastcc void @debug.lockStdErr()
call fastcc void @debug.lockStdErr()
call fastcc void @io.getStdErr(ptr sret(%fs.File) %8)
call fastcc void @io.getStdErr(ptr sret(%fs.File) %8)
call void @llvm.memcpy.p0.p0.i64(ptr align 4 %7, ptr align 4 %8, i64 4, i1 false)
call void @llvm.memcpy.p0.p0.i64(ptr align 4 %7, ptr align 4 %8, i64 4, i1 false)
call fastcc void @fs.File.writer(ptr sret(%"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))") %6, ptr align 4 readonly nonnull %7)
call fastcc void @fs.File.writer(ptr sret(%"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))") %6, ptr align 4 readonly nonnull %7)
call void @llvm.memcpy.p0.p0.i64(ptr align 4 %5, ptr align 4 %6, i64 4, i1 false)
call void @llvm.memcpy.p0.p0.i64(ptr align 4 %5, ptr align 4 %6, i64 4, i1 false)
call void @llvm.memcpy.p0.p0.i64(ptr align 4 %4, ptr align 4 %5, i64 4, i1 false)
call void @llvm.memcpy.p0.p0.i64(ptr align 4 %4, ptr align 4 %5, i64 4, i1 false)
%9 = getelementptr inbounds %io.Writer, ptr %3, i32 0, i32 0
%9 = getelementptr inbounds %io.Writer, ptr %3, i32 0, i32 0
store ptr %4, ptr %2, align 8
store ptr %4, ptr %2, align 8
%10 = load ptr, ptr %2, align 8
%10 = load ptr, ptr %2, align 8
%11 = getelementptr inbounds %"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))", ptr %10, i32 0, i32 0
%11 = getelementptr inbounds %"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))", ptr %10, i32 0, i32 0
store ptr %11, ptr %9, align 8
store ptr %11, ptr %9, align 8
%12 = getelementptr inbounds %io.Writer, ptr %3, i32 0, i32 1
%12 = getelementptr inbounds %io.Writer, ptr %3, i32 0, i32 1
store ptr getelementptr inbounds (i8, ptr @"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write')).typeErasedWriteFn", i64 0), ptr %12, align 8
store ptr getelementptr inbounds (i8, ptr @"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write')).typeErasedWriteFn", i64 0), ptr %12, align 8
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1, ptr align 8 %3, i64 16, i1 false)
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1, ptr align 8 %3, i64 16, i1 false)
%13 = call fastcc i16 @io.Writer.print__anon_2829(ptr align 8 readonly nonnull %1)
%13 = call fastcc i16 @io.Writer.print__anon_2829(ptr align 8 readonly nonnull %1)
%14 = icmp eq i16 %13, 0
%14 = icmp eq i16 %13, 0
br i1 %14, label %16, label %17
br i1 %14, label %16, label %17
15:
15:
call fastcc void @debug.unlockStdErr()
call fastcc void @debug.unlockStdErr()
ret void
ret void
16:
16:
br label %15
br label %15
17:
17:
call fastcc void @debug.unlockStdErr()
call fastcc void @debug.unlockStdErr()
ret void
ret void
}
}
; Function Attrs: nounwind uwtable
; Function Attrs: nounwind uwtable
define dso_local i32 @main(i32 %0, ptr align 8 nonnull %1, ptr align 8 nonnull %2) #0 {
define dso_local i32 @main(i32 %0, ptr align 8 nonnull %1, ptr align 8 nonnull %2) #0 {
3:
3:
%4 = alloca [8 x i8], align 8
%4 = alloca [8 x i8], align 8
%5 = alloca [8 x i8], align 8
%5 = alloca [8 x i8], align 8
%6 = alloca [8 x i8], align 8
%6 = alloca [8 x i8], align 8
store i64 0, ptr %6, align 8
store i64 0, ptr %6, align 8
br label %19
br label %19
7:
7:
store ptr %2, ptr %5, align 8
store ptr %2, ptr %5, align 8
%8 = load i64, ptr %6, align 8
%8 = load i64, ptr %6, align 8
%9 = load ptr, ptr %5, align 8
%9 = load ptr, ptr %5, align 8
%10 = getelementptr inbounds ptr, ptr %9, i64 0
%10 = getelementptr inbounds ptr, ptr %9, i64 0
%11 = insertvalue { ptr, i64 } poison, ptr %10, 0
%11 = insertvalue { ptr, i64 } poison, ptr %10, 0
%12 = insertvalue { ptr, i64 } %11, i64 %8, 1
%12 = insertvalue { ptr, i64 } %11, i64 %8, 1
%13 = sext i32 %0 to i64
%13 = sext i32 %0 to i64
store ptr %1, ptr %4, align 8
store ptr %1, ptr %4, align 8
%14 = load ptr, ptr %4, align 8
%14 = load ptr, ptr %4, align 8
%15 = getelementptr inbounds ptr, ptr %14, i64 0
%15 = getelementptr inbounds ptr, ptr %14, i64 0
%16 = insertvalue { ptr, i64 } poison, ptr %15, 0
%16 = insertvalue { ptr, i64 } poison, ptr %15, 0
%17 = insertvalue { ptr, i64 } %16, i64 %13, 1
%17 = insertvalue { ptr, i64 } %16, i64 %13, 1
store { ptr, i64 } %17, ptr getelementptr inbounds (i8, ptr @os.argv, i64 0), align 8
store { ptr, i64 } %17, ptr getelementptr inbounds (i8, ptr @os.argv, i64 0), align 8
store { ptr, i64 } %12, ptr getelementptr inbounds (i8, ptr @os.environ, i64 0), align 8
store { ptr, i64 } %12, ptr getelementptr inbounds (i8, ptr @os.environ, i64 0), align 8
call fastcc void @debug.maybeEnableSegfaultHandler()
call fastcc void @debug.maybeEnableSegfaultHandler()
call fastcc void @start.maybeIgnoreSigpipe()
call fastcc void @start.maybeIgnoreSigpipe()
%18 = call fastcc i16 @biggy.main()
%18 = call fastcc i16 @biggy.main()
ret i32 0
ret i32 0
19:
19:
%20 = load i64, ptr %6, align 8
%20 = load i64, ptr %6, align 8
%21 = getelementptr inbounds ptr, ptr %2, i64 %20
%21 = getelementptr inbounds ptr, ptr %2, i64 %20
%22 = load ptr, ptr %21, align 8
%22 = load ptr, ptr %21, align 8
%23 = icmp ne ptr %22, null
%23 = icmp ne ptr %22, null
br i1 %23, label %25, label %28
br i1 %23, label %25, label %28
24:
24:
br label %19
br label %19
25:
25:
%26 = load i64, ptr %6, align 8
%26 = load i64, ptr %6, align 8
%27 = add nuw i64 %26, 1
%27 = add nuw i64 %26, 1
store i64 %27, ptr %6, align 8
store i64 %27, ptr %6, align 8
br label %24
br label %24
28:
28:
br label %7
br label %7
}
}
; Function Attrs: nounwind uwtable
; Function Attrs: nounwind uwtable
define internal fastcc void @debug.maybeEnableSegfaultHandler() unnamed_addr #0 {
define internal fastcc void @debug.maybeEnableSegfaultHandler() unnamed_addr #0 {
0:
0:
ret void
ret void
}
}
; Function Attrs: nounwind uwtable
; Function Attrs: nounwind uwtable
define internal fastcc void @start.maybeIgnoreSigpipe() unnamed_addr #0 {
define internal fastcc void @start.maybeIgnoreSigpipe() unnamed_addr #0 {
0:
0:
%1 = all
%1 = all
저장된 비교 결과
원본
파일 열기
; ModuleID = 'biggy' source_filename = "biggy" target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-macosx14.5.0-unknown" %Target.Cpu.Feature.Set = type { [5 x i64] } %Target.Cpu.Model = type { { ptr, i64 }, { ptr, i64 }, %Target.Cpu.Feature.Set } %Target.Cpu = type { ptr, %Target.Cpu.Feature.Set, i6, [7 x i8] } %SemanticVersion = type { i64, i64, i64, { ptr, i64 }, { ptr, i64 } } %SemanticVersion.Range = type { %SemanticVersion, %SemanticVersion } %Target.Os.LinuxVersionRange = type { %SemanticVersion.Range, %SemanticVersion } %Target.Os.VersionRange = type { %Target.Os.LinuxVersionRange } %Target.Os = type { %Target.Os.VersionRange, i6, [7 x i8] } %c.darwin.Sigaction.Sigaction__union_2578 = type { ptr } %c.darwin.Sigaction = type { %c.darwin.Sigaction.Sigaction__union_2578, i32, i32 } %fs.File = type { i32 } %"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))" = type { %fs.File } %io.Writer = type { ptr, ptr } %std.Options = type { i64, i1, i2, i1, i1, i1, i1, i2, [1 x i8] } %Target.DynamicLinker = type { [255 x i8], i8 } %Target = type { %Target.Cpu, %Target.Os, i6, i4, %Target.DynamicLinker, [6 x i8] } %macho.mach_header_64 = type { i32, i32, i32, i32, i32, i32, i32, i32 } %c.darwin.os_unfair_lock = type { i32 } %Thread.Mutex.DarwinImpl = type { %c.darwin.os_unfair_lock } %Thread.Mutex = type { %Thread.Mutex.DarwinImpl } %Thread.Mutex.Recursive = type { i64, i64, %Thread.Mutex, [4 x i8] } %fmt.FormatOptions = type { { i64, i8, [7 x i8] }, { i64, i8, [7 x i8] }, i21, i2, [3 x i8] } %"io.fixed_buffer_stream.FixedBufferStream([]u8)" = type { { ptr, i64 }, i64 } %"io.GenericWriter(*io.fixed_buffer_stream.FixedBufferStream([]u8),error{NoSpaceLeft},(function 'write'))" = type { ptr } %Thread.PosixThreadImpl = type { ptr } %Thread = type { %Thread.PosixThreadImpl } %"atomic.Value(u32)" = type { i32 } %Thread.ResetEvent.FutexImpl = type { %"atomic.Value(u32)" } %Thread.ResetEvent = type { %Thread.ResetEvent.FutexImpl } %Progress = type { { %Thread, i8, [7 x i8] }, i64, i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, %fs.File, %Thread.ResetEvent, i32, i16, i16, i2, i1, i1, i8, [4 x i8] } %"atomic.Value(u8)" = type { i8 } %builtin.StackTrace = type { i64, { ptr, i64 } } %Progress.Node.Storage = type { i32, i32, [40 x i8] } @builtin.zig_backend = internal unnamed_addr constant i64 2, align 8 @Target.Cpu.Feature.Set.empty = internal unnamed_addr constant %Target.Cpu.Feature.Set zeroinitializer, align 8 @Target.x86.cpu.skylake = internal unnamed_addr constant %Target.Cpu.Model { { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_280, i64 0), i64 7 }, { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_280, i64 0), i64 7 }, %Target.Cpu.Feature.Set { [5 x i64] [i64 4703606015143248112, i64 2308508483300179218, i64 256986653737092120, i64 0, i64 0] } }, align 8 @__anon_280 = internal unnamed_addr constant [8 x i8] c"skylake\00", align 1 @builtin.cpu = internal unnamed_addr constant %Target.Cpu { ptr getelementptr inbounds (i8, ptr @Target.x86.cpu.skylake, i64 0), %Target.Cpu.Feature.Set { [5 x i64] [i64 4705857814956941552, i64 2308508483300179218, i64 275001222971540504, i64 0, i64 0] }, i6 -27, [7 x i8] undef }, align 8 @start.simplified_logic = internal unnamed_addr constant i1 false, align 1 @builtin.output_mode = internal unnamed_addr constant i2 0, align 1 @builtin.link_libc = internal unnamed_addr constant i1 true, align 1 @start.native_arch = internal unnamed_addr constant i6 -27, align 1 @os.argv = internal unnamed_addr global { ptr, i64 } undef, align 8 @os.environ = internal unnamed_addr global { ptr, i64 } undef, align 8 @builtin.os = internal unnamed_addr constant { { <{ %SemanticVersion.Range, [56 x i8] }> }, i6, [7 x i8] } { { <{ %SemanticVersion.Range, [56 x i8] }> } { <{ %SemanticVersion.Range, [56 x i8] }> <{ %SemanticVersion.Range { %SemanticVersion { i64 14, i64 5, i64 0, { ptr, i64 } zeroinitializer, { ptr, i64 } zeroinitializer }, %SemanticVersion { i64 14, i64 5, i64 0, { ptr, i64 } zeroinitializer, { ptr, i64 } zeroinitializer } }, [56 x i8] undef }> }, i6 10, [7 x i8] undef }, align 8 @__anon_1669 = internal unnamed_addr constant { { ptr }, i32, i32 } { { ptr } { ptr getelementptr inbounds (i8, ptr @start.noopSigHandler, i64 0) }, i32 0, i32 0 }, align 8 @__zig_err_name_table = private unnamed_addr constant ptr @68, align 8 @builtin.mode = internal unnamed_addr constant i2 -2, align 1 @debug.runtime_safety = internal unnamed_addr constant i1 false, align 1 @debug.default_enable_segfault_handler = internal unnamed_addr constant i1 false, align 1 @log.default_level = internal unnamed_addr constant i2 0, align 1 @std.options = internal unnamed_addr constant %std.Options { i64 3, i1 false, i2 0, i1 false, i1 true, i1 false, i1 false, i2 -2, [1 x i8] undef }, align 8 @debug.enable_segfault_handler = internal unnamed_addr constant i1 false, align 1 @posix.use_libc = internal unnamed_addr constant i1 true, align 1 @c.native_os = internal unnamed_addr constant i6 10, align 1 @c.darwin.empty_sigset = internal unnamed_addr constant i32 0, align 4 @posix.empty_sigset = internal unnamed_addr constant i32 0, align 4 @builtin.abi = internal unnamed_addr constant i6 0, align 1 @builtin.object_format = internal unnamed_addr constant i4 3, align 1 @Target.DynamicLinker.none = internal unnamed_addr constant %Target.DynamicLinker { [255 x i8] undef, i8 0 }, align 1 @builtin.target = internal unnamed_addr constant { %Target.Cpu, { { <{ %SemanticVersion.Range, [56 x i8] }> }, i6, [7 x i8] }, i6, i4, %Target.DynamicLinker, [6 x i8] } { %Target.Cpu { ptr getelementptr inbounds (i8, ptr @Target.x86.cpu.skylake, i64 0), %Target.Cpu.Feature.Set { [5 x i64] [i64 4705857814956941552, i64 2308508483300179218, i64 275001222971540504, i64 0, i64 0] }, i6 -27, [7 x i8] undef }, { { <{ %SemanticVersion.Range, [56 x i8] }> }, i6, [7 x i8] } { { <{ %SemanticVersion.Range, [56 x i8] }> } { <{ %SemanticVersion.Range, [56 x i8] }> <{ %SemanticVersion.Range { %SemanticVersion { i64 14, i64 5, i64 0, { ptr, i64 } zeroinitializer, { ptr, i64 } zeroinitializer }, %SemanticVersion { i64 14, i64 5, i64 0, { ptr, i64 } zeroinitializer, { ptr, i64 } zeroinitializer } }, [56 x i8] undef }> }, i6 10, [7 x i8] undef }, i6 0, i4 3, %Target.DynamicLinker { [255 x i8] [i8 47, i8 117, i8 115, i8 114, i8 47, i8 108, i8 105, i8 98, i8 47, i8 100, i8 121, i8 108, i8 100, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef], i8 13 }, [6 x i8] undef }, align 8 @_mh_execute_header = weak_odr dso_local global %macho.mach_header_64 undef, align 4 @__anon_2157 = internal unnamed_addr constant [16 x i8] c"(msg truncated)\00", align 1 @Progress.stderr_mutex = internal unnamed_addr global %Thread.Mutex.Recursive { i64 -1, i64 0, %Thread.Mutex zeroinitializer, [4 x i8] undef }, align 8 @0 = private unnamed_addr constant %fmt.FormatOptions { { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, i21 32, i2 -2, [3 x i8] undef }, align 8 @__anon_1474 = internal unnamed_addr constant [5 x i8] c"{d}\0A\00", align 1 @__anon_1704 = internal unnamed_addr constant [40 x i8] c"failed to set noop SIGPIPE handler: {s}\00", align 1 @1 = private unnamed_addr constant %fmt.FormatOptions { { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, i21 32, i2 -2, [3 x i8] undef }, align 8 @2 = private unnamed_addr constant { { ptr, i64 }, i16, [6 x i8] } { { ptr, i64 } undef, i16 5, [6 x i8] undef }, align 8 @Thread.native_os = internal unnamed_addr constant i6 10, align 1 @builtin.single_threaded = internal unnamed_addr constant i1 false, align 1 @Thread.Mutex.Recursive.invalid_thread_id = internal unnamed_addr constant i64 -1, align 8 @Thread.Mutex.Recursive.init = internal unnamed_addr constant %Thread.Mutex.Recursive { i64 -1, i64 0, %Thread.Mutex zeroinitializer, [4 x i8] undef }, align 8 @Progress.global_progress = internal unnamed_addr global %Progress { { %Thread, i8, [7 x i8] } { %Thread undef, i8 0, [7 x i8] undef }, i64 undef, i64 undef, { ptr, i64 } undef, { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @Progress.node_parents_buffer, i64 0), i64 83 }, { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @Progress.node_storage_buffer, i64 0), i64 83 }, { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @Progress.node_freelist_buffer, i64 0), i64 83 }, %fs.File undef, %Thread.ResetEvent zeroinitializer, i32 0, i16 0, i16 0, i2 0, i1 false, i1 false, i8 -1, [4 x i8] undef }, align 8 @3 = private unnamed_addr constant [3 x i8] c"\1B[J", align 1 @io.is_windows = internal unnamed_addr constant i1 false, align 1 @fs.File.is_windows = internal unnamed_addr constant i1 false, align 1 @4 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 0, i16 0, [6 x i8] undef }, align 8 @5 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 7, [6 x i8] undef }, align 8 @6 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 14, [6 x i8] undef }, align 8 @7 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 12, [6 x i8] undef }, align 8 @8 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 2, [6 x i8] undef }, align 8 @9 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 3, [6 x i8] undef }, align 8 @10 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 4, [6 x i8] undef }, align 8 @11 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 5, [6 x i8] undef }, align 8 @12 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 8, [6 x i8] undef }, align 8 @13 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 9, [6 x i8] undef }, align 8 @14 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 15, [6 x i8] undef }, align 8 @15 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 6, [6 x i8] undef }, align 8 @fmt.max_format_args = internal unnamed_addr constant i16 32, align 2 @__anon_3237 = internal unnamed_addr constant [8 x i8] c"{ ... }\00", align 1 @debug.panic_stage = internal thread_local unnamed_addr global i64 0, align 8 @debug.panicking = internal unnamed_addr global %"atomic.Value(u8)" zeroinitializer, align 1 @Progress.node_parents_buffer = internal unnamed_addr global [83 x i8] undef, align 1 @Progress.node_storage_buffer = internal unnamed_addr global [83 x %Progress.Node.Storage] undef, align 4 @Progress.node_freelist_buffer = internal unnamed_addr global [83 x i8] undef, align 1 @Progress.is_windows = internal unnamed_addr constant i1 false, align 1 @Thread.use_pthreads = internal unnamed_addr constant i1 true, align 1 @Progress.clear = internal unnamed_addr constant ptr getelementptr inbounds (i8, ptr @__anon_3049, i64 0), align 8 @__anon_3049 = internal unnamed_addr constant [4 x i8] c"\1B[J\00", align 1 @posix.native_os = internal unnamed_addr constant i6 10, align 1 @fmt.ANY = internal unnamed_addr constant ptr getelementptr inbounds (i8, ptr @__anon_3156, i64 0), align 8 @__anon_3156 = internal unnamed_addr constant [4 x i8] c"any\00", align 1 @16 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 0, i3 1, [1 x i8] undef }, align 2 @17 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 0, i3 2, [1 x i8] undef }, align 2 @18 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 0, i3 3, [1 x i8] undef }, align 2 @19 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 0, i3 -4, [1 x i8] undef }, align 2 @20 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 23, i3 undef, [1 x i8] undef }, align 2 @21 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 24, [6 x i8] undef }, align 8 @__anon_3651 = internal unnamed_addr constant [3 x i8] c"\EF\BF\BD", align 1 @22 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 0, i16 0, [6 x i8] undef }, align 8 @23 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 5, [6 x i8] undef }, align 8 @posix.unexpected_error_tracing = internal unnamed_addr constant i1 false, align 1 @__anon_3758 = internal unnamed_addr constant [201 x i8] c"00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899\00", align 1 @unicode.native_endian = internal unnamed_addr constant i1 true, align 1 @mem.native_endian = internal unnamed_addr constant i1 true, align 1 @24 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 0, i3 1, [1 x i8] undef }, align 2 @25 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 0, i3 2, [1 x i8] undef }, align 2 @26 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 0, i3 3, [1 x i8] undef }, align 2 @27 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 0, i3 -4, [1 x i8] undef }, align 2 @28 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 26, i3 undef, [1 x i8] undef }, align 2 @29 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 25, i3 undef, [1 x i8] undef }, align 2 @unicode.replacement_character = internal unnamed_addr constant i21 65533, align 4 @__anon_3287 = internal unnamed_addr constant [18 x i8] c"thread {} panic: \00", align 1 @30 = private unnamed_addr constant %fmt.FormatOptions { { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, i21 32, i2 -2, [3 x i8] undef }, align 8 @31 = private unnamed_addr constant %fmt.FormatOptions { { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, i21 32, i2 -2, [3 x i8] undef }, align 8 @__anon_3300 = internal unnamed_addr constant [5 x i8] c"{s}\0A\00", align 1 @builtin.strip_debug_info = internal unnamed_addr constant i1 true, align 1 @32 = private unnamed_addr constant { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, align 8 @__anon_3318 = internal unnamed_addr constant [36 x i8] c"Panicked during a panic. Aborting.\0A\00", align 1 @33 = private unnamed_addr constant { i21, i16, [2 x i8] } { i21 undef, i16 19, [2 x i8] undef }, align 4 @34 = private unnamed_addr constant { i21, i16, [2 x i8] } { i21 undef, i16 20, [2 x i8] undef }, align 4 @35 = private unnamed_addr constant { i21, i16, [2 x i8] } { i21 undef, i16 21, [2 x i8] undef }, align 4 @36 = private unnamed_addr constant { i21, i16, [2 x i8] } { i21 undef, i16 19, [2 x i8] undef }, align 4 @37 = private unnamed_addr constant { i21, i16, [2 x i8] } { i21 undef, i16 20, [2 x i8] undef }, align 4 @38 = private unnamed_addr constant { i21, i16, [2 x i8] } { i21 undef, i16 22, [2 x i8] undef }, align 4 @__anon_3692 = internal unnamed_addr constant [49 x i8] c"Unable to dump stack trace: debug info stripped\0A\00", align 1 @39 = private unnamed_addr constant { i21, i16, [2 x i8] } { i21 undef, i16 19, [2 x i8] undef }, align 4 @40 = private unnamed_addr constant { i21, i16, [2 x i8] } { i21 undef, i16 20, [2 x i8] undef }, align 4 @41 = private unnamed_addr constant [22 x i8] c"OperationNotSupported\00", align 1 @42 = private unnamed_addr constant [10 x i8] c"DiskQuota\00", align 1 @43 = private unnamed_addr constant [11 x i8] c"FileTooBig\00", align 1 @44 = private unnamed_addr constant [12 x i8] c"InputOutput\00", align 1 @45 = private unnamed_addr constant [12 x i8] c"NoSpaceLeft\00", align 1 @46 = private unnamed_addr constant [11 x i8] c"DeviceBusy\00", align 1 @47 = private unnamed_addr constant [16 x i8] c"InvalidArgument\00", align 1 @48 = private unnamed_addr constant [13 x i8] c"AccessDenied\00", align 1 @49 = private unnamed_addr constant [11 x i8] c"BrokenPipe\00", align 1 @50 = private unnamed_addr constant [16 x i8] c"SystemResources\00", align 1 @51 = private unnamed_addr constant [17 x i8] c"OperationAborted\00", align 1 @52 = private unnamed_addr constant [18 x i8] c"NotOpenForWriting\00", align 1 @53 = private unnamed_addr constant [14 x i8] c"LockViolation\00", align 1 @54 = private unnamed_addr constant [11 x i8] c"WouldBlock\00", align 1 @55 = private unnamed_addr constant [22 x i8] c"ConnectionResetByPeer\00", align 1 @56 = private unnamed_addr constant [11 x i8] c"Unexpected\00", align 1 @57 = private unnamed_addr constant [9 x i8] c"Overflow\00", align 1 @58 = private unnamed_addr constant [12 x i8] c"InvalidUtf8\00", align 1 @59 = private unnamed_addr constant [25 x i8] c"Utf8ExpectedContinuation\00", align 1 @60 = private unnamed_addr constant [21 x i8] c"Utf8OverlongEncoding\00", align 1 @61 = private unnamed_addr constant [25 x i8] c"Utf8EncodesSurrogateHalf\00", align 1 @62 = private unnamed_addr constant [22 x i8] c"Utf8CodepointTooLarge\00", align 1 @63 = private unnamed_addr constant [21 x i8] c"Utf8InvalidStartByte\00", align 1 @64 = private unnamed_addr constant [15 x i8] c"TruncatedInput\00", align 1 @65 = private unnamed_addr constant [30 x i8] c"Utf8CannotEncodeSurrogateHalf\00", align 1 @66 = private unnamed_addr constant [18 x i8] c"CodepointTooLarge\00", align 1 @67 = private unnamed_addr constant [8 x i8] c"Timeout\00", align 1 @68 = private unnamed_addr constant [28 x { ptr, i64 }] [{ ptr, i64 } undef, { ptr, i64 } { ptr @41, i64 21 }, { ptr, i64 } { ptr @42, i64 9 }, { ptr, i64 } { ptr @43, i64 10 }, { ptr, i64 } { ptr @44, i64 11 }, { ptr, i64 } { ptr @45, i64 11 }, { ptr, i64 } { ptr @46, i64 10 }, { ptr, i64 } { ptr @47, i64 15 }, { ptr, i64 } { ptr @48, i64 12 }, { ptr, i64 } { ptr @49, i64 10 }, { ptr, i64 } { ptr @50, i64 15 }, { ptr, i64 } { ptr @51, i64 16 }, { ptr, i64 } { ptr @52, i64 17 }, { ptr, i64 } { ptr @53, i64 13 }, { ptr, i64 } { ptr @54, i64 10 }, { ptr, i64 } { ptr @55, i64 21 }, { ptr, i64 } { ptr @56, i64 10 }, { ptr, i64 } { ptr @57, i64 8 }, { ptr, i64 } { ptr @58, i64 11 }, { ptr, i64 } { ptr @59, i64 24 }, { ptr, i64 } { ptr @60, i64 20 }, { ptr, i64 } { ptr @61, i64 24 }, { ptr, i64 } { ptr @62, i64 21 }, { ptr, i64 } { ptr @63, i64 20 }, { ptr, i64 } { ptr @64, i64 14 }, { ptr, i64 } { ptr @65, i64 29 }, { ptr, i64 } { ptr @66, i64 17 }, { ptr, i64 } { ptr @67, i64 7 }], align 8 ; Function Attrs: nounwind uwtable define internal fastcc i16 @biggy.main() unnamed_addr #0 { 0: call fastcc void @debug.print__anon_972() ret i16 0 } ; Function Attrs: nounwind uwtable define internal fastcc void @debug.print__anon_972() unnamed_addr #0 { 0: %1 = alloca [16 x i8], align 8 %2 = alloca [8 x i8], align 8 %3 = alloca [16 x i8], align 8 %4 = alloca [4 x i8], align 4 %5 = alloca [4 x i8], align 4 %6 = alloca [4 x i8], align 4 %7 = alloca [4 x i8], align 4 %8 = alloca [4 x i8], align 4 call fastcc void @debug.lockStdErr() call fastcc void @io.getStdErr(ptr sret(%fs.File) %8) call void @llvm.memcpy.p0.p0.i64(ptr align 4 %7, ptr align 4 %8, i64 4, i1 false) call fastcc void @fs.File.writer(ptr sret(%"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))") %6, ptr align 4 readonly nonnull %7) call void @llvm.memcpy.p0.p0.i64(ptr align 4 %5, ptr align 4 %6, i64 4, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 4 %4, ptr align 4 %5, i64 4, i1 false) %9 = getelementptr inbounds %io.Writer, ptr %3, i32 0, i32 0 store ptr %4, ptr %2, align 8 %10 = load ptr, ptr %2, align 8 %11 = getelementptr inbounds %"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))", ptr %10, i32 0, i32 0 store ptr %11, ptr %9, align 8 %12 = getelementptr inbounds %io.Writer, ptr %3, i32 0, i32 1 store ptr getelementptr inbounds (i8, ptr @"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write')).typeErasedWriteFn", i64 0), ptr %12, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1, ptr align 8 %3, i64 16, i1 false) %13 = call fastcc i16 @io.Writer.print__anon_2829(ptr align 8 readonly nonnull %1) %14 = icmp eq i16 %13, 0 br i1 %14, label %16, label %17 15: call fastcc void @debug.unlockStdErr() ret void 16: br label %15 17: call fastcc void @debug.unlockStdErr() ret void } ; Function Attrs: nounwind uwtable define dso_local i32 @main(i32 %0, ptr align 8 nonnull %1, ptr align 8 nonnull %2) #0 { 3: %4 = alloca [8 x i8], align 8 %5 = alloca [8 x i8], align 8 %6 = alloca [8 x i8], align 8 store i64 0, ptr %6, align 8 br label %19 7: store ptr %2, ptr %5, align 8 %8 = load i64, ptr %6, align 8 %9 = load ptr, ptr %5, align 8 %10 = getelementptr inbounds ptr, ptr %9, i64 0 %11 = insertvalue { ptr, i64 } poison, ptr %10, 0 %12 = insertvalue { ptr, i64 } %11, i64 %8, 1 %13 = sext i32 %0 to i64 store ptr %1, ptr %4, align 8 %14 = load ptr, ptr %4, align 8 %15 = getelementptr inbounds ptr, ptr %14, i64 0 %16 = insertvalue { ptr, i64 } poison, ptr %15, 0 %17 = insertvalue { ptr, i64 } %16, i64 %13, 1 store { ptr, i64 } %17, ptr getelementptr inbounds (i8, ptr @os.argv, i64 0), align 8 store { ptr, i64 } %12, ptr getelementptr inbounds (i8, ptr @os.environ, i64 0), align 8 call fastcc void @debug.maybeEnableSegfaultHandler() call fastcc void @start.maybeIgnoreSigpipe() %18 = call fastcc i16 @biggy.main() ret i32 0 19: %20 = load i64, ptr %6, align 8 %21 = getelementptr inbounds ptr, ptr %2, i64 %20 %22 = load ptr, ptr %21, align 8 %23 = icmp ne ptr %22, null br i1 %23, label %25, label %28 24: br label %19 25: %26 = load i64, ptr %6, align 8 %27 = add nuw i64 %26, 1 store i64 %27, ptr %6, align 8 br label %24 28: br label %7 } ; Function Attrs: nounwind uwtable define internal fastcc void @debug.maybeEnableSegfaultHandler() unnamed_addr #0 { 0: ret void } ; Function Attrs: nounwind uwtable define internal fastcc void @start.maybeIgnoreSigpipe() unnamed_addr #0 { 0: %1 = alloca [16 x i8], align 8 %2 = call fastcc i16 @posix.sigaction(i6 13, ptr align 8 noalias readonly getelementptr inbounds (i8, ptr @__anon_1669, i64 0), ptr align 8 noalias null) %3 = icmp eq i16 %2, 0 br i1 %3, label %5, label %6 4: ret void 5: br label %4 6: %7 = load ptr, ptr @__zig_err_name_table %8 = getelementptr inbounds { ptr, i64 }, ptr %7, i16 %2 %9 = load { ptr, i64 }, ptr %8 %10 = getelementptr inbounds { { ptr, i64 } }, ptr %1, i32 0, i32 0 store { ptr, i64 } %9, ptr %10, align 8 call fastcc void @debug.panic__anon_2624(ptr align 8 readonly nonnull %1) unreachable } ; Function Attrs: nounwind uwtable define internal fastcc i16 @posix.sigaction(i6 %0, ptr align 8 noalias readonly %1, ptr align 8 noalias %2) unnamed_addr #0 { 3: %4 = zext i6 %0 to i32 %5 = call i32 @sigaction(i32 %4, ptr align 8 noalias readonly %1, ptr align 8 noalias %2) %6 = call fastcc i16 @posix.errno__anon_3210(i32 %5) switch i16 %6, label %7 [ i16 0, label %8 i16 22, label %9 i16 78, label %9 ] 7: unreachable 8: ret i16 0 9: ret i16 1 } ; Function Attrs: nounwind uwtable define internal void @start.noopSigHandler(i32 %0) unnamed_addr #0 { 1: ret void } ; Function Attrs: noreturn nounwind uwtable cold define internal fastcc void @debug.panic__anon_2624(ptr align 8 readonly nonnull %0) unnamed_addr #1 { 1: %2 = alloca [16 x i8], align 8 %3 = call ptr @llvm.returnaddress(i32 0) %4 = ptrtoint ptr %3 to i64 %5 = getelementptr inbounds { i64, i8, [7 x i8] }, ptr %2, i32 0, i32 0 store i64 %4, ptr %5, align 8 %6 = getelementptr inbounds { i64, i8, [7 x i8] }, ptr %2, i32 0, i32 1 store i8 1, ptr %6 call fastcc void @debug.panicExtra__anon_3213(ptr align 8 null, ptr align 8 readonly nonnull %2, ptr align 8 readonly nonnull %0) unreachable } ; Function Attrs: nounwind uwtable define internal fastcc void @debug.lockStdErr() unnamed_addr #0 { 0: call fastcc void @Progress.lockStdErr() ret void } ; Function Attrs: nounwind uwtable define internal fastcc void @io.getStdErr(ptr noalias sret(%fs.File) nonnull %0) unnamed_addr #0 { 1: %2 = getelementptr inbounds %fs.File, ptr %0, i32 0, i32 0 %3 = call fastcc i32 @io.getStdErrHandle() store i32 %3, ptr %2, align 4 ret void } ; Function Attrs: nounwind willreturn nofree nocallback memory(argmem: readwrite) declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly %0, ptr noalias nocapture readonly %1, i64 %2, i1 immarg %3) #2 ; Function Attrs: nounwind uwtable define internal fastcc void @fs.File.writer(ptr noalias sret(%"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))") nonnull %0, ptr align 4 readonly nonnull %1) unnamed_addr #0 { 2: %3 = getelementptr inbounds %"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))", ptr %0, i32 0, i32 0 call void @llvm.memcpy.p0.p0.i64(ptr align 4 %3, ptr align 4 %1, i64 4, i1 false) ret void } ; Function Attrs: nounwind uwtable define internal fastcc void @"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write')).typeErasedWriteFn"(ptr noalias sret({ i64, i16, [6 x i8] }) nonnull %0, ptr align 1 readonly nonnull %1, ptr align 1 readonly nonnull %2, i64 %3) unnamed_addr #0 { 4: %5 = alloca [16 x i8], align 8 %6 = insertvalue { ptr, i64 } poison, ptr %2, 0 %7 = insertvalue { ptr, i64 } %6, i64 %3, 1 %8 = extractvalue { ptr, i64 } %7, 0 %9 = extractvalue { ptr, i64 } %7, 1 call fastcc void @fs.File.write(ptr sret({ i64, i16, [6 x i8] }) %5, ptr align 4 readonly nonnull %1, ptr align 1 readonly nonnull %8, i64 %9) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %5, i64 16, i1 false) ret void } ; Function Attrs: nounwind uwtable define internal fastcc i16 @io.Writer.print__anon_2829(ptr align 8 readonly nonnull %0) unnamed_addr #0 { 1: %2 = call fastcc i16 @fmt.format__anon_3278(ptr align 8 readonly nonnull %0) ret i16 %2 } ; Function Attrs: nounwind uwtable define internal fastcc void @debug.unlockStdErr() unnamed_addr #0 { 0: call fastcc void @Progress.unlockStdErr() ret void } ; Function Attrs: nounwind uwtable declare i32 @sigaction(i32 %0, ptr align 8 noalias readonly %1, ptr align 8 noalias %2) #0 ; Function Attrs: nounwind uwtable define internal fastcc i16 @posix.errno__anon_3210(i32 %0) unnamed_addr #0 { 1: %2 = icmp eq i32 %0, -1 br i1 %2, label %5, label %9 3: %4 = phi i16 [ %8, %5 ], [ 0, %9 ] ret i16 %4 5: %6 = call ptr @__error() %7 = load i32, ptr %6, align 4 %8 = trunc i32 %7 to i16 br label %3 9: br label %3 } ; Function Attrs: nounwind willreturn nofree nosync nocallback memory(none) declare ptr @llvm.returnaddress(i32 immarg %0) #3 ; Function Attrs: noreturn nounwind uwtable cold define internal fastcc void @debug.panicExtra__anon_3213(ptr align 8 %0, ptr align 8 readonly nonnull %1, ptr align 8 readonly nonnull %2) unnamed_addr #1 { 3: %4 = alloca [16 x i8], align 8 %5 = alloca [24 x i8], align 8 %6 = alloca [4111 x i8], align 1 call void @llvm.memset.p0.i64(ptr align 1 %6, i8 undef, i64 4111, i1 false) %7 = getelementptr inbounds i8, ptr %6, i64 0 %8 = getelementptr inbounds [4096 x i8], ptr %7, i64 0, i64 0 %9 = insertvalue { ptr, i64 } poison, ptr %8, 0 %10 = insertvalue { ptr, i64 } %9, i64 4096, 1 %11 = extractvalue { ptr, i64 } %10, 0 %12 = extractvalue { ptr, i64 } %10, 1 call fastcc void @fmt.bufPrint__anon_3279(ptr sret({ { ptr, i64 }, i16, [6 x i8] }) %5, ptr align 1 nonnull %11, i64 %12, ptr align 8 readonly nonnull %2) %13 = getelementptr inbounds { { ptr, i64 }, i16, [6 x i8] }, ptr %5, i32 0, i32 1 %14 = load i16, ptr %13 %15 = icmp eq i16 %14, 0 br i1 %15, label %21, label %24 16: %17 = phi { ptr, i64 } [ %23, %21 ], [ %32, %28 ] store { ptr, i64 } %17, ptr %4, align 8 %18 = load { ptr, i64 }, ptr %4, align 8 %19 = extractvalue { ptr, i64 } %18, 0 %20 = extractvalue { ptr, i64 } %18, 1 call fastcc void @builtin.default_panic(ptr align 1 readonly nonnull %19, i64 %20, ptr align 8 %0, ptr align 8 readonly nonnull %1) unreachable 21: %22 = getelementptr inbounds { { ptr, i64 }, i16, [6 x i8] }, ptr %5, i32 0, i32 0 %23 = load { ptr, i64 }, ptr %22, align 8 br label %16 24: %25 = getelementptr inbounds { { ptr, i64 }, i16, [6 x i8] }, ptr %5, i32 0, i32 1 %26 = load i16, ptr %25 switch i16 %26, label %27 [ i16 5, label %28 ] 27: unreachable 28: %29 = getelementptr inbounds i8, ptr %6, i64 4096 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %29, ptr align 1 getelementptr inbounds (i8, ptr @__anon_2157, i64 0), i64 15, i1 false) %30 = getelementptr inbounds [4111 x i8], ptr %6, i64 0, i64 0 %31 = insertvalue { ptr, i64 } poison, ptr %30, 0 %32 = insertvalue { ptr, i64 } %31, i64 4111, 1 br label %16 } ; Function Attrs: nounwind uwtable define internal fastcc void @Progress.lockStdErr() unnamed_addr #0 { 0: call fastcc void @Thread.Mutex.Recursive.lock(ptr align 8 nonnull getelementptr inbounds (i8, ptr @Progress.stderr_mutex, i64 0)) %1 = call fastcc i16 @Progress.clearWrittenWithEscapeCodes() %2 = icmp eq i16 %1, 0 br i1 %2, label %4, label %5 3: ret void 4: br label %3 5: br label %3 } ; Function Attrs: nounwind uwtable define internal fastcc i32 @io.getStdErrHandle() unnamed_addr #0 { 0: ret i32 2 } ; Function Attrs: nounwind uwtable define internal fastcc void @fs.File.write(ptr noalias sret({ i64, i16, [6 x i8] }) nonnull %0, ptr align 4 readonly nonnull %1, ptr align 1 readonly nonnull %2, i64 %3) unnamed_addr #0 { 4: %5 = alloca [16 x i8], align 8 %6 = insertvalue { ptr, i64 } poison, ptr %2, 0 %7 = insertvalue { ptr, i64 } %6, i64 %3, 1 %8 = getelementptr inbounds %fs.File, ptr %1, i32 0, i32 0 %9 = load i32, ptr %8, align 4 %10 = extractvalue { ptr, i64 } %7, 0 %11 = extractvalue { ptr, i64 } %7, 1 call fastcc void @posix.write(ptr sret({ i64, i16, [6 x i8] }) %5, i32 %9, ptr align 1 readonly nonnull %10, i64 %11) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %5, i64 16, i1 false) ret void } ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.format__anon_3278(ptr align 8 readonly nonnull %0) unnamed_addr #0 { 1: %2 = alloca [16 x i8], align 8 %3 = call fastcc i16 @fmt.formatType__anon_3567(ptr align 8 readonly nonnull @0, ptr align 8 readonly nonnull %0, i64 3) %4 = icmp ne i16 %3, 0 br i1 %4, label %5, label %6 5: ret i16 %3 6: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2, ptr align 8 %0, i64 16, i1 false) %7 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_1474, i64 3), i64 1 }, 0 %8 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_1474, i64 3), i64 1 }, 1 %9 = call fastcc i16 @io.Writer.writeAll(ptr align 8 readonly nonnull %2, ptr align 1 readonly nonnull %7, i64 %8) %10 = icmp ne i16 %9, 0 br i1 %10, label %11, label %12 11: ret i16 %9 12: ret i16 0 } ; Function Attrs: nounwind uwtable define internal fastcc void @Progress.unlockStdErr() unnamed_addr #0 { 0: call fastcc void @Thread.Mutex.Recursive.unlock(ptr align 8 nonnull getelementptr inbounds (i8, ptr @Progress.stderr_mutex, i64 0)) ret void } ; Function Attrs: nounwind uwtable declare ptr @__error() #0 ; Function Attrs: nounwind willreturn nofree nocallback memory(argmem: write) declare void @llvm.memset.p0.i64(ptr nocapture writeonly %0, i8 %1, i64 %2, i1 immarg %3) #4 ; Function Attrs: nounwind uwtable define internal fastcc void @fmt.bufPrint__anon_3279(ptr noalias sret({ { ptr, i64 }, i16, [6 x i8] }) nonnull %0, ptr align 1 nonnull %1, i64 %2, ptr align 8 readonly nonnull %3) unnamed_addr #0 { 4: %5 = alloca [8 x i8], align 8 %6 = alloca [16 x i8], align 8 %7 = alloca [8 x i8], align 8 %8 = alloca [8 x i8], align 8 %9 = alloca [24 x i8], align 8 %10 = alloca [24 x i8], align 8 %11 = insertvalue { ptr, i64 } poison, ptr %1, 0 %12 = insertvalue { ptr, i64 } %11, i64 %2, 1 %13 = extractvalue { ptr, i64 } %12, 0 %14 = extractvalue { ptr, i64 } %12, 1 call fastcc void @io.fixed_buffer_stream.fixedBufferStream__anon_3601(ptr sret(%"io.fixed_buffer_stream.FixedBufferStream([]u8)") %9, ptr align 1 nonnull %13, i64 %14) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %9, i64 24, i1 false) call fastcc void @"io.fixed_buffer_stream.FixedBufferStream([]u8).writer"(ptr sret(%"io.GenericWriter(*io.fixed_buffer_stream.FixedBufferStream([]u8),error{NoSpaceLeft},(function 'write'))") %8, ptr align 8 nonnull %10) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %8, i64 8, i1 false) %15 = getelementptr inbounds %io.Writer, ptr %6, i32 0, i32 0 store ptr %7, ptr %5, align 8 %16 = load ptr, ptr %5, align 8 %17 = getelementptr inbounds %"io.GenericWriter(*io.fixed_buffer_stream.FixedBufferStream([]u8),error{NoSpaceLeft},(function 'write'))", ptr %16, i32 0, i32 0 store ptr %17, ptr %15, align 8 %18 = getelementptr inbounds %io.Writer, ptr %6, i32 0, i32 1 store ptr getelementptr inbounds (i8, ptr @"io.GenericWriter(*io.fixed_buffer_stream.FixedBufferStream([]u8),error{NoSpaceLeft},(function 'write')).typeErasedWriteFn", i64 0), ptr %18, align 8 %19 = call fastcc i16 @fmt.format__anon_3616(ptr align 8 readonly nonnull %6, ptr align 8 readonly nonnull %3) %20 = icmp eq i16 %19, 0 br i1 %20, label %25, label %26 21: %22 = call fastcc { ptr, i64 } @"io.fixed_buffer_stream.FixedBufferStream([]u8).getWritten"(ptr align 8 readonly nonnull %10) %23 = getelementptr inbounds { { ptr, i64 }, i16, [6 x i8] }, ptr %0, i32 0, i32 1 store i16 0, ptr %23, align 2 %24 = getelementptr inbounds { { ptr, i64 }, i16, [6 x i8] }, ptr %0, i32 0, i32 0 store { ptr, i64 } %22, ptr %24, align 8 ret void 25: br label %21 26: switch i16 %19, label %27 [ i16 5, label %28 ] 27: unreachable 28: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @2, i64 24, i1 false) ret void } ; Function Attrs: noreturn nounwind uwtable cold define internal fastcc void @builtin.default_panic(ptr align 1 readonly nonnull %0, i64 %1, ptr align 8 %2, ptr align 8 readonly nonnull %3) unnamed_addr #1 { 4: %5 = alloca [16 x i8], align 8 %6 = insertvalue { ptr, i64 } poison, ptr %0, 0 %7 = insertvalue { ptr, i64 } %6, i64 %1, 1 %8 = getelementptr inbounds { i64, i8, [7 x i8] }, ptr %3, i32 0, i32 1 %9 = load i8, ptr %8 %10 = icmp ne i8 %9, 0 br i1 %10, label %17, label %20 11: %12 = phi i64 [ %19, %17 ], [ %22, %20 ] %13 = getelementptr inbounds { i64, i8, [7 x i8] }, ptr %5, i32 0, i32 0 store i64 %12, ptr %13, align 8 %14 = getelementptr inbounds { i64, i8, [7 x i8] }, ptr %5, i32 0, i32 1 store i8 1, ptr %14 %15 = extractvalue { ptr, i64 } %7, 0 %16 = extractvalue { ptr, i64 } %7, 1 call fastcc void @debug.panicImpl(ptr align 8 readonly %2, ptr align 8 readonly nonnull %5, ptr align 1 readonly nonnull %15, i64 %16) unreachable 17: %18 = getelementptr inbounds { i64, i8, [7 x i8] }, ptr %3, i32 0, i32 0 %19 = load i64, ptr %18, align 8 br label %11 20: %21 = call ptr @llvm.returnaddress(i32 0) %22 = ptrtoint ptr %21 to i64 br label %11 } ; Function Attrs: nounwind uwtable define internal fastcc void @Thread.Mutex.Recursive.lock(ptr align 8 nonnull %0) unnamed_addr #0 { 1: %2 = alloca [8 x i8], align 8 %3 = alloca [8 x i8], align 8 %4 = alloca [8 x i8], align 8 %5 = alloca [8 x i8], align 8 %6 = call fastcc i64 @Thread.getCurrentId() store ptr %0, ptr %5, align 8 %7 = load ptr, ptr %5, align 8 %8 = getelementptr inbounds %Thread.Mutex.Recursive, ptr %7, i32 0, i32 0 %9 = load atomic i64, ptr %8 unordered, align 8 %10 = icmp ne i64 %9, %6 br i1 %10, label %16, label %24 11: store ptr %0, ptr %2, align 8 %12 = load ptr, ptr %2, align 8 %13 = getelementptr inbounds %Thread.Mutex.Recursive, ptr %12, i32 0, i32 1 %14 = load i64, ptr %13, align 8 %15 = add nuw i64 %14, 1 store i64 %15, ptr %13, align 8 ret void 16: store ptr %0, ptr %4, align 8 %17 = load ptr, ptr %4, align 8 %18 = getelementptr inbounds %Thread.Mutex.Recursive, ptr %17, i32 0, i32 2 call fastcc void @Thread.Mutex.lock(ptr align 4 nonnull %18) %19 = getelementptr inbounds %Thread.Mutex.Recursive, ptr %0, i32 0, i32 1 %20 = load i64, ptr %19, align 8 %21 = icmp eq i64 %20, 0 call fastcc void @debug.assert(i1 %21) store ptr %0, ptr %3, align 8 %22 = load ptr, ptr %3, align 8 %23 = getelementptr inbounds %Thread.Mutex.Recursive, ptr %22, i32 0, i32 0 store atomic i64 %6, ptr %23 unordered, align 8 br label %11 24: br label %11 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @Progress.clearWrittenWithEscapeCodes() unnamed_addr #0 { 0: %1 = alloca [16 x i8], align 8 %2 = alloca [16 x i8], align 8 %3 = alloca [8 x i8], align 8 %4 = getelementptr inbounds %Progress, ptr getelementptr inbounds (i8, ptr @Progress.global_progress, i64 0), i32 0, i32 14 %5 = load i1, ptr %4, align 1 %6 = xor i1 %5, true br i1 %6, label %27, label %28 7: store i64 0, ptr %3, align 8 %8 = getelementptr inbounds %Progress, ptr getelementptr inbounds (i8, ptr @Progress.global_progress, i64 0), i32 0, i32 3 %9 = load { ptr, i64 }, ptr %8, align 8 store { ptr, i64 } %9, ptr %2, align 8 %10 = load i64, ptr %3, align 8 %11 = load { ptr, i64 }, ptr %2, align 8 %12 = extractvalue { ptr, i64 } %11, 0 %13 = getelementptr inbounds i8, ptr %12, i64 %10 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %13, ptr align 1 @3, i64 3, i1 false) %14 = load i64, ptr %3, align 8 %15 = add nuw i64 %14, 3 store i64 %15, ptr %3, align 8 store i1 false, ptr getelementptr inbounds (i8, ptr @Progress.global_progress, i64 114), align 1 %16 = load i64, ptr %3, align 8 %17 = load { ptr, i64 }, ptr %2, align 8 %18 = extractvalue { ptr, i64 } %17, 0 %19 = getelementptr inbounds i8, ptr %18, i64 0 %20 = insertvalue { ptr, i64 } poison, ptr %19, 0 %21 = insertvalue { ptr, i64 } %20, i64 %16, 1 store { ptr, i64 } %21, ptr %1, align 8 %22 = load { ptr, i64 }, ptr %1, align 8 %23 = extractvalue { ptr, i64 } %22, 0 %24 = extractvalue { ptr, i64 } %22, 1 %25 = call fastcc i16 @Progress.write(ptr align 1 readonly nonnull %23, i64 %24) %26 = icmp ne i16 %25, 0 br i1 %26, label %29, label %30 27: ret i16 0 28: br label %7 29: ret i16 %25 30: ret i16 0 } ; Function Attrs: nounwind uwtable define internal fastcc void @posix.write(ptr noalias sret({ i64, i16, [6 x i8] }) nonnull %0, i32 %1, ptr align 1 readonly nonnull %2, i64 %3) unnamed_addr #0 { 4: %5 = insertvalue { ptr, i64 } poison, ptr %2, 0 %6 = insertvalue { ptr, i64 } %5, i64 %3, 1 %7 = extractvalue { ptr, i64 } %6, 1 %8 = icmp eq i64 %7, 0 br i1 %8, label %10, label %11 9: br label %12 10: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @4, i64 16, i1 false) ret void 11: br label %9 12: %13 = extractvalue { ptr, i64 } %6, 0 %14 = extractvalue { ptr, i64 } %6, 1 %15 = call i64 @llvm.umin.i64(i64 2147483647, i64 %14) %16 = trunc i64 %15 to i31 %17 = zext i31 %16 to i64 %18 = call i64 @write(i32 %1, ptr align 1 readonly nonnull %13, i64 %17) %19 = call fastcc i16 @posix.errno__anon_3734(i64 %18) switch i16 %19, label %21 [ i16 0, label %25 i16 4, label %28 i16 22, label %29 i16 14, label %30 i16 35, label %31 i16 9, label %32 i16 39, label %33 i16 69, label %34 i16 27, label %35 i16 5, label %36 i16 28, label %37 i16 1, label %38 i16 32, label %39 i16 54, label %40 i16 16, label %41 ] 20: br label %12 21: %22 = call fastcc i16 @posix.unexpectedErrno(i16 %19) %23 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %0, i32 0, i32 1 store i16 %22, ptr %23, align 2 %24 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %0, i32 0, i32 0 ret void 25: %26 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %0, i32 0, i32 1 store i16 0, ptr %26, align 2 %27 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %0, i32 0, i32 0 store i64 %18, ptr %27, align 8 ret void 28: br label %20 29: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @5, i64 16, i1 false) ret void 30: unreachable 31: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @6, i64 16, i1 false) ret void 32: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @7, i64 16, i1 false) ret void 33: unreachable 34: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @8, i64 16, i1 false) ret void 35: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @9, i64 16, i1 false) ret void 36: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @10, i64 16, i1 false) ret void 37: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @11, i64 16, i1 false) ret void 38: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @12, i64 16, i1 false) ret void 39: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @13, i64 16, i1 false) ret void 40: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @14, i64 16, i1 false) ret void 41: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @15, i64 16, i1 false) ret void } ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.formatType__anon_3567(ptr align 8 readonly nonnull %0, ptr align 8 readonly nonnull %1, i64 %2) unnamed_addr #0 { 3: %4 = call fastcc i16 @fmt.formatValue__anon_3979(ptr align 8 readonly nonnull %0, ptr align 8 readonly nonnull %1) ret i16 %4 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @io.Writer.writeAll(ptr align 8 readonly nonnull %0, ptr align 1 readonly nonnull %1, i64 %2) unnamed_addr #0 { 3: %4 = alloca [16 x i8], align 8 %5 = alloca [16 x i8], align 8 %6 = alloca [16 x i8], align 8 %7 = alloca [16 x i8], align 8 %8 = alloca [8 x i8], align 8 %9 = insertvalue { ptr, i64 } poison, ptr %1, 0 %10 = insertvalue { ptr, i64 } %9, i64 %2, 1 store i64 0, ptr %8, align 8 br label %12 11: ret i16 0 12: %13 = load i64, ptr %8, align 8 %14 = extractvalue { ptr, i64 } %10, 1 %15 = icmp ne i64 %13, %14 br i1 %15, label %17, label %32 16: br label %12 17: %18 = load i64, ptr %8, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %0, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %7, i64 16, i1 false) store { ptr, i64 } %10, ptr %5, align 8 %19 = load i64, ptr %8, align 8 %20 = load { ptr, i64 }, ptr %5, align 8 %21 = extractvalue { ptr, i64 } %20, 0 %22 = getelementptr inbounds i8, ptr %21, i64 %19 %23 = extractvalue { ptr, i64 } %20, 1 %24 = sub nuw i64 %23, %19 %25 = insertvalue { ptr, i64 } poison, ptr %22, 0 %26 = insertvalue { ptr, i64 } %25, i64 %24, 1 %27 = extractvalue { ptr, i64 } %26, 0 %28 = extractvalue { ptr, i64 } %26, 1 call fastcc void @io.Writer.write(ptr sret({ i64, i16, [6 x i8] }) %4, ptr align 8 readonly nonnull %6, ptr align 1 readonly nonnull %27, i64 %28) %29 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %4, i32 0, i32 1 %30 = load i16, ptr %29 %31 = icmp ne i16 %30, 0 br i1 %31, label %33, label %36 32: br label %11 33: %34 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %4, i32 0, i32 1 %35 = load i16, ptr %34 ret i16 %35 36: %37 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %4, i32 0, i32 0 %38 = load i64, ptr %37, align 8 %39 = add nuw i64 %18, %38 store i64 %39, ptr %8, align 8 br label %16 } ; Function Attrs: nounwind uwtable define internal fastcc void @Thread.Mutex.Recursive.unlock(ptr align 8 nonnull %0) unnamed_addr #0 { 1: %2 = alloca [8 x i8], align 8 %3 = alloca [8 x i8], align 8 %4 = alloca [8 x i8], align 8 store ptr %0, ptr %4, align 8 %5 = load ptr, ptr %4, align 8 %6 = getelementptr inbounds %Thread.Mutex.Recursive, ptr %5, i32 0, i32 1 %7 = load i64, ptr %6, align 8 %8 = sub nuw i64 %7, 1 store i64 %8, ptr %6, align 8 %9 = getelementptr inbounds %Thread.Mutex.Recursive, ptr %0, i32 0, i32 1 %10 = load i64, ptr %9, align 8 %11 = icmp eq i64 %10, 0 br i1 %11, label %13, label %18 12: ret void 13: store ptr %0, ptr %3, align 8 %14 = load ptr, ptr %3, align 8 %15 = getelementptr inbounds %Thread.Mutex.Recursive, ptr %14, i32 0, i32 0 store atomic i64 -1, ptr %15 unordered, align 8 store ptr %0, ptr %2, align 8 %16 = load ptr, ptr %2, align 8 %17 = getelementptr inbounds %Thread.Mutex.Recursive, ptr %16, i32 0, i32 2 call fastcc void @Thread.Mutex.unlock(ptr align 4 nonnull %17) br label %12 18: br label %12 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.format__anon_3616(ptr align 8 readonly nonnull %0, ptr align 8 readonly nonnull %1) unnamed_addr #0 { 2: %3 = alloca [16 x i8], align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3, ptr align 8 %0, i64 16, i1 false) %4 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_1704, i64 0), i64 36 }, 0 %5 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_1704, i64 0), i64 36 }, 1 %6 = call fastcc i16 @io.Writer.writeAll(ptr align 8 readonly nonnull %3, ptr align 1 readonly nonnull %4, i64 %5) %7 = icmp ne i16 %6, 0 br i1 %7, label %8, label %9 8: ret i16 %6 9: %10 = getelementptr inbounds { { ptr, i64 } }, ptr %1, i32 0, i32 0 %11 = load { ptr, i64 }, ptr %10, align 8 %12 = extractvalue { ptr, i64 } %11, 0 %13 = extractvalue { ptr, i64 } %11, 1 %14 = call fastcc i16 @fmt.formatType__anon_3617(ptr align 1 readonly nonnull %12, i64 %13, ptr align 8 readonly nonnull @1, ptr align 8 readonly nonnull %0, i64 3) %15 = icmp ne i16 %14, 0 br i1 %15, label %16, label %17 16: ret i16 %14 17: ret i16 0 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.formatType__anon_3617(ptr align 1 readonly nonnull %0, i64 %1, ptr align 8 readonly nonnull %2, ptr align 8 readonly nonnull %3, i64 %4) unnamed_addr #0 { 5: %6 = alloca [16 x i8], align 8 %7 = alloca [16 x i8], align 8 %8 = insertvalue { ptr, i64 } poison, ptr %0, 0 %9 = insertvalue { ptr, i64 } %8, i64 %1, 1 %10 = icmp eq i64 %4, 0 br i1 %10, label %16, label %20 11: store { ptr, i64 } %9, ptr %6, align 8 %12 = load { ptr, i64 }, ptr %6, align 8 %13 = extractvalue { ptr, i64 } %12, 0 %14 = extractvalue { ptr, i64 } %12, 1 %15 = call fastcc i16 @fmt.formatBuf__anon_3980(ptr align 1 readonly nonnull %13, i64 %14, ptr align 8 readonly nonnull %2, ptr align 8 readonly nonnull %3) ret i16 %15 16: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %3, i64 16, i1 false) %17 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_3237, i64 0), i64 7 }, 0 %18 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_3237, i64 0), i64 7 }, 1 %19 = call fastcc i16 @io.Writer.writeAll(ptr align 8 readonly nonnull %7, ptr align 1 readonly nonnull %17, i64 %18) ret i16 %19 20: br label %11 } ; Function Attrs: nounwind uwtable define internal fastcc void @io.fixed_buffer_stream.fixedBufferStream__anon_3601(ptr noalias sret(%"io.fixed_buffer_stream.FixedBufferStream([]u8)") nonnull %0, ptr align 1 nonnull %1, i64 %2) unnamed_addr #0 { 3: %4 = insertvalue { ptr, i64 } poison, ptr %1, 0 %5 = insertvalue { ptr, i64 } %4, i64 %2, 1 %6 = getelementptr inbounds %"io.fixed_buffer_stream.FixedBufferStream([]u8)", ptr %0, i32 0, i32 0 store { ptr, i64 } %5, ptr %6, align 8 %7 = getelementptr inbounds %"io.fixed_buffer_stream.FixedBufferStream([]u8)", ptr %0, i32 0, i32 1 store i64 0, ptr %7, align 8 ret void } ; Function Attrs: nounwind uwtable define internal fastcc void @"io.fixed_buffer_stream.FixedBufferStream([]u8).writer"(ptr noalias sret(%"io.GenericWriter(*io.fixed_buffer_stream.FixedBufferStream([]u8),error{NoSpaceLeft},(function 'write'))") nonnull %0, ptr align 8 nonnull %1) unnamed_addr #0 { 2: %3 = getelementptr inbounds %"io.GenericWriter(*io.fixed_buffer_stream.FixedBufferStream([]u8),error{NoSpaceLeft},(function 'write'))", ptr %0, i32 0, i32 0 store ptr %1, ptr %3, align 8 ret void } ; Function Attrs: nounwind uwtable define internal fastcc void @"io.GenericWriter(*io.fixed_buffer_stream.FixedBufferStream([]u8),error{NoSpaceLeft},(function 'write')).typeErasedWriteFn"(ptr noalias sret({ i64, i16, [6 x i8] }) nonnull %0, ptr align 1 readonly nonnull %1, ptr align 1 readonly nonnull %2, i64 %3) unnamed_addr #0 { 4: %5 = alloca [16 x i8], align 8 %6 = insertvalue { ptr, i64 } poison, ptr %2, 0 %7 = insertvalue { ptr, i64 } %6, i64 %3, 1 %8 = load ptr, ptr %1, align 8 %9 = extractvalue { ptr, i64 } %7, 0 %10 = extractvalue { ptr, i64 } %7, 1 call fastcc void @"io.fixed_buffer_stream.FixedBufferStream([]u8).write"(ptr sret({ i64, i16, [6 x i8] }) %5, ptr align 8 nonnull %8, ptr align 1 readonly nonnull %9, i64 %10) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %5, i64 16, i1 false) ret void } ; Function Attrs: nounwind uwtable define internal fastcc { ptr, i64 } @"io.fixed_buffer_stream.FixedBufferStream([]u8).getWritten"(ptr align 8 readonly nonnull %0) unnamed_addr #0 { 1: %2 = alloca [24 x i8], align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2, ptr align 8 %0, i64 24, i1 false) %3 = getelementptr inbounds %"io.fixed_buffer_stream.FixedBufferStream([]u8)", ptr %2, i32 0, i32 0 %4 = getelementptr inbounds %"io.fixed_buffer_stream.FixedBufferStream([]u8)", ptr %0, i32 0, i32 1 %5 = load i64, ptr %4, align 8 %6 = load { ptr, i64 }, ptr %3, align 8 %7 = extractvalue { ptr, i64 } %6, 0 %8 = getelementptr inbounds i8, ptr %7, i64 0 %9 = insertvalue { ptr, i64 } poison, ptr %8, 0 %10 = insertvalue { ptr, i64 } %9, i64 %5, 1 ret { ptr, i64 } %10 } ; Function Attrs: noreturn nounwind uwtable cold define internal fastcc void @debug.panicImpl(ptr align 8 readonly %0, ptr align 8 readonly nonnull %1, ptr align 1 readonly nonnull %2, i64 %3) unnamed_addr #1 { 4: %5 = alloca [16 x i8], align 8 %6 = alloca [8 x i8], align 8 %7 = alloca [16 x i8], align 8 %8 = alloca [4 x i8], align 4 %9 = alloca [4 x i8], align 4 %10 = alloca [4 x i8], align 4 %11 = alloca [4 x i8], align 4 %12 = alloca [4 x i8], align 4 %13 = alloca [16 x i8], align 8 %14 = alloca [8 x i8], align 8 %15 = alloca [16 x i8], align 8 %16 = alloca [4 x i8], align 4 %17 = alloca [16 x i8], align 8 %18 = alloca [16 x i8], align 8 %19 = alloca [8 x i8], align 8 %20 = alloca [16 x i8], align 8 %21 = alloca [4 x i8], align 4 %22 = alloca [8 x i8], align 8 %23 = alloca [4 x i8], align 4 %24 = alloca [4 x i8], align 4 %25 = alloca [4 x i8], align 4 %26 = alloca [4 x i8], align 4 %27 = insertvalue { ptr, i64 } poison, ptr %2, 0 %28 = insertvalue { ptr, i64 } %27, i64 %3, 1 %29 = load i64, ptr getelementptr inbounds (i8, ptr @debug.panic_stage, i64 0), align 8 switch i64 %29, label %31 [ i64 0, label %32 i64 1, label %59 ] 30: call fastcc void @posix.abort() unreachable 31: br label %30 32: store i64 1, ptr getelementptr inbounds (i8, ptr @debug.panic_stage, i64 0), align 8 %33 = atomicrmw add ptr getelementptr inbounds (i8, ptr @debug.panicking, i64 0), i8 1 seq_cst, align 1 call fastcc void @debug.lockStdErr() call fastcc void @io.getStdErr(ptr sret(%fs.File) %26) call void @llvm.memcpy.p0.p0.i64(ptr align 4 %25, ptr align 4 %26, i64 4, i1 false) call fastcc void @fs.File.writer(ptr sret(%"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))") %24, ptr align 4 readonly nonnull %25) call void @llvm.memcpy.p0.p0.i64(ptr align 4 %23, ptr align 4 %24, i64 4, i1 false) %34 = call fastcc i64 @Thread.getCurrentId() %35 = getelementptr inbounds { i64 }, ptr %22, i32 0, i32 0 store i64 %34, ptr %35, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 4 %21, ptr align 4 %23, i64 4, i1 false) %36 = getelementptr inbounds %io.Writer, ptr %20, i32 0, i32 0 store ptr %21, ptr %19, align 8 %37 = load ptr, ptr %19, align 8 %38 = getelementptr inbounds %"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))", ptr %37, i32 0, i32 0 store ptr %38, ptr %36, align 8 %39 = getelementptr inbounds %io.Writer, ptr %20, i32 0, i32 1 store ptr getelementptr inbounds (i8, ptr @"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write')).typeErasedWriteFn", i64 0), ptr %39, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %18, ptr align 8 %20, i64 16, i1 false) %40 = call fastcc i16 @io.Writer.print__anon_4004(ptr align 8 readonly nonnull %18, ptr align 8 readonly nonnull %22) %41 = icmp eq i16 %40, 0 br i1 %41, label %50, label %51 42: %43 = getelementptr inbounds { { ptr, i64 } }, ptr %17, i32 0, i32 0 store { ptr, i64 } %28, ptr %43, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 4 %16, ptr align 4 %23, i64 4, i1 false) %44 = getelementptr inbounds %io.Writer, ptr %15, i32 0, i32 0 store ptr %16, ptr %14, align 8 %45 = load ptr, ptr %14, align 8 %46 = getelementptr inbounds %"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))", ptr %45, i32 0, i32 0 store ptr %46, ptr %44, align 8 %47 = getelementptr inbounds %io.Writer, ptr %15, i32 0, i32 1 store ptr getelementptr inbounds (i8, ptr @"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write')).typeErasedWriteFn", i64 0), ptr %47, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %13, ptr align 8 %15, i64 16, i1 false) %48 = call fastcc i16 @io.Writer.print__anon_4005(ptr align 8 readonly nonnull %13, ptr align 8 readonly nonnull %17) %49 = icmp eq i16 %48, 0 br i1 %49, label %54, label %55 50: br label %42 51: call fastcc void @posix.abort() unreachable 52: %53 = icmp ne ptr %0, null br i1 %53, label %57, label %58 54: br label %52 55: call fastcc void @posix.abort() unreachable 56: call fastcc void @debug.dumpCurrentStackTrace(ptr align 8 readonly nonnull %1) call fastcc void @debug.unlockStdErr() call fastcc void @debug.waitForOtherThreadToFinishPanicking() br label %30 57: call fastcc void @debug.dumpStackTrace(ptr align 8 readonly nonnull %0) br label %56 58: br label %56 59: store i64 2, ptr getelementptr inbounds (i8, ptr @debug.panic_stage, i64 0), align 8 call fastcc void @io.getStdErr(ptr sret(%fs.File) %12) call void @llvm.memcpy.p0.p0.i64(ptr align 4 %11, ptr align 4 %12, i64 4, i1 false) call fastcc void @fs.File.writer(ptr sret(%"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))") %10, ptr align 4 readonly nonnull %11) call void @llvm.memcpy.p0.p0.i64(ptr align 4 %9, ptr align 4 %10, i64 4, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 4 %8, ptr align 4 %9, i64 4, i1 false) %60 = getelementptr inbounds %io.Writer, ptr %7, i32 0, i32 0 store ptr %8, ptr %6, align 8 %61 = load ptr, ptr %6, align 8 %62 = getelementptr inbounds %"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))", ptr %61, i32 0, i32 0 store ptr %62, ptr %60, align 8 %63 = getelementptr inbounds %io.Writer, ptr %7, i32 0, i32 1 store ptr getelementptr inbounds (i8, ptr @"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write')).typeErasedWriteFn", i64 0), ptr %63, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %7, i64 16, i1 false) %64 = call fastcc i16 @io.Writer.print__anon_4006(ptr align 8 readonly nonnull %5) %65 = icmp eq i16 %64, 0 br i1 %65, label %67, label %68 66: br label %30 67: br label %66 68: call fastcc void @posix.abort() unreachable } ; Function Attrs: nounwind uwtable define internal fastcc i64 @Thread.getCurrentId() unnamed_addr #0 { 0: %1 = call fastcc i64 @Thread.PosixThreadImpl.getCurrentId() ret i64 %1 } ; Function Attrs: nounwind uwtable define internal fastcc void @Thread.Mutex.lock(ptr align 4 nonnull %0) unnamed_addr #0 { 1: %2 = alloca [8 x i8], align 8 store ptr %0, ptr %2, align 8 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds %Thread.Mutex, ptr %3, i32 0, i32 0 call fastcc void @Thread.Mutex.DarwinImpl.lock(ptr align 4 nonnull %4) ret void } ; Function Attrs: nounwind uwtable define internal fastcc void @debug.assert(i1 %0) unnamed_addr #0 { 1: %2 = xor i1 %0, true br i1 %2, label %4, label %5 3: ret void 4: unreachable 5: br label %3 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @Progress.write(ptr align 1 readonly nonnull %0, i64 %1) unnamed_addr #0 { 2: %3 = insertvalue { ptr, i64 } poison, ptr %0, 0 %4 = insertvalue { ptr, i64 } %3, i64 %1, 1 %5 = extractvalue { ptr, i64 } %4, 0 %6 = extractvalue { ptr, i64 } %4, 1 %7 = call fastcc i16 @fs.File.writeAll(ptr align 4 readonly nonnull getelementptr inbounds (i8, ptr @Progress.global_progress, i64 96), ptr align 1 readonly nonnull %5, i64 %6) %8 = icmp ne i16 %7, 0 br i1 %8, label %9, label %10 9: ret i16 %7 10: ret i16 0 } ; Function Attrs: nounwind speculatable willreturn nofree nosync nocallback memory(none) declare i64 @llvm.umin.i64(i64 %0, i64 %1) #5 ; Function Attrs: nounwind uwtable declare i64 @write(i32 %0, ptr align 1 readonly nonnull %1, i64 %2) #0 ; Function Attrs: nounwind uwtable define internal fastcc i16 @posix.errno__anon_3734(i64 %0) unnamed_addr #0 { 1: %2 = icmp eq i64 %0, -1 br i1 %2, label %5, label %9 3: %4 = phi i16 [ %8, %5 ], [ 0, %9 ] ret i16 %4 5: %6 = call ptr @__error() %7 = load i32, ptr %6, align 4 %8 = trunc i32 %7 to i16 br label %3 9: br label %3 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @posix.unexpectedErrno(i16 %0) unnamed_addr #0 { 1: ret i16 16 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.formatValue__anon_3979(ptr align 8 readonly nonnull %0, ptr align 8 readonly nonnull %1) unnamed_addr #0 { 2: %3 = call fastcc i16 @fmt.formatIntValue__anon_4007(ptr align 8 readonly nonnull %0, ptr align 8 readonly nonnull %1) ret i16 %3 } ; Function Attrs: nounwind uwtable define internal fastcc void @io.Writer.write(ptr noalias sret({ i64, i16, [6 x i8] }) nonnull %0, ptr align 8 readonly nonnull %1, ptr align 1 readonly nonnull %2, i64 %3) unnamed_addr #0 { 4: %5 = alloca [16 x i8], align 8 %6 = alloca [16 x i8], align 8 %7 = insertvalue { ptr, i64 } poison, ptr %2, 0 %8 = insertvalue { ptr, i64 } %7, i64 %3, 1 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %1, i64 16, i1 false) %9 = getelementptr inbounds %io.Writer, ptr %6, i32 0, i32 1 %10 = load ptr, ptr %9, align 8 %11 = getelementptr inbounds %io.Writer, ptr %1, i32 0, i32 0 %12 = load ptr, ptr %11, align 8 %13 = extractvalue { ptr, i64 } %8, 0 %14 = extractvalue { ptr, i64 } %8, 1 call fastcc void %10(ptr sret({ i64, i16, [6 x i8] }) %5, ptr align 1 readonly nonnull %12, ptr align 1 readonly nonnull %13, i64 %14) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %5, i64 16, i1 false) ret void } ; Function Attrs: nounwind uwtable define internal fastcc void @Thread.Mutex.unlock(ptr align 4 nonnull %0) unnamed_addr #0 { 1: %2 = alloca [8 x i8], align 8 store ptr %0, ptr %2, align 8 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds %Thread.Mutex, ptr %3, i32 0, i32 0 call fastcc void @Thread.Mutex.DarwinImpl.unlock(ptr align 4 nonnull %4) ret void } ; Function Attrs: nounwind uwtable define internal fastcc void @"io.fixed_buffer_stream.FixedBufferStream([]u8).write"(ptr noalias sret({ i64, i16, [6 x i8] }) nonnull %0, ptr align 8 nonnull %1, ptr align 1 readonly nonnull %2, i64 %3) unnamed_addr #0 { 4: %5 = alloca [8 x i8], align 8 %6 = alloca [16 x i8], align 8 %7 = alloca [8 x i8], align 8 %8 = insertvalue { ptr, i64 } poison, ptr %2, 0 %9 = insertvalue { ptr, i64 } %8, i64 %3, 1 %10 = extractvalue { ptr, i64 } %9, 1 %11 = icmp eq i64 %10, 0 br i1 %11, label %19, label %20 12: %13 = getelementptr inbounds %"io.fixed_buffer_stream.FixedBufferStream([]u8)", ptr %1, i32 0, i32 1 %14 = load i64, ptr %13, align 8 %15 = getelementptr inbounds %"io.fixed_buffer_stream.FixedBufferStream([]u8)", ptr %1, i32 0, i32 0 %16 = load { ptr, i64 }, ptr %15, align 8 %17 = extractvalue { ptr, i64 } %16, 1 %18 = icmp uge i64 %14, %17 br i1 %18, label %52, label %53 19: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @22, i64 16, i1 false) ret void 20: br label %12 21: %22 = getelementptr inbounds %"io.fixed_buffer_stream.FixedBufferStream([]u8)", ptr %1, i32 0, i32 0 %23 = load { ptr, i64 }, ptr %22, align 8 %24 = extractvalue { ptr, i64 } %23, 1 %25 = getelementptr inbounds %"io.fixed_buffer_stream.FixedBufferStream([]u8)", ptr %1, i32 0, i32 1 %26 = load i64, ptr %25, align 8 %27 = sub nuw i64 %24, %26 %28 = extractvalue { ptr, i64 } %9, 1 %29 = call i64 @llvm.umin.i64(i64 %27, i64 %28) store ptr %1, ptr %7, align 8 %30 = load ptr, ptr %7, align 8 %31 = getelementptr inbounds %"io.fixed_buffer_stream.FixedBufferStream([]u8)", ptr %30, i32 0, i32 0 %32 = getelementptr inbounds %"io.fixed_buffer_stream.FixedBufferStream([]u8)", ptr %1, i32 0, i32 1 %33 = load i64, ptr %32, align 8 %34 = load { ptr, i64 }, ptr %31, align 8 %35 = extractvalue { ptr, i64 } %34, 0 %36 = getelementptr inbounds i8, ptr %35, i64 %33 %37 = insertvalue { ptr, i64 } poison, ptr %36, 0 %38 = insertvalue { ptr, i64 } %37, i64 %29, 1 store { ptr, i64 } %9, ptr %6, align 8 %39 = load { ptr, i64 }, ptr %6, align 8 %40 = extractvalue { ptr, i64 } %39, 0 %41 = getelementptr inbounds i8, ptr %40, i64 0 %42 = insertvalue { ptr, i64 } poison, ptr %41, 0 %43 = insertvalue { ptr, i64 } %42, i64 %29, 1 %44 = extractvalue { ptr, i64 } %43, 0 %45 = extractvalue { ptr, i64 } %38, 1 %46 = extractvalue { ptr, i64 } %38, 0 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %46, ptr align 1 %44, i64 %45, i1 false) store ptr %1, ptr %5, align 8 %47 = load ptr, ptr %5, align 8 %48 = getelementptr inbounds %"io.fixed_buffer_stream.FixedBufferStream([]u8)", ptr %47, i32 0, i32 1 %49 = load i64, ptr %48, align 8 %50 = add nuw i64 %49, %29 store i64 %50, ptr %48, align 8 %51 = icmp eq i64 %29, 0 br i1 %51, label %57, label %58 52: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @23, i64 16, i1 false) ret void 53: br label %21 54: %55 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %0, i32 0, i32 1 store i16 0, ptr %55, align 2 %56 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %0, i32 0, i32 0 store i64 %29, ptr %56, align 8 ret void 57: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @23, i64 16, i1 false) ret void 58: br label %54 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.formatBuf__anon_3980(ptr align 1 readonly nonnull %0, i64 %1, ptr align 8 readonly nonnull %2, ptr align 8 readonly nonnull %3) unnamed_addr #0 { 4: %5 = alloca [16 x i8], align 8 %6 = alloca [16 x i8], align 8 %7 = alloca [16 x i8], align 8 %8 = alloca [16 x i8], align 8 %9 = alloca [16 x i8], align 8 %10 = alloca [16 x i8], align 8 %11 = alloca [16 x i8], align 8 %12 = alloca [16 x i8], align 8 %13 = alloca [16 x i8], align 8 %14 = alloca [4 x i8], align 2 %15 = alloca [4 x i8], align 1 %16 = alloca [16 x i8], align 8 %17 = alloca [16 x i8], align 8 %18 = alloca [16 x i8], align 8 %19 = insertvalue { ptr, i64 } poison, ptr %0, 0 %20 = insertvalue { ptr, i64 } %19, i64 %1, 1 %21 = getelementptr inbounds %fmt.FormatOptions, ptr %2, i32 0, i32 1 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %18, ptr align 8 %21, i64 16, i1 false) %22 = getelementptr inbounds { i64, i8, [7 x i8] }, ptr %18, i32 0, i32 1 %23 = load i8, ptr %22 %24 = icmp ne i8 %23, 0 br i1 %24, label %26, label %34 25: ret i16 0 26: %27 = getelementptr inbounds { i64, i8, [7 x i8] }, ptr %18, i32 0, i32 0 %28 = load i64, ptr %27, align 8 %29 = extractvalue { ptr, i64 } %20, 0 %30 = extractvalue { ptr, i64 } %20, 1 call fastcc void @unicode.utf8CountCodepoints(ptr sret({ i64, i16, [6 x i8] }) %17, ptr align 1 readonly nonnull %29, i64 %30) %31 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %17, i32 0, i32 1 %32 = load i16, ptr %31 %33 = icmp eq i16 %32, 0 br i1 %33, label %42, label %45 34: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %3, i64 16, i1 false) %35 = extractvalue { ptr, i64 } %20, 0 %36 = extractvalue { ptr, i64 } %20, 1 %37 = call fastcc i16 @io.Writer.writeAll(ptr align 8 readonly nonnull %5, ptr align 1 readonly nonnull %35, i64 %36) %38 = icmp ne i16 %37, 0 br i1 %38, label %138, label %139 39: %40 = phi i64 [ %44, %42 ], [ %46, %45 ] %41 = icmp ult i64 %40, %28 br i1 %41, label %50, label %52 42: %43 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %17, i32 0, i32 0 %44 = load i64, ptr %43, align 8 br label %39 45: %46 = extractvalue { ptr, i64 } %20, 1 br label %39 47: %48 = phi i64 [ %51, %50 ], [ 0, %52 ] %49 = icmp eq i64 %48, 0 br i1 %49, label %65, label %69 50: %51 = sub nuw i64 %28, %40 br label %47 52: br label %47 53: call void @llvm.memset.p0.i64(ptr align 1 %15, i8 undef, i64 4, i1 false) %54 = getelementptr inbounds %fmt.FormatOptions, ptr %2, i32 0, i32 2 %55 = load i32, ptr %54, align 4 %56 = trunc i32 %55 to i21 %57 = getelementptr inbounds [4 x i8], ptr %15, i64 0, i64 0 %58 = insertvalue { ptr, i64 } poison, ptr %57, 0 %59 = insertvalue { ptr, i64 } %58, i64 4, 1 %60 = extractvalue { ptr, i64 } %59, 0 %61 = extractvalue { ptr, i64 } %59, 1 call fastcc void @unicode.utf8Encode(ptr sret({ i16, i3, [1 x i8] }) %14, i21 %56, ptr align 1 nonnull %60, i64 %61) %62 = getelementptr inbounds { i16, i3, [1 x i8] }, ptr %14, i32 0, i32 0 %63 = load i16, ptr %62 %64 = icmp eq i16 %63, 0 br i1 %64, label %75, label %83 65: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %16, ptr align 8 %3, i64 16, i1 false) %66 = extractvalue { ptr, i64 } %20, 0 %67 = extractvalue { ptr, i64 } %20, 1 %68 = call fastcc i16 @io.Writer.writeAll(ptr align 8 readonly nonnull %16, ptr align 1 readonly nonnull %66, i64 %67) ret i16 %68 69: br label %53 70: %71 = phi { ptr, i64 } [ %82, %75 ], [ { ptr getelementptr inbounds (i8, ptr @__anon_3651, i64 0), i64 3 }, %87 ] %72 = getelementptr inbounds %fmt.FormatOptions, ptr %2, i32 0, i32 3 %73 = load i8, ptr %72, align 1 %74 = trunc i8 %73 to i2 switch i2 %74, label %89 [ i2 0, label %90 i2 1, label %103 i2 -2, label %125 ] 75: %76 = getelementptr inbounds { i16, i3, [1 x i8] }, ptr %14, i32 0, i32 1 %77 = load i3, ptr %76, align 1 %78 = getelementptr inbounds i8, ptr %15, i64 0 %79 = zext i3 %77 to i64 %80 = insertvalue { ptr, i64 } poison, ptr %78, 0 %81 = insertvalue { ptr, i64 } %80, i64 %79, 1 store { ptr, i64 } %81, ptr %13, align 8 %82 = load { ptr, i64 }, ptr %13, align 8 br label %70 83: %84 = getelementptr inbounds { i16, i3, [1 x i8] }, ptr %14, i32 0, i32 0 %85 = load i16, ptr %84 switch i16 %85, label %86 [ i16 25, label %87 i16 26, label %87 ] 86: unreachable 87: br label %70 88: br label %25 89: unreachable 90: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %12, ptr align 8 %3, i64 16, i1 false) %91 = extractvalue { ptr, i64 } %20, 0 %92 = extractvalue { ptr, i64 } %20, 1 %93 = call fastcc i16 @io.Writer.writeAll(ptr align 8 readonly nonnull %12, ptr align 1 readonly nonnull %91, i64 %92) %94 = icmp ne i16 %93, 0 br i1 %94, label %95, label %96 95: ret i16 %93 96: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11, ptr align 8 %3, i64 16, i1 false) %97 = extractvalue { ptr, i64 } %71, 0 %98 = extractvalue { ptr, i64 } %71, 1 %99 = call fastcc i16 @io.Writer.writeBytesNTimes(ptr align 8 readonly nonnull %11, ptr align 1 readonly nonnull %97, i64 %98, i64 %48) %100 = icmp ne i16 %99, 0 br i1 %100, label %101, label %102 101: ret i16 %99 102: br label %88 103: %104 = udiv i64 %48, 2 %105 = add nuw i64 %48, 1 %106 = udiv i64 %105, 2 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %3, i64 16, i1 false) %107 = extractvalue { ptr, i64 } %71, 0 %108 = extractvalue { ptr, i64 } %71, 1 %109 = call fastcc i16 @io.Writer.writeBytesNTimes(ptr align 8 readonly nonnull %10, ptr align 1 readonly nonnull %107, i64 %108, i64 %104) %110 = icmp ne i16 %109, 0 br i1 %110, label %111, label %112 111: ret i16 %109 112: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %3, i64 16, i1 false) %113 = extractvalue { ptr, i64 } %20, 0 %114 = extractvalue { ptr, i64 } %20, 1 %115 = call fastcc i16 @io.Writer.writeAll(ptr align 8 readonly nonnull %9, ptr align 1 readonly nonnull %113, i64 %114) %116 = icmp ne i16 %115, 0 br i1 %116, label %117, label %118 117: ret i16 %115 118: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %3, i64 16, i1 false) %119 = extractvalue { ptr, i64 } %71, 0 %120 = extractvalue { ptr, i64 } %71, 1 %121 = call fastcc i16 @io.Writer.writeBytesNTimes(ptr align 8 readonly nonnull %8, ptr align 1 readonly nonnull %119, i64 %120, i64 %106) %122 = icmp ne i16 %121, 0 br i1 %122, label %123, label %124 123: ret i16 %121 124: br label %88 125: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %3, i64 16, i1 false) %126 = extractvalue { ptr, i64 } %71, 0 %127 = extractvalue { ptr, i64 } %71, 1 %128 = call fastcc i16 @io.Writer.writeBytesNTimes(ptr align 8 readonly nonnull %7, ptr align 1 readonly nonnull %126, i64 %127, i64 %48) %129 = icmp ne i16 %128, 0 br i1 %129, label %130, label %131 130: ret i16 %128 131: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %3, i64 16, i1 false) %132 = extractvalue { ptr, i64 } %20, 0 %133 = extractvalue { ptr, i64 } %20, 1 %134 = call fastcc i16 @io.Writer.writeAll(ptr align 8 readonly nonnull %6, ptr align 1 readonly nonnull %132, i64 %133) %135 = icmp ne i16 %134, 0 br i1 %135, label %136, label %137 136: ret i16 %134 137: br label %88 138: ret i16 %37 139: br label %25 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @io.Writer.print__anon_4004(ptr align 8 readonly nonnull %0, ptr align 8 readonly nonnull %1) unnamed_addr #0 { 2: %3 = call fastcc i16 @fmt.format__anon_4018(ptr align 8 readonly nonnull %0, ptr align 8 readonly nonnull %1) ret i16 %3 } ; Function Attrs: noreturn nounwind uwtable cold define internal fastcc void @posix.abort() unnamed_addr #1 { 0: call void @abort() unreachable } ; Function Attrs: nounwind uwtable define internal fastcc i16 @io.Writer.print__anon_4005(ptr align 8 readonly nonnull %0, ptr align 8 readonly nonnull %1) unnamed_addr #0 { 2: %3 = call fastcc i16 @fmt.format__anon_4019(ptr align 8 readonly nonnull %0, ptr align 8 readonly nonnull %1) ret i16 %3 } ; Function Attrs: nounwind uwtable define internal fastcc void @debug.dumpStackTrace(ptr align 8 readonly nonnull %0) unnamed_addr #0 { 1: %2 = alloca [16 x i8], align 8 %3 = alloca [8 x i8], align 8 %4 = alloca [16 x i8], align 8 %5 = alloca [4 x i8], align 4 %6 = alloca [4 x i8], align 4 %7 = alloca [4 x i8], align 4 %8 = alloca [4 x i8], align 4 %9 = alloca [4 x i8], align 4 call fastcc void @io.getStdErr(ptr sret(%fs.File) %9) call void @llvm.memcpy.p0.p0.i64(ptr align 4 %8, ptr align 4 %9, i64 4, i1 false) call fastcc void @fs.File.writer(ptr sret(%"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))") %7, ptr align 4 readonly nonnull %8) call void @llvm.memcpy.p0.p0.i64(ptr align 4 %6, ptr align 4 %7, i64 4, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 4 %5, ptr align 4 %6, i64 4, i1 false) %10 = getelementptr inbounds %io.Writer, ptr %4, i32 0, i32 0 store ptr %5, ptr %3, align 8 %11 = load ptr, ptr %3, align 8 %12 = getelementptr inbounds %"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))", ptr %11, i32 0, i32 0 store ptr %12, ptr %10, align 8 %13 = getelementptr inbounds %io.Writer, ptr %4, i32 0, i32 1 store ptr getelementptr inbounds (i8, ptr @"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write')).typeErasedWriteFn", i64 0), ptr %13, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2, ptr align 8 %4, i64 16, i1 false) %14 = call fastcc i16 @io.Writer.print__anon_4020(ptr align 8 readonly nonnull %2) %15 = icmp eq i16 %14, 0 br i1 %15, label %17, label %18 16: ret void 17: br label %16 18: ret void } ; Function Attrs: nounwind uwtable define internal fastcc void @debug.dumpCurrentStackTrace(ptr align 8 readonly nonnull %0) unnamed_addr #0 { 1: %2 = alloca [16 x i8], align 8 %3 = alloca [8 x i8], align 8 %4 = alloca [16 x i8], align 8 %5 = alloca [4 x i8], align 4 %6 = alloca [4 x i8], align 4 %7 = alloca [4 x i8], align 4 %8 = alloca [4 x i8], align 4 %9 = alloca [4 x i8], align 4 call fastcc void @io.getStdErr(ptr sret(%fs.File) %9) call void @llvm.memcpy.p0.p0.i64(ptr align 4 %8, ptr align 4 %9, i64 4, i1 false) call fastcc void @fs.File.writer(ptr sret(%"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))") %7, ptr align 4 readonly nonnull %8) call void @llvm.memcpy.p0.p0.i64(ptr align 4 %6, ptr align 4 %7, i64 4, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 4 %5, ptr align 4 %6, i64 4, i1 false) %10 = getelementptr inbounds %io.Writer, ptr %4, i32 0, i32 0 store ptr %5, ptr %3, align 8 %11 = load ptr, ptr %3, align 8 %12 = getelementptr inbounds %"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))", ptr %11, i32 0, i32 0 store ptr %12, ptr %10, align 8 %13 = getelementptr inbounds %io.Writer, ptr %4, i32 0, i32 1 store ptr getelementptr inbounds (i8, ptr @"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write')).typeErasedWriteFn", i64 0), ptr %13, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2, ptr align 8 %4, i64 16, i1 false) %14 = call fastcc i16 @io.Writer.print__anon_4020(ptr align 8 readonly nonnull %2) %15 = icmp eq i16 %14, 0 br i1 %15, label %17, label %18 16: ret void 17: br label %16 18: ret void } ; Function Attrs: nounwind uwtable define internal fastcc void @debug.waitForOtherThreadToFinishPanicking() unnamed_addr #0 { 0: %1 = alloca [4 x i8], align 4 %2 = alloca [4 x i8], align 4 %3 = atomicrmw sub ptr getelementptr inbounds (i8, ptr @debug.panicking, i64 0), i8 1 seq_cst, align 1 %4 = icmp ne i8 %3, 1 br i1 %4, label %6, label %7 5: ret void 6: call fastcc void @"atomic.Value(u32).init"(ptr sret(%"atomic.Value(u32)") %1, i32 0) call void @llvm.memcpy.p0.p0.i64(ptr align 4 %2, ptr align 4 %1, i64 4, i1 false) br label %8 7: br label %5 8: call fastcc void @Thread.Futex.wait(ptr align 4 readonly nonnull %2, i32 0) br label %8 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @io.Writer.print__anon_4006(ptr align 8 readonly nonnull %0) unnamed_addr #0 { 1: %2 = call fastcc i16 @fmt.format__anon_4050(ptr align 8 readonly nonnull %0) ret i16 %2 } ; Function Attrs: nounwind uwtable define internal fastcc i64 @Thread.PosixThreadImpl.getCurrentId() unnamed_addr #0 { 0: %1 = alloca [8 x i8], align 8 call void @llvm.memset.p0.i64(ptr align 8 %1, i8 undef, i64 8, i1 false) %2 = call i32 @pthread_threadid_np(ptr align 1 null, ptr align 8 nonnull %1) %3 = icmp eq i32 %2, 0 call fastcc void @debug.assert(i1 %3) %4 = load i64, ptr %1, align 8 ret i64 %4 } ; Function Attrs: nounwind uwtable define internal fastcc void @Thread.Mutex.DarwinImpl.lock(ptr align 4 nonnull %0) unnamed_addr #0 { 1: %2 = alloca [8 x i8], align 8 store ptr %0, ptr %2, align 8 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds %Thread.Mutex.DarwinImpl, ptr %3, i32 0, i32 0 call void @os_unfair_lock_lock(ptr align 4 nonnull %4) ret void } ; Function Attrs: nounwind uwtable define internal fastcc i16 @fs.File.writeAll(ptr align 4 readonly nonnull %0, ptr align 1 readonly nonnull %1, i64 %2) unnamed_addr #0 { 3: %4 = alloca [16 x i8], align 8 %5 = alloca [16 x i8], align 8 %6 = alloca [4 x i8], align 4 %7 = alloca [4 x i8], align 4 %8 = alloca [8 x i8], align 8 %9 = insertvalue { ptr, i64 } poison, ptr %1, 0 %10 = insertvalue { ptr, i64 } %9, i64 %2, 1 store i64 0, ptr %8, align 8 br label %12 11: ret i16 0 12: %13 = load i64, ptr %8, align 8 %14 = extractvalue { ptr, i64 } %10, 1 %15 = icmp ult i64 %13, %14 br i1 %15, label %17, label %32 16: br label %12 17: %18 = load i64, ptr %8, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 4 %7, ptr align 4 %0, i64 4, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 4 %6, ptr align 4 %7, i64 4, i1 false) store { ptr, i64 } %10, ptr %5, align 8 %19 = load i64, ptr %8, align 8 %20 = load { ptr, i64 }, ptr %5, align 8 %21 = extractvalue { ptr, i64 } %20, 0 %22 = getelementptr inbounds i8, ptr %21, i64 %19 %23 = extractvalue { ptr, i64 } %20, 1 %24 = sub nuw i64 %23, %19 %25 = insertvalue { ptr, i64 } poison, ptr %22, 0 %26 = insertvalue { ptr, i64 } %25, i64 %24, 1 %27 = extractvalue { ptr, i64 } %26, 0 %28 = extractvalue { ptr, i64 } %26, 1 call fastcc void @fs.File.write(ptr sret({ i64, i16, [6 x i8] }) %4, ptr align 4 readonly nonnull %6, ptr align 1 readonly nonnull %27, i64 %28) %29 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %4, i32 0, i32 1 %30 = load i16, ptr %29 %31 = icmp ne i16 %30, 0 br i1 %31, label %33, label %36 32: br label %11 33: %34 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %4, i32 0, i32 1 %35 = load i16, ptr %34 ret i16 %35 36: %37 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %4, i32 0, i32 0 %38 = load i64, ptr %37, align 8 %39 = add nuw i64 %18, %38 store i64 %39, ptr %8, align 8 br label %16 } ; Function Attrs: nounwind uwtable define internal fastcc void @unicode.utf8ByteSequenceLength(ptr noalias sret({ i16, i3, [1 x i8] }) nonnull %0, i8 %1) unnamed_addr #0 { 2: switch i8 %1, label %5 [ ] 3: %4 = phi ptr [ @16, %9 ], [ @17, %14 ], [ @18, %19 ], [ @19, %24 ], [ @20, %25 ] call void @llvm.memcpy.p0.p0.i64(ptr align 2 %0, ptr align 2 %4, i64 4, i1 false) ret void 5: %6 = icmp uge i8 %1, 0 %7 = icmp ule i8 %1, 127 %8 = and i1 %6, %7 br i1 %8, label %9, label %10 9: br label %3 10: %11 = icmp uge i8 %1, -64 %12 = icmp ule i8 %1, -33 %13 = and i1 %11, %12 br i1 %13, label %14, label %15 14: br label %3 15: %16 = icmp uge i8 %1, -32 %17 = icmp ule i8 %1, -17 %18 = and i1 %16, %17 br i1 %18, label %19, label %20 19: br label %3 20: %21 = icmp uge i8 %1, -16 %22 = icmp ule i8 %1, -9 %23 = and i1 %21, %22 br i1 %23, label %24, label %25 24: br label %3 25: br label %3 } ; Function Attrs: nounwind uwtable define internal fastcc void @unicode.utf8CountCodepoints(ptr noalias sret({ i64, i16, [6 x i8] }) nonnull %0, ptr align 1 readonly nonnull %1, i64 %2) unnamed_addr #0 { 3: %4 = alloca [8 x i8], align 4 %5 = alloca [16 x i8], align 8 %6 = alloca [4 x i8], align 2 %7 = alloca [16 x i8], align 8 %8 = alloca [8 x i8], align 8 %9 = alloca [8 x i8], align 8 %10 = insertvalue { ptr, i64 } poison, ptr %1, 0 %11 = insertvalue { ptr, i64 } %10, i64 %2, 1 store i64 0, ptr %9, align 8 store i64 0, ptr %8, align 8 br label %16 12: %13 = load i64, ptr %9, align 8 %14 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %0, i32 0, i32 1 store i16 0, ptr %14, align 2 %15 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %0, i32 0, i32 0 store i64 %13, ptr %15, align 8 ret void 16: %17 = load i64, ptr %8, align 8 %18 = extractvalue { ptr, i64 } %11, 1 %19 = icmp ult i64 %17, %18 br i1 %19, label %21, label %22 20: br label %16 21: br label %27 22: br label %12 23: %24 = load i64, ptr %8, align 8 %25 = extractvalue { ptr, i64 } %11, 1 %26 = icmp ult i64 %24, %25 br i1 %26, label %50, label %58 27: %28 = load i64, ptr %8, align 8 %29 = add nuw i64 %28, 8 %30 = extractvalue { ptr, i64 } %11, 1 %31 = icmp ule i64 %29, %30 br i1 %31, label %33, label %41 32: br label %27 33: store { ptr, i64 } %11, ptr %7, align 8 %34 = load i64, ptr %8, align 8 %35 = load { ptr, i64 }, ptr %7, align 8 %36 = extractvalue { ptr, i64 } %35, 0 %37 = getelementptr inbounds i8, ptr %36, i64 %34 %38 = load i64, ptr %37, align 1 %39 = and i64 %38, -9187201950435737472 %40 = icmp ne i64 %39, 0 br i1 %40, label %47, label %48 41: br label %23 42: %43 = load i64, ptr %9, align 8 %44 = add nuw i64 %43, 8 store i64 %44, ptr %9, align 8 %45 = load i64, ptr %8, align 8 %46 = add nuw i64 %45, 8 store i64 %46, ptr %8, align 8 br label %32 47: br label %23 48: br label %42 49: br label %20 50: %51 = load i64, ptr %8, align 8 %52 = extractvalue { ptr, i64 } %11, 0 %53 = getelementptr inbounds i8, ptr %52, i64 %51 %54 = load i8, ptr %53, align 1 call fastcc void @unicode.utf8ByteSequenceLength(ptr sret({ i16, i3, [1 x i8] }) %6, i8 %54) %55 = getelementptr inbounds { i16, i3, [1 x i8] }, ptr %6, i32 0, i32 0 %56 = load i16, ptr %55 %57 = icmp ne i16 %56, 0 br i1 %57, label %59, label %64 58: br label %49 59: %60 = getelementptr inbounds { i16, i3, [1 x i8] }, ptr %6, i32 0, i32 0 %61 = load i16, ptr %60 %62 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %0, i32 0, i32 1 store i16 %61, ptr %62, align 2 %63 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %0, i32 0, i32 0 ret void 64: %65 = getelementptr inbounds { i16, i3, [1 x i8] }, ptr %6, i32 0, i32 1 %66 = load i3, ptr %65, align 1 %67 = load i64, ptr %8, align 8 %68 = zext i3 %66 to i64 %69 = add nuw i64 %67, %68 %70 = extractvalue { ptr, i64 } %11, 1 %71 = icmp ugt i64 %69, %70 br i1 %71, label %73, label %74 72: switch i3 %66, label %81 [ i3 1, label %94 ] 73: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @21, i64 16, i1 false) ret void 74: br label %72 75: %76 = load i64, ptr %8, align 8 %77 = zext i3 %66 to i64 %78 = add nuw i64 %76, %77 store i64 %78, ptr %8, align 8 %79 = load i64, ptr %9, align 8 %80 = add nuw i64 %79, 1 store i64 %80, ptr %9, align 8 br label %49 81: store { ptr, i64 } %11, ptr %5, align 8 %82 = load i64, ptr %8, align 8 %83 = load { ptr, i64 }, ptr %5, align 8 %84 = extractvalue { ptr, i64 } %83, 0 %85 = getelementptr inbounds i8, ptr %84, i64 %82 %86 = zext i3 %66 to i64 %87 = insertvalue { ptr, i64 } poison, ptr %85, 0 %88 = insertvalue { ptr, i64 } %87, i64 %86, 1 %89 = extractvalue { ptr, i64 } %88, 0 %90 = extractvalue { ptr, i64 } %88, 1 call fastcc void @unicode.utf8Decode(ptr sret({ i21, i16, [2 x i8] }) %4, ptr align 1 readonly nonnull %89, i64 %90) %91 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %4, i32 0, i32 1 %92 = load i16, ptr %91 %93 = icmp ne i16 %92, 0 br i1 %93, label %95, label %100 94: br label %75 95: %96 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %4, i32 0, i32 1 %97 = load i16, ptr %96 %98 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %0, i32 0, i32 1 store i16 %97, ptr %98, align 2 %99 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %0, i32 0, i32 0 ret void 100: br label %75 } ; Function Attrs: nounwind uwtable define internal fastcc void @unicode.utf8Decode(ptr noalias sret({ i21, i16, [2 x i8] }) nonnull %0, ptr align 1 readonly nonnull %1, i64 %2) unnamed_addr #0 { 3: %4 = alloca [8 x i8], align 4 %5 = alloca [8 x i8], align 4 %6 = alloca [8 x i8], align 4 %7 = alloca [8 x i8], align 4 %8 = insertvalue { ptr, i64 } poison, ptr %1, 0 %9 = insertvalue { ptr, i64 } %8, i64 %2, 1 %10 = extractvalue { ptr, i64 } %9, 1 switch i64 %10, label %13 [ i64 1, label %14 i64 2, label %21 i64 3, label %24 i64 4, label %27 ] 11: %12 = phi ptr [ %7, %14 ], [ %6, %21 ], [ %5, %24 ], [ %4, %27 ] call void @llvm.memcpy.p0.p0.i64(ptr align 4 %0, ptr align 4 %12, i64 8, i1 false) ret void 13: unreachable 14: %15 = extractvalue { ptr, i64 } %9, 0 %16 = getelementptr inbounds i8, ptr %15, i64 0 %17 = load i8, ptr %16, align 1 %18 = zext i8 %17 to i21 %19 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %7, i32 0, i32 1 store i16 0, ptr %19, align 2 %20 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %7, i32 0, i32 0 store i21 %18, ptr %20, align 4 br label %11 21: %22 = extractvalue { ptr, i64 } %9, 0 %23 = extractvalue { ptr, i64 } %9, 1 call fastcc void @unicode.utf8Decode2(ptr sret({ i21, i16, [2 x i8] }) %6, ptr align 1 readonly nonnull %22, i64 %23) br label %11 24: %25 = extractvalue { ptr, i64 } %9, 0 %26 = extractvalue { ptr, i64 } %9, 1 call fastcc void @unicode.utf8Decode3(ptr sret({ i21, i16, [2 x i8] }) %5, ptr align 1 readonly nonnull %25, i64 %26) br label %11 27: %28 = extractvalue { ptr, i64 } %9, 0 %29 = extractvalue { ptr, i64 } %9, 1 call fastcc void @unicode.utf8Decode4(ptr sret({ i21, i16, [2 x i8] }) %4, ptr align 1 readonly nonnull %28, i64 %29) br label %11 } ; Function Attrs: nounwind uwtable define internal fastcc void @unicode.utf8Encode(ptr noalias sret({ i16, i3, [1 x i8] }) nonnull %0, i21 %1, ptr align 1 nonnull %2, i64 %3) unnamed_addr #0 { 4: %5 = alloca [4 x i8], align 2 %6 = insertvalue { ptr, i64 } poison, ptr %2, 0 %7 = insertvalue { ptr, i64 } %6, i64 %3, 1 %8 = extractvalue { ptr, i64 } %7, 0 %9 = extractvalue { ptr, i64 } %7, 1 call fastcc void @unicode.utf8EncodeImpl__anon_4051(ptr sret({ i16, i3, [1 x i8] }) %5, i21 %1, ptr align 1 nonnull %8, i64 %9) call void @llvm.memcpy.p0.p0.i64(ptr align 2 %0, ptr align 2 %5, i64 4, i1 false) ret void } ; Function Attrs: nounwind uwtable define internal fastcc i16 @io.Writer.writeBytesNTimes(ptr align 8 readonly nonnull %0, ptr align 1 readonly nonnull %1, i64 %2, i64 %3) unnamed_addr #0 { 4: %5 = alloca [16 x i8], align 8 %6 = alloca [8 x i8], align 8 %7 = insertvalue { ptr, i64 } poison, ptr %1, 0 %8 = insertvalue { ptr, i64 } %7, i64 %2, 1 store i64 0, ptr %6, align 8 br label %10 9: ret i16 0 10: %11 = load i64, ptr %6, align 8 %12 = icmp ult i64 %11, %3 br i1 %12, label %14, label %19 13: br label %10 14: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %0, i64 16, i1 false) %15 = extractvalue { ptr, i64 } %8, 0 %16 = extractvalue { ptr, i64 } %8, 1 %17 = call fastcc i16 @io.Writer.writeAll(ptr align 8 readonly nonnull %5, ptr align 1 readonly nonnull %15, i64 %16) %18 = icmp ne i16 %17, 0 br i1 %18, label %20, label %21 19: br label %9 20: ret i16 %17 21: %22 = load i64, ptr %6, align 8 %23 = add nuw i64 %22, 1 store i64 %23, ptr %6, align 8 br label %13 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.formatInt__anon_4016(i11 %0, i8 %1, i1 %2, ptr align 8 readonly nonnull %3, ptr align 8 readonly nonnull %4) unnamed_addr #0 { 5: %6 = alloca [16 x i8], align 8 %7 = alloca [2 x i8], align 1 %8 = alloca [2 x i8], align 1 %9 = alloca [8 x i8], align 8 %10 = alloca [2 x i8], align 2 %11 = alloca [12 x i8], align 1 %12 = icmp uge i8 %1, 2 call fastcc void @debug.assert(i1 %12) call void @llvm.memset.p0.i64(ptr align 1 %11, i8 undef, i64 12, i1 false) store i11 %0, ptr %10, align 2 store i64 12, ptr %9, align 8 %13 = icmp eq i8 %1, 10 br i1 %13, label %24, label %25 14: %15 = load i64, ptr %9, align 8 %16 = getelementptr inbounds i8, ptr %11, i64 %15 %17 = sub nuw i64 12, %15 %18 = insertvalue { ptr, i64 } poison, ptr %16, 0 %19 = insertvalue { ptr, i64 } %18, i64 %17, 1 store { ptr, i64 } %19, ptr %6, align 8 %20 = load { ptr, i64 }, ptr %6, align 8 %21 = extractvalue { ptr, i64 } %20, 0 %22 = extractvalue { ptr, i64 } %20, 1 %23 = call fastcc i16 @fmt.formatBuf__anon_3980(ptr align 1 readonly nonnull %21, i64 %22, ptr align 8 readonly nonnull %3, ptr align 8 readonly nonnull %4) ret i16 %23 24: br label %30 25: br label %67 26: %27 = load i16, ptr %10, align 2 %28 = trunc i16 %27 to i11 %29 = icmp ult i11 %28, 10 br i1 %29, label %49, label %58 30: %31 = load i16, ptr %10, align 2 %32 = trunc i16 %31 to i11 %33 = icmp uge i11 %32, 100 br i1 %33, label %35, label %47 34: br label %30 35: %36 = load i64, ptr %9, align 8 %37 = sub nuw i64 %36, 2 store i64 %37, ptr %9, align 8 %38 = load i64, ptr %9, align 8 %39 = getelementptr inbounds i8, ptr %11, i64 %38 %40 = load i16, ptr %10, align 2 %41 = trunc i16 %40 to i11 %42 = urem i11 %41, 100 %43 = zext i11 %42 to i64 call fastcc void @fmt.digits2(ptr sret([2 x i8]) %8, i64 %43) call void @llvm.memcpy.p0.p0.i64(ptr align 1 %39, ptr align 1 %8, i64 2, i1 false) %44 = load i16, ptr %10, align 2 %45 = trunc i16 %44 to i11 %46 = udiv i11 %45, 100 store i11 %46, ptr %10, align 2 br label %34 47: br label %26 48: br label %14 49: %50 = load i64, ptr %9, align 8 %51 = sub nuw i64 %50, 1 store i64 %51, ptr %9, align 8 %52 = load i64, ptr %9, align 8 %53 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 %52 %54 = load i16, ptr %10, align 2 %55 = trunc i16 %54 to i11 %56 = trunc i11 %55 to i8 %57 = add nuw i8 48, %56 store i8 %57, ptr %53, align 1 br label %48 58: %59 = load i64, ptr %9, align 8 %60 = sub nuw i64 %59, 2 store i64 %60, ptr %9, align 8 %61 = load i64, ptr %9, align 8 %62 = getelementptr inbounds i8, ptr %11, i64 %61 %63 = load i16, ptr %10, align 2 %64 = trunc i16 %63 to i11 %65 = zext i11 %64 to i64 call fastcc void @fmt.digits2(ptr sret([2 x i8]) %7, i64 %65) call void @llvm.memcpy.p0.p0.i64(ptr align 1 %62, ptr align 1 %7, i64 2, i1 false) br label %48 66: br label %14 67: %68 = load i16, ptr %10, align 2 %69 = trunc i16 %68 to i11 %70 = zext i8 %1 to i11 %71 = urem i11 %69, %70 %72 = load i64, ptr %9, align 8 %73 = sub nuw i64 %72, 1 store i64 %73, ptr %9, align 8 %74 = load i64, ptr %9, align 8 %75 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 %74 %76 = trunc i11 %71 to i8 %77 = call fastcc i8 @fmt.digitToChar(i8 %76, i1 %2) store i8 %77, ptr %75, align 1 %78 = load i16, ptr %10, align 2 %79 = trunc i16 %78 to i11 %80 = zext i8 %1 to i11 %81 = udiv i11 %79, %80 store i11 %81, ptr %10, align 2 %82 = load i16, ptr %10, align 2 %83 = trunc i16 %82 to i11 %84 = icmp eq i11 %83, 0 br i1 %84, label %86, label %87 85: br label %67 86: br label %66 87: br label %85 } ; Function Attrs: nounwind uwtable define internal fastcc void @fmt.digits2(ptr noalias sret([2 x i8]) nonnull %0, i64 %1) unnamed_addr #0 { 2: %3 = mul nuw i64 %1, 2 %4 = getelementptr inbounds i8, ptr getelementptr inbounds (i8, ptr @__anon_3758, i64 0), i64 %3 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %0, ptr align 1 %4, i64 2, i1 false) ret void } ; Function Attrs: nounwind uwtable define internal fastcc i8 @fmt.digitToChar(i8 %0, i1 %1) unnamed_addr #0 { 2: switch i8 %0, label %5 [ ] 3: %4 = phi i8 [ %10, %9 ], [ %21, %18 ] ret i8 %4 5: %6 = icmp uge i8 %0, 0 %7 = icmp ule i8 %0, 9 %8 = and i1 %6, %7 br i1 %8, label %9, label %11 9: %10 = add nuw i8 %0, 48 br label %3 11: %12 = icmp uge i8 %0, 10 %13 = icmp ule i8 %0, 35 %14 = and i1 %12, %13 br i1 %14, label %15, label %17 15: %16 = icmp eq i1 %1, true br i1 %16, label %22, label %23 17: unreachable 18: %19 = phi i8 [ 65, %22 ], [ 97, %23 ] %20 = sub nuw i8 %19, 10 %21 = add nuw i8 %0, %20 br label %3 22: br label %18 23: br label %18 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.formatIntValue__anon_4007(ptr align 8 readonly nonnull %0, ptr align 8 readonly nonnull %1) unnamed_addr #0 { 2: %3 = call fastcc i16 @fmt.formatInt__anon_4016(i11 -535, i8 10, i1 false, ptr align 8 readonly nonnull %0, ptr align 8 readonly nonnull %1) ret i16 %3 } ; Function Attrs: nounwind uwtable define internal fastcc void @Thread.Mutex.DarwinImpl.unlock(ptr align 4 nonnull %0) unnamed_addr #0 { 1: %2 = alloca [8 x i8], align 8 store ptr %0, ptr %2, align 8 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds %Thread.Mutex.DarwinImpl, ptr %3, i32 0, i32 0 call void @os_unfair_lock_unlock(ptr align 4 nonnull %4) ret void } ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.format__anon_4018(ptr align 8 readonly nonnull %0, ptr align 8 readonly nonnull %1) unnamed_addr #0 { 2: %3 = alloca [16 x i8], align 8 %4 = alloca [16 x i8], align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4, ptr align 8 %0, i64 16, i1 false) %5 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_3287, i64 0), i64 7 }, 0 %6 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_3287, i64 0), i64 7 }, 1 %7 = call fastcc i16 @io.Writer.writeAll(ptr align 8 readonly nonnull %4, ptr align 1 readonly nonnull %5, i64 %6) %8 = icmp ne i16 %7, 0 br i1 %8, label %9, label %10 9: ret i16 %7 10: %11 = getelementptr inbounds { i64 }, ptr %1, i32 0, i32 0 %12 = load i64, ptr %11, align 8 %13 = call fastcc i16 @fmt.formatType__anon_4052(i64 %12, ptr align 8 readonly nonnull @30, ptr align 8 readonly nonnull %0, i64 3) %14 = icmp ne i16 %13, 0 br i1 %14, label %15, label %16 15: ret i16 %13 16: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3, ptr align 8 %0, i64 16, i1 false) %17 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_3287, i64 9), i64 8 }, 0 %18 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_3287, i64 9), i64 8 }, 1 %19 = call fastcc i16 @io.Writer.writeAll(ptr align 8 readonly nonnull %3, ptr align 1 readonly nonnull %17, i64 %18) %20 = icmp ne i16 %19, 0 br i1 %20, label %21, label %22 21: ret i16 %19 22: ret i16 0 } ; Function Attrs: noreturn nounwind uwtable declare void @abort() #6 ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.format__anon_4019(ptr align 8 readonly nonnull %0, ptr align 8 readonly nonnull %1) unnamed_addr #0 { 2: %3 = alloca [16 x i8], align 8 %4 = getelementptr inbounds { { ptr, i64 } }, ptr %1, i32 0, i32 0 %5 = load { ptr, i64 }, ptr %4, align 8 %6 = extractvalue { ptr, i64 } %5, 0 %7 = extractvalue { ptr, i64 } %5, 1 %8 = call fastcc i16 @fmt.formatType__anon_4053(ptr align 1 readonly nonnull %6, i64 %7, ptr align 8 readonly nonnull @31, ptr align 8 readonly nonnull %0, i64 3) %9 = icmp ne i16 %8, 0 br i1 %9, label %10, label %11 10: ret i16 %8 11: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3, ptr align 8 %0, i64 16, i1 false) %12 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_3300, i64 3), i64 1 }, 0 %13 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_3300, i64 3), i64 1 }, 1 %14 = call fastcc i16 @io.Writer.writeAll(ptr align 8 readonly nonnull %3, ptr align 1 readonly nonnull %12, i64 %13) %15 = icmp ne i16 %14, 0 br i1 %15, label %16, label %17 16: ret i16 %14 17: ret i16 0 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @io.Writer.print__anon_4020(ptr align 8 readonly nonnull %0) unnamed_addr #0 { 1: %2 = call fastcc i16 @fmt.format__anon_4054(ptr align 8 readonly nonnull %0) ret i16 %2 } ; Function Attrs: nounwind uwtable define internal fastcc void @"atomic.Value(u32).init"(ptr noalias sret(%"atomic.Value(u32)") nonnull %0, i32 %1) unnamed_addr #0 { 2: %3 = getelementptr inbounds %"atomic.Value(u32)", ptr %0, i32 0, i32 0 store i32 %1, ptr %3, align 4 ret void } ; Function Attrs: nounwind uwtable cold define internal fastcc void @Thread.Futex.wait(ptr align 4 readonly nonnull %0, i32 %1) unnamed_addr #7 { 2: %3 = call fastcc i16 @Thread.Futex.DarwinImpl.wait(ptr align 4 readonly nonnull %0, i32 %1, ptr align 8 readonly nonnull @32) %4 = icmp eq i16 %3, 0 br i1 %4, label %6, label %7 5: ret void 6: br label %5 7: switch i16 %3, label %8 [ i16 27, label %9 ] 8: unreachable 9: unreachable } ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.format__anon_4050(ptr align 8 readonly nonnull %0) unnamed_addr #0 { 1: %2 = alloca [16 x i8], align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2, ptr align 8 %0, i64 16, i1 false) %3 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_3318, i64 0), i64 35 }, 0 %4 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_3318, i64 0), i64 35 }, 1 %5 = call fastcc i16 @io.Writer.writeAll(ptr align 8 readonly nonnull %2, ptr align 1 readonly nonnull %3, i64 %4) %6 = icmp ne i16 %5, 0 br i1 %6, label %7, label %8 7: ret i16 %5 8: ret i16 0 } ; Function Attrs: nounwind uwtable declare i32 @pthread_threadid_np(ptr align 1 %0, ptr align 8 nonnull %1) #0 ; Function Attrs: nounwind uwtable declare void @os_unfair_lock_lock(ptr align 4 nonnull %0) #0 ; Function Attrs: nounwind uwtable define internal fastcc void @unicode.utf8Decode2(ptr noalias sret({ i21, i16, [2 x i8] }) nonnull %0, ptr align 1 readonly nonnull %1, i64 %2) unnamed_addr #0 { 3: %4 = alloca [4 x i8], align 4 %5 = insertvalue { ptr, i64 } poison, ptr %1, 0 %6 = insertvalue { ptr, i64 } %5, i64 %2, 1 %7 = extractvalue { ptr, i64 } %6, 1 %8 = icmp eq i64 %7, 2 call fastcc void @debug.assert(i1 %8) %9 = extractvalue { ptr, i64 } %6, 0 %10 = getelementptr inbounds i8, ptr %9, i64 0 %11 = load i8, ptr %10, align 1 %12 = and i8 %11, -32 %13 = icmp eq i8 %12, -64 call fastcc void @debug.assert(i1 %13) %14 = extractvalue { ptr, i64 } %6, 0 %15 = getelementptr inbounds i8, ptr %14, i64 0 %16 = load i8, ptr %15, align 1 %17 = and i8 %16, 31 %18 = zext i8 %17 to i21 store i21 %18, ptr %4, align 4 %19 = extractvalue { ptr, i64 } %6, 0 %20 = getelementptr inbounds i8, ptr %19, i64 1 %21 = load i8, ptr %20, align 1 %22 = and i8 %21, -64 %23 = icmp ne i8 %22, -128 br i1 %23, label %40, label %41 24: %25 = load i32, ptr %4, align 4 %26 = trunc i32 %25 to i21 %27 = zext i5 6 to i21 %28 = shl i21 %26, %27 store i21 %28, ptr %4, align 4 %29 = load i32, ptr %4, align 4 %30 = trunc i32 %29 to i21 %31 = extractvalue { ptr, i64 } %6, 0 %32 = getelementptr inbounds i8, ptr %31, i64 1 %33 = load i8, ptr %32, align 1 %34 = and i8 %33, 63 %35 = zext i8 %34 to i21 %36 = or i21 %30, %35 store i21 %36, ptr %4, align 4 %37 = load i32, ptr %4, align 4 %38 = trunc i32 %37 to i21 %39 = icmp ult i21 %38, 128 br i1 %39, label %47, label %48 40: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %0, ptr align 4 @33, i64 8, i1 false) ret void 41: br label %24 42: %43 = load i32, ptr %4, align 4 %44 = trunc i32 %43 to i21 %45 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %0, i32 0, i32 1 store i16 0, ptr %45, align 2 %46 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %0, i32 0, i32 0 store i21 %44, ptr %46, align 4 ret void 47: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %0, ptr align 4 @34, i64 8, i1 false) ret void 48: br label %42 } ; Function Attrs: nounwind uwtable define internal fastcc void @unicode.utf8Decode3(ptr noalias sret({ i21, i16, [2 x i8] }) nonnull %0, ptr align 1 readonly nonnull %1, i64 %2) unnamed_addr #0 { 3: %4 = alloca [8 x i8], align 4 %5 = insertvalue { ptr, i64 } poison, ptr %1, 0 %6 = insertvalue { ptr, i64 } %5, i64 %2, 1 %7 = extractvalue { ptr, i64 } %6, 0 %8 = extractvalue { ptr, i64 } %6, 1 call fastcc void @unicode.utf8Decode3AllowSurrogateHalf(ptr sret({ i21, i16, [2 x i8] }) %4, ptr align 1 readonly nonnull %7, i64 %8) %9 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %4, i32 0, i32 1 %10 = load i16, ptr %9 %11 = icmp ne i16 %10, 0 br i1 %11, label %12, label %17 12: %13 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %4, i32 0, i32 1 %14 = load i16, ptr %13 %15 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %0, i32 0, i32 1 store i16 %14, ptr %15, align 2 %16 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %0, i32 0, i32 0 ret void 17: %18 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %4, i32 0, i32 0 %19 = load i21, ptr %18, align 4 %20 = icmp ule i21 55296, %19 br i1 %20, label %26, label %28 21: %22 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %0, i32 0, i32 1 store i16 0, ptr %22, align 2 %23 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %0, i32 0, i32 0 store i21 %19, ptr %23, align 4 ret void 24: %25 = phi i1 [ %27, %26 ], [ false, %28 ] br i1 %25, label %29, label %30 26: %27 = icmp ule i21 %19, 57343 br label %24 28: br label %24 29: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %0, ptr align 4 @35, i64 8, i1 false) ret void 30: br label %21 } ; Function Attrs: nounwind uwtable define internal fastcc void @unicode.utf8Decode4(ptr noalias sret({ i21, i16, [2 x i8] }) nonnull %0, ptr align 1 readonly nonnull %1, i64 %2) unnamed_addr #0 { 3: %4 = alloca [4 x i8], align 4 %5 = insertvalue { ptr, i64 } poison, ptr %1, 0 %6 = insertvalue { ptr, i64 } %5, i64 %2, 1 %7 = extractvalue { ptr, i64 } %6, 1 %8 = icmp eq i64 %7, 4 call fastcc void @debug.assert(i1 %8) %9 = extractvalue { ptr, i64 } %6, 0 %10 = getelementptr inbounds i8, ptr %9, i64 0 %11 = load i8, ptr %10, align 1 %12 = and i8 %11, -8 %13 = icmp eq i8 %12, -16 call fastcc void @debug.assert(i1 %13) %14 = extractvalue { ptr, i64 } %6, 0 %15 = getelementptr inbounds i8, ptr %14, i64 0 %16 = load i8, ptr %15, align 1 %17 = and i8 %16, 7 %18 = zext i8 %17 to i21 store i21 %18, ptr %4, align 4 %19 = extractvalue { ptr, i64 } %6, 0 %20 = getelementptr inbounds i8, ptr %19, i64 1 %21 = load i8, ptr %20, align 1 %22 = and i8 %21, -64 %23 = icmp ne i8 %22, -128 br i1 %23, label %42, label %43 24: %25 = load i32, ptr %4, align 4 %26 = trunc i32 %25 to i21 %27 = zext i5 6 to i21 %28 = shl i21 %26, %27 store i21 %28, ptr %4, align 4 %29 = load i32, ptr %4, align 4 %30 = trunc i32 %29 to i21 %31 = extractvalue { ptr, i64 } %6, 0 %32 = getelementptr inbounds i8, ptr %31, i64 1 %33 = load i8, ptr %32, align 1 %34 = and i8 %33, 63 %35 = zext i8 %34 to i21 %36 = or i21 %30, %35 store i21 %36, ptr %4, align 4 %37 = extractvalue { ptr, i64 } %6, 0 %38 = getelementptr inbounds i8, ptr %37, i64 2 %39 = load i8, ptr %38, align 1 %40 = and i8 %39, -64 %41 = icmp ne i8 %40, -128 br i1 %41, label %62, label %63 42: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %0, ptr align 4 @36, i64 8, i1 false) ret void 43: br label %24 44: %45 = load i32, ptr %4, align 4 %46 = trunc i32 %45 to i21 %47 = zext i5 6 to i21 %48 = shl i21 %46, %47 store i21 %48, ptr %4, align 4 %49 = load i32, ptr %4, align 4 %50 = trunc i32 %49 to i21 %51 = extractvalue { ptr, i64 } %6, 0 %52 = getelementptr inbounds i8, ptr %51, i64 2 %53 = load i8, ptr %52, align 1 %54 = and i8 %53, 63 %55 = zext i8 %54 to i21 %56 = or i21 %50, %55 store i21 %56, ptr %4, align 4 %57 = extractvalue { ptr, i64 } %6, 0 %58 = getelementptr inbounds i8, ptr %57, i64 3 %59 = load i8, ptr %58, align 1 %60 = and i8 %59, -64 %61 = icmp ne i8 %60, -128 br i1 %61, label %80, label %81 62: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %0, ptr align 4 @36, i64 8, i1 false) ret void 63: br label %44 64: %65 = load i32, ptr %4, align 4 %66 = trunc i32 %65 to i21 %67 = zext i5 6 to i21 %68 = shl i21 %66, %67 store i21 %68, ptr %4, align 4 %69 = load i32, ptr %4, align 4 %70 = trunc i32 %69 to i21 %71 = extractvalue { ptr, i64 } %6, 0 %72 = getelementptr inbounds i8, ptr %71, i64 3 %73 = load i8, ptr %72, align 1 %74 = and i8 %73, 63 %75 = zext i8 %74 to i21 %76 = or i21 %70, %75 store i21 %76, ptr %4, align 4 %77 = load i32, ptr %4, align 4 %78 = trunc i32 %77 to i21 %79 = icmp ult i21 %78, 65536 br i1 %79, label %86, label %87 80: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %0, ptr align 4 @36, i64 8, i1 false) ret void 81: br label %64 82: %83 = load i32, ptr %4, align 4 %84 = trunc i32 %83 to i21 %85 = icmp ugt i21 %84, -983041 br i1 %85, label %93, label %94 86: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %0, ptr align 4 @37, i64 8, i1 false) ret void 87: br label %82 88: %89 = load i32, ptr %4, align 4 %90 = trunc i32 %89 to i21 %91 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %0, i32 0, i32 1 store i16 0, ptr %91, align 2 %92 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %0, i32 0, i32 0 store i21 %90, ptr %92, align 4 ret void 93: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %0, ptr align 4 @38, i64 8, i1 false) ret void 94: br label %88 } ; Function Attrs: nounwind uwtable define internal fastcc void @unicode.utf8CodepointSequenceLength(ptr noalias sret({ i16, i3, [1 x i8] }) nonnull %0, i21 %1) unnamed_addr #0 { 2: %3 = icmp ult i21 %1, 128 br i1 %3, label %6, label %7 4: %5 = icmp ult i21 %1, 2048 br i1 %5, label %10, label %11 6: call void @llvm.memcpy.p0.p0.i64(ptr align 2 %0, ptr align 2 @24, i64 4, i1 false) ret void 7: br label %4 8: %9 = icmp ult i21 %1, 65536 br i1 %9, label %14, label %15 10: call void @llvm.memcpy.p0.p0.i64(ptr align 2 %0, ptr align 2 @25, i64 4, i1 false) ret void 11: br label %8 12: %13 = icmp ult i21 %1, -983040 br i1 %13, label %17, label %18 14: call void @llvm.memcpy.p0.p0.i64(ptr align 2 %0, ptr align 2 @26, i64 4, i1 false) ret void 15: br label %12 16: call void @llvm.memcpy.p0.p0.i64(ptr align 2 %0, ptr align 2 @28, i64 4, i1 false) ret void 17: call void @llvm.memcpy.p0.p0.i64(ptr align 2 %0, ptr align 2 @27, i64 4, i1 false) ret void 18: br label %16 } ; Function Attrs: nounwind uwtable define internal fastcc void @unicode.utf8EncodeImpl__anon_4051(ptr noalias sret({ i16, i3, [1 x i8] }) nonnull %0, i21 %1, ptr align 1 nonnull %2, i64 %3) unnamed_addr #0 { 4: %5 = alloca [16 x i8], align 8 %6 = alloca [16 x i8], align 8 %7 = alloca [16 x i8], align 8 %8 = alloca [16 x i8], align 8 %9 = alloca [16 x i8], align 8 %10 = alloca [16 x i8], align 8 %11 = alloca [16 x i8], align 8 %12 = alloca [16 x i8], align 8 %13 = alloca [16 x i8], align 8 %14 = alloca [16 x i8], align 8 %15 = alloca [4 x i8], align 2 %16 = insertvalue { ptr, i64 } poison, ptr %2, 0 %17 = insertvalue { ptr, i64 } %16, i64 %3, 1 call fastcc void @unicode.utf8CodepointSequenceLength(ptr sret({ i16, i3, [1 x i8] }) %15, i21 %1) %18 = getelementptr inbounds { i16, i3, [1 x i8] }, ptr %15, i32 0, i32 0 %19 = load i16, ptr %18 %20 = icmp ne i16 %19, 0 br i1 %20, label %21, label %26 21: %22 = getelementptr inbounds { i16, i3, [1 x i8] }, ptr %15, i32 0, i32 0 %23 = load i16, ptr %22 %24 = getelementptr inbounds { i16, i3, [1 x i8] }, ptr %0, i32 0, i32 0 store i16 %23, ptr %24, align 2 %25 = getelementptr inbounds { i16, i3, [1 x i8] }, ptr %0, i32 0, i32 1 ret void 26: %27 = getelementptr inbounds { i16, i3, [1 x i8] }, ptr %15, i32 0, i32 1 %28 = load i3, ptr %27, align 1 %29 = extractvalue { ptr, i64 } %17, 1 %30 = zext i3 %28 to i64 %31 = icmp uge i64 %29, %30 call fastcc void @debug.assert(i1 %31) switch i3 %28, label %35 [ i3 1, label %36 i3 2, label %41 i3 3, label %55 i3 -4, label %81 ] 32: %33 = getelementptr inbounds { i16, i3, [1 x i8] }, ptr %0, i32 0, i32 0 store i16 0, ptr %33, align 2 %34 = getelementptr inbounds { i16, i3, [1 x i8] }, ptr %0, i32 0, i32 1 store i3 %28, ptr %34, align 1 ret void 35: unreachable 36: store { ptr, i64 } %17, ptr %14, align 8 %37 = load { ptr, i64 }, ptr %14, align 8 %38 = extractvalue { ptr, i64 } %37, 0 %39 = getelementptr inbounds i8, ptr %38, i64 0 %40 = trunc i21 %1 to i8 store i8 %40, ptr %39, align 1 br label %32 41: store { ptr, i64 } %17, ptr %13, align 8 %42 = load { ptr, i64 }, ptr %13, align 8 %43 = extractvalue { ptr, i64 } %42, 0 %44 = getelementptr inbounds i8, ptr %43, i64 0 %45 = zext i5 6 to i21 %46 = lshr i21 %1, %45 %47 = or i21 192, %46 %48 = trunc i21 %47 to i8 store i8 %48, ptr %44, align 1 store { ptr, i64 } %17, ptr %12, align 8 %49 = load { ptr, i64 }, ptr %12, align 8 %50 = extractvalue { ptr, i64 } %49, 0 %51 = getelementptr inbounds i8, ptr %50, i64 1 %52 = and i21 %1, 63 %53 = or i21 128, %52 %54 = trunc i21 %53 to i8 store i8 %54, ptr %51, align 1 br label %32 55: %56 = call fastcc i1 @unicode.isSurrogateCodepoint(i21 %1) br i1 %56, label %79, label %80 57: store { ptr, i64 } %17, ptr %11, align 8 %58 = load { ptr, i64 }, ptr %11, align 8 %59 = extractvalue { ptr, i64 } %58, 0 %60 = getelementptr inbounds i8, ptr %59, i64 0 %61 = zext i5 12 to i21 %62 = lshr i21 %1, %61 %63 = or i21 224, %62 %64 = trunc i21 %63 to i8 store i8 %64, ptr %60, align 1 store { ptr, i64 } %17, ptr %10, align 8 %65 = load { ptr, i64 }, ptr %10, align 8 %66 = extractvalue { ptr, i64 } %65, 0 %67 = getelementptr inbounds i8, ptr %66, i64 1 %68 = zext i5 6 to i21 %69 = lshr i21 %1, %68 %70 = and i21 %69, 63 %71 = or i21 128, %70 %72 = trunc i21 %71 to i8 store i8 %72, ptr %67, align 1 store { ptr, i64 } %17, ptr %9, align 8 %73 = load { ptr, i64 }, ptr %9, align 8 %74 = extractvalue { ptr, i64 } %73, 0 %75 = getelementptr inbounds i8, ptr %74, i64 2 %76 = and i21 %1, 63 %77 = or i21 128, %76 %78 = trunc i21 %77 to i8 store i8 %78, ptr %75, align 1 br label %32 79: call void @llvm.memcpy.p0.p0.i64(ptr align 2 %0, ptr align 2 @29, i64 4, i1 false) ret void 80: br label %57 81: store { ptr, i64 } %17, ptr %8, align 8 %82 = load { ptr, i64 }, ptr %8, align 8 %83 = extractvalue { ptr, i64 } %82, 0 %84 = getelementptr inbounds i8, ptr %83, i64 0 %85 = zext i5 -14 to i21 %86 = lshr i21 %1, %85 %87 = or i21 240, %86 %88 = trunc i21 %87 to i8 store i8 %88, ptr %84, align 1 store { ptr, i64 } %17, ptr %7, align 8 %89 = load { ptr, i64 }, ptr %7, align 8 %90 = extractvalue { ptr, i64 } %89, 0 %91 = getelementptr inbounds i8, ptr %90, i64 1 %92 = zext i5 12 to i21 %93 = lshr i21 %1, %92 %94 = and i21 %93, 63 %95 = or i21 128, %94 %96 = trunc i21 %95 to i8 store i8 %96, ptr %91, align 1 store { ptr, i64 } %17, ptr %6, align 8 %97 = load { ptr, i64 }, ptr %6, align 8 %98 = extractvalue { ptr, i64 } %97, 0 %99 = getelementptr inbounds i8, ptr %98, i64 2 %100 = zext i5 6 to i21 %101 = lshr i21 %1, %100 %102 = and i21 %101, 63 %103 = or i21 128, %102 %104 = trunc i21 %103 to i8 store i8 %104, ptr %99, align 1 store { ptr, i64 } %17, ptr %5, align 8 %105 = load { ptr, i64 }, ptr %5, align 8 %106 = extractvalue { ptr, i64 } %105, 0 %107 = getelementptr inbounds i8, ptr %106, i64 3 %108 = and i21 %1, 63 %109 = or i21 128, %108 %110 = trunc i21 %109 to i8 store i8 %110, ptr %107, align 1 br label %32 } ; Function Attrs: nounwind uwtable define internal fastcc i1 @unicode.isSurrogateCodepoint(i21 %0) unnamed_addr #0 { 1: switch i21 %0, label %4 [ ] 2: %3 = phi i1 [ true, %8 ], [ false, %9 ] ret i1 %3 4: %5 = icmp uge i21 %0, 55296 %6 = icmp ule i21 %0, 57343 %7 = and i1 %5, %6 br i1 %7, label %8, label %9 8: br label %2 9: br label %2 } ; Function Attrs: nounwind uwtable declare void @os_unfair_lock_unlock(ptr align 4 nonnull %0) #0 ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.formatType__anon_4052(i64 %0, ptr align 8 readonly nonnull %1, ptr align 8 readonly nonnull %2, i64 %3) unnamed_addr #0 { 4: %5 = call fastcc i16 @fmt.formatValue__anon_4058(i64 %0, ptr align 8 readonly nonnull %1, ptr align 8 readonly nonnull %2) ret i16 %5 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.formatType__anon_4053(ptr align 1 readonly nonnull %0, i64 %1, ptr align 8 readonly nonnull %2, ptr align 8 readonly nonnull %3, i64 %4) unnamed_addr #0 { 5: %6 = alloca [16 x i8], align 8 %7 = insertvalue { ptr, i64 } poison, ptr %0, 0 %8 = insertvalue { ptr, i64 } %7, i64 %1, 1 %9 = icmp eq i64 %4, 0 br i1 %9, label %14, label %18 10: %11 = extractvalue { ptr, i64 } %8, 0 %12 = extractvalue { ptr, i64 } %8, 1 %13 = call fastcc i16 @fmt.formatBuf__anon_3980(ptr align 1 readonly nonnull %11, i64 %12, ptr align 8 readonly nonnull %2, ptr align 8 readonly nonnull %3) ret i16 %13 14: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %3, i64 16, i1 false) %15 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_3237, i64 0), i64 7 }, 0 %16 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_3237, i64 0), i64 7 }, 1 %17 = call fastcc i16 @io.Writer.writeAll(ptr align 8 readonly nonnull %6, ptr align 1 readonly nonnull %15, i64 %16) ret i16 %17 18: br label %10 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.format__anon_4054(ptr align 8 readonly nonnull %0) unnamed_addr #0 { 1: %2 = alloca [16 x i8], align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2, ptr align 8 %0, i64 16, i1 false) %3 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_3692, i64 0), i64 48 }, 0 %4 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_3692, i64 0), i64 48 }, 1 %5 = call fastcc i16 @io.Writer.writeAll(ptr align 8 readonly nonnull %2, ptr align 1 readonly nonnull %3, i64 %4) %6 = icmp ne i16 %5, 0 br i1 %6, label %7, label %8 7: ret i16 %5 8: ret i16 0 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @Thread.Futex.DarwinImpl.wait(ptr align 4 readonly nonnull %0, i32 %1, ptr align 8 readonly nonnull %2) unnamed_addr #0 { 3: %4 = alloca [1 x i8], align 1 %5 = alloca [8 x i8], align 8 store i64 0, ptr %5, align 8 %6 = getelementptr inbounds { i64, i8, [7 x i8] }, ptr %2, i32 0, i32 1 %7 = load i8, ptr %6 %8 = icmp ne i8 %7, 0 br i1 %8, label %14, label %18 9: store i1 false, ptr %4, align 1 %10 = zext i32 %1 to i64 %11 = load i64, ptr %5, align 8 %12 = call i32 @__ulock_wait2(i32 16777217, ptr align 1 readonly %0, i64 %10, i64 %11, i64 0) %13 = icmp sge i32 %12, 0 br i1 %13, label %22, label %23 14: %15 = getelementptr inbounds { i64, i8, [7 x i8] }, ptr %2, i32 0, i32 0 %16 = load i64, ptr %15, align 8 %17 = icmp ne i64 %16, 0 call fastcc void @debug.assert(i1 %17) store i64 %16, ptr %5, align 8 br label %9 18: br label %9 19: %20 = sub nsw i32 0, %12 %21 = trunc i32 %20 to i16 switch i16 %21, label %25 [ i16 4, label %26 i16 14, label %27 i16 60, label %28 ] 22: ret i16 0 23: br label %19 24: ret i16 0 25: unreachable 26: br label %24 27: br label %24 28: %29 = getelementptr inbounds { i64, i8, [7 x i8] }, ptr %2, i32 0, i32 1 %30 = load i8, ptr %29 %31 = icmp ne i8 %30, 0 call fastcc void @debug.assert(i1 %31) %32 = load i1, ptr %4, align 1 %33 = xor i1 %32, true br i1 %33, label %35, label %36 34: br label %24 35: ret i16 27 36: br label %34 } ; Function Attrs: nounwind uwtable define internal fastcc void @unicode.utf8Decode3AllowSurrogateHalf(ptr noalias sret({ i21, i16, [2 x i8] }) nonnull %0, ptr align 1 readonly nonnull %1, i64 %2) unnamed_addr #0 { 3: %4 = alloca [4 x i8], align 4 %5 = insertvalue { ptr, i64 } poison, ptr %1, 0 %6 = insertvalue { ptr, i64 } %5, i64 %2, 1 %7 = extractvalue { ptr, i64 } %6, 1 %8 = icmp eq i64 %7, 3 call fastcc void @debug.assert(i1 %8) %9 = extractvalue { ptr, i64 } %6, 0 %10 = getelementptr inbounds i8, ptr %9, i64 0 %11 = load i8, ptr %10, align 1 %12 = and i8 %11, -16 %13 = icmp eq i8 %12, -32 call fastcc void @debug.assert(i1 %13) %14 = extractvalue { ptr, i64 } %6, 0 %15 = getelementptr inbounds i8, ptr %14, i64 0 %16 = load i8, ptr %15, align 1 %17 = and i8 %16, 15 %18 = zext i8 %17 to i21 store i21 %18, ptr %4, align 4 %19 = extractvalue { ptr, i64 } %6, 0 %20 = getelementptr inbounds i8, ptr %19, i64 1 %21 = load i8, ptr %20, align 1 %22 = and i8 %21, -64 %23 = icmp ne i8 %22, -128 br i1 %23, label %42, label %43 24: %25 = load i32, ptr %4, align 4 %26 = trunc i32 %25 to i21 %27 = zext i5 6 to i21 %28 = shl i21 %26, %27 store i21 %28, ptr %4, align 4 %29 = load i32, ptr %4, align 4 %30 = trunc i32 %29 to i21 %31 = extractvalue { ptr, i64 } %6, 0 %32 = getelementptr inbounds i8, ptr %31, i64 1 %33 = load i8, ptr %32, align 1 %34 = and i8 %33, 63 %35 = zext i8 %34 to i21 %36 = or i21 %30, %35 store i21 %36, ptr %4, align 4 %37 = extractvalue { ptr, i64 } %6, 0 %38 = getelementptr inbounds i8, ptr %37, i64 2 %39 = load i8, ptr %38, align 1 %40 = and i8 %39, -64 %41 = icmp ne i8 %40, -128 br i1 %41, label %60, label %61 42: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %0, ptr align 4 @39, i64 8, i1 false) ret void 43: br label %24 44: %45 = load i32, ptr %4, align 4 %46 = trunc i32 %45 to i21 %47 = zext i5 6 to i21 %48 = shl i21 %46, %47 store i21 %48, ptr %4, align 4 %49 = load i32, ptr %4, align 4 %50 = trunc i32 %49 to i21 %51 = extractvalue { ptr, i64 } %6, 0 %52 = getelementptr inbounds i8, ptr %51, i64 2 %53 = load i8, ptr %52, align 1 %54 = and i8 %53, 63 %55 = zext i8 %54 to i21 %56 = or i21 %50, %55 store i21 %56, ptr %4, align 4 %57 = load i32, ptr %4, align 4 %58 = trunc i32 %57 to i21 %59 = icmp ult i21 %58, 2048 br i1 %59, label %67, label %68 60: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %0, ptr align 4 @39, i64 8, i1 false) ret void 61: br label %44 62: %63 = load i32, ptr %4, align 4 %64 = trunc i32 %63 to i21 %65 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %0, i32 0, i32 1 store i16 0, ptr %65, align 2 %66 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %0, i32 0, i32 0 store i21 %64, ptr %66, align 4 ret void 67: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %0, ptr align 4 @40, i64 8, i1 false) ret void 68: br label %62 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.formatValue__anon_4058(i64 %0, ptr align 8 readonly nonnull %1, ptr align 8 readonly nonnull %2) unnamed_addr #0 { 3: %4 = call fastcc i16 @fmt.formatIntValue__anon_4059(i64 %0, ptr align 8 readonly nonnull %1, ptr align 8 readonly nonnull %2) ret i16 %4 } ; Function Attrs: nounwind uwtable declare i32 @__ulock_wait2(i32 %0, ptr align 1 readonly %1, i64 %2, i64 %3, i64 %4) #0 ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.formatInt__anon_4060(i64 %0, i8 %1, i1 %2, ptr align 8 readonly nonnull %3, ptr align 8 readonly nonnull %4) unnamed_addr #0 { 5: %6 = alloca [16 x i8], align 8 %7 = alloca [2 x i8], align 1 %8 = alloca [2 x i8], align 1 %9 = alloca [8 x i8], align 8 %10 = alloca [8 x i8], align 8 %11 = alloca [65 x i8], align 1 %12 = icmp uge i8 %1, 2 call fastcc void @debug.assert(i1 %12) call void @llvm.memset.p0.i64(ptr align 1 %11, i8 undef, i64 65, i1 false) store i64 %0, ptr %10, align 8 store i64 65, ptr %9, align 8 %13 = icmp eq i8 %1, 10 br i1 %13, label %24, label %25 14: %15 = load i64, ptr %9, align 8 %16 = getelementptr inbounds i8, ptr %11, i64 %15 %17 = sub nuw i64 65, %15 %18 = insertvalue { ptr, i64 } poison, ptr %16, 0 %19 = insertvalue { ptr, i64 } %18, i64 %17, 1 store { ptr, i64 } %19, ptr %6, align 8 %20 = load { ptr, i64 }, ptr %6, align 8 %21 = extractvalue { ptr, i64 } %20, 0 %22 = extractvalue { ptr, i64 } %20, 1 %23 = call fastcc i16 @fmt.formatBuf__anon_3980(ptr align 1 readonly nonnull %21, i64 %22, ptr align 8 readonly nonnull %3, ptr align 8 readonly nonnull %4) ret i16 %23 24: br label %29 25: br label %59 26: %27 = load i64, ptr %10, align 8 %28 = icmp ult i64 %27, 10 br i1 %28, label %44, label %52 29: %30 = load i64, ptr %10, align 8 %31 = icmp uge i64 %30, 100 br i1 %31, label %33, label %42 32: br label %29 33: %34 = load i64, ptr %9, align 8 %35 = sub nuw i64 %34, 2 store i64 %35, ptr %9, align 8 %36 = load i64, ptr %9, align 8 %37 = getelementptr inbounds i8, ptr %11, i64 %36 %38 = load i64, ptr %10, align 8 %39 = urem i64 %38, 100 call fastcc void @fmt.digits2(ptr sret([2 x i8]) %8, i64 %39) call void @llvm.memcpy.p0.p0.i64(ptr align 1 %37, ptr align 1 %8, i64 2, i1 false) %40 = load i64, ptr %10, align 8 %41 = udiv i64 %40, 100 store i64 %41, ptr %10, align 8 br label %32 42: br label %26 43: br label %14 44: %45 = load i64, ptr %9, align 8 %46 = sub nuw i64 %45, 1 store i64 %46, ptr %9, align 8 %47 = load i64, ptr %9, align 8 %48 = getelementptr inbounds [65 x i8], ptr %11, i64 0, i64 %47 %49 = load i64, ptr %10, align 8 %50 = trunc i64 %49 to i8 %51 = add nuw i8 48, %50 store i8 %51, ptr %48, align 1 br label %43 52: %53 = load i64, ptr %9, align 8 %54 = sub nuw i64 %53, 2 store i64 %54, ptr %9, align 8 %55 = load i64, ptr %9, align 8 %56 = getelementptr inbounds i8, ptr %11, i64 %55 %57 = load i64, ptr %10, align 8 call fastcc void @fmt.digits2(ptr sret([2 x i8]) %7, i64 %57) call void @llvm.memcpy.p0.p0.i64(ptr align 1 %56, ptr align 1 %7, i64 2, i1 false) br label %43 58: br label %14 59: %60 = load i64, ptr %10, align 8 %61 = zext i8 %1 to i64 %62 = urem i64 %60, %61 %63 = load i64, ptr %9, align 8 %64 = sub nuw i64 %63, 1 store i64 %64, ptr %9, align 8 %65 = load i64, ptr %9, align 8 %66 = getelementptr inbounds [65 x i8], ptr %11, i64 0, i64 %65 %67 = trunc i64 %62 to i8 %68 = call fastcc i8 @fmt.digitToChar(i8 %67, i1 %2) store i8 %68, ptr %66, align 1 %69 = load i64, ptr %10, align 8 %70 = zext i8 %1 to i64 %71 = udiv i64 %69, %70 store i64 %71, ptr %10, align 8 %72 = load i64, ptr %10, align 8 %73 = icmp eq i64 %72, 0 br i1 %73, label %75, label %76 74: br label %59 75: br label %58 76: br label %74 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.formatIntValue__anon_4059(i64 %0, ptr align 8 readonly nonnull %1, ptr align 8 readonly nonnull %2) unnamed_addr #0 { 3: %4 = call fastcc i16 @fmt.formatInt__anon_4060(i64 %0, i8 10, i1 false, ptr align 8 readonly nonnull %1, ptr align 8 readonly nonnull %2) ret i16 %4 } attributes #0 = { nounwind uwtable "frame-pointer"="none" "target-cpu"="skylake" "target-features"="-16bit-mode,-32bit-mode,-3dnow,-3dnowa,+64bit,+adx,+aes,+allow-light-256-bit,-amx-bf16,-amx-complex,-amx-fp16,-amx-int8,-amx-tile,+avx,-avx10.1-256,-avx10.1-512,+avx2,-avx512bf16,-avx512bitalg,-avx512bw,-avx512cd,-avx512dq,-avx512er,-avx512f,-avx512fp16,-avx512ifma,-avx512pf,-avx512vbmi,-avx512vbmi2,-avx512vl,-avx512vnni,-avx512vp2intersect,-avx512vpopcntdq,-avxifma,-avxneconvert,-avxvnni,-avxvnniint16,-avxvnniint8,+bmi,+bmi2,-branchfusion,-ccmp,-cf,-cldemote,+clflushopt,-clwb,-clzero,+cmov,-cmpccxadd,+crc32,+cx16,+cx8,-egpr,-enqcmd,+ermsb,-evex512,+f16c,-false-deps-getmant,-false-deps-lzcnt-tzcnt,-false-deps-mulc,-false-deps-mullq,-false-deps-perm,+false-deps-popcnt,-false-deps-range,-fast-11bytenop,+fast-15bytenop,-fast-7bytenop,-fast-bextr,+fast-gather,-fast-hops,-fast-lzcnt,-fast-movbe,+fast-scalar-fsqrt,-fast-scalar-shift-masks,+fast-shld-rotate,+fast-variable-crosslane-shuffle,+fast-variable-perlane-shuffle,+fast-vector-fsqrt,-fast-vector-shift-masks,-faster-shift-than-shuffle,+fma,-fma4,+fsgsbase,-fsrm,+fxsr,-gfni,-harden-sls-ijmp,-harden-sls-ret,-hreset,-idivl-to-divb,+idivq-to-divl,+invpcid,-kl,-lea-sp,-lea-uses-ag,-lvi-cfi,-lvi-load-hardening,-lwp,+lzcnt,+macrofusion,+mmx,+movbe,-movdir64b,-movdiri,-mwaitx,-ndd,-no-bypass-delay,+no-bypass-delay-blend,+no-bypass-delay-mov,+no-bypass-delay-shuffle,+nopl,-pad-short-functions,+pclmul,-pconfig,-pku,+popcnt,-ppx,-prefer-128-bit,-prefer-256-bit,-prefer-mask-registers,-prefer-movmsk-over-vtest,-prefer-no-gather,-prefer-no-scatter,-prefetchi,-prefetchwt1,+prfchw,-ptwrite,-push2pop2,-raoint,-rdpid,-rdpru,+rdrnd,+rdseed,-retpoline,-retpoline-external-thunk,-retpoline-indirect-branches,-retpoline-indirect-calls,-rtm,+sahf,-sbb-dep-breaking,-serialize,-seses,+sgx,-sha,-sha512,-shstk,+slow-3ops-lea,-slow-incdec,-slow-lea,-slow-pmaddwd,-slow-pmulld,-slow-shld,-slow-two-mem-ops,-slow-unaligned-mem-16,-slow-unaligned-mem-32,-sm3,-sm4,-soft-float,+sse,+sse2,+sse3,+sse4.1,+sse4.2,-sse4a,-sse-unaligned-mem,+ssse3,-tagged-globals,-tbm,-tsxldtrk,-tuning-fast-imm-vector-shift,-uintr,-use-glm-div-sqrt-costs,-use-slm-arith-costs,-usermsr,-vaes,-vpclmulqdq,+vzeroupper,-waitpkg,-wbnoinvd,-widekl,+x87,-xop,+xsave,+xsavec,+xsaveopt,+xsaves" } attributes #1 = { noreturn nounwind uwtable cold "frame-pointer"="none" "target-cpu"="skylake" "target-features"="-16bit-mode,-32bit-mode,-3dnow,-3dnowa,+64bit,+adx,+aes,+allow-light-256-bit,-amx-bf16,-amx-complex,-amx-fp16,-amx-int8,-amx-tile,+avx,-avx10.1-256,-avx10.1-512,+avx2,-avx512bf16,-avx512bitalg,-avx512bw,-avx512cd,-avx512dq,-avx512er,-avx512f,-avx512fp16,-avx512ifma,-avx512pf,-avx512vbmi,-avx512vbmi2,-avx512vl,-avx512vnni,-avx512vp2intersect,-avx512vpopcntdq,-avxifma,-avxneconvert,-avxvnni,-avxvnniint16,-avxvnniint8,+bmi,+bmi2,-branchfusion,-ccmp,-cf,-cldemote,+clflushopt,-clwb,-clzero,+cmov,-cmpccxadd,+crc32,+cx16,+cx8,-egpr,-enqcmd,+ermsb,-evex512,+f16c,-false-deps-getmant,-false-deps-lzcnt-tzcnt,-false-deps-mulc,-false-deps-mullq,-false-deps-perm,+false-deps-popcnt,-false-deps-range,-fast-11bytenop,+fast-15bytenop,-fast-7bytenop,-fast-bextr,+fast-gather,-fast-hops,-fast-lzcnt,-fast-movbe,+fast-scalar-fsqrt,-fast-scalar-shift-masks,+fast-shld-rotate,+fast-variable-crosslane-shuffle,+fast-variable-perlane-shuffle,+fast-vector-fsqrt,-fast-vector-shift-masks,-faster-shift-than-shuffle,+fma,-fma4,+fsgsbase,-fsrm,+fxsr,-gfni,-harden-sls-ijmp,-harden-sls-ret,-hreset,-idivl-to-divb,+idivq-to-divl,+invpcid,-kl,-lea-sp,-lea-uses-ag,-lvi-cfi,-lvi-load-hardening,-lwp,+lzcnt,+macrofusion,+mmx,+movbe,-movdir64b,-movdiri,-mwaitx,-ndd,-no-bypass-delay,+no-bypass-delay-blend,+no-bypass-delay-mov,+no-bypass-delay-shuffle,+nopl,-pad-short-functions,+pclmul,-pconfig,-pku,+popcnt,-ppx,-prefer-128-bit,-prefer-256-bit,-prefer-mask-registers,-prefer-movmsk-over-vtest,-prefer-no-gather,-prefer-no-scatter,-prefetchi,-prefetchwt1,+prfchw,-ptwrite,-push2pop2,-raoint,-rdpid,-rdpru,+rdrnd,+rdseed,-retpoline,-retpoline-external-thunk,-retpoline-indirect-branches,-retpoline-indirect-calls,-rtm,+sahf,-sbb-dep-breaking,-serialize,-seses,+sgx,-sha,-sha512,-shstk,+slow-3ops-lea,-slow-incdec,-slow-lea,-slow-pmaddwd,-slow-pmulld,-slow-shld,-slow-two-mem-ops,-slow-unaligned-mem-16,-slow-unaligned-mem-32,-sm3,-sm4,-soft-float,+sse,+sse2,+sse3,+sse4.1,+sse4.2,-sse4a,-sse-unaligned-mem,+ssse3,-tagged-globals,-tbm,-tsxldtrk,-tuning-fast-imm-vector-shift,-uintr,-use-glm-div-sqrt-costs,-use-slm-arith-costs,-usermsr,-vaes,-vpclmulqdq,+vzeroupper,-waitpkg,-wbnoinvd,-widekl,+x87,-xop,+xsave,+xsavec,+xsaveopt,+xsaves" } attributes #2 = { nounwind willreturn nofree nocallback memory(argmem: readwrite) } attributes #3 = { nounwind willreturn nofree nosync nocallback memory(none) } attributes #4 = { nounwind willreturn nofree nocallback memory(argmem: write) } attributes #5 = { nounwind speculatable willreturn nofree nosync nocallback memory(none) } attributes #6 = { noreturn nounwind uwtable "frame-pointer"="none" "target-cpu"="skylake" "target-features"="-16bit-mode,-32bit-mode,-3dnow,-3dnowa,+64bit,+adx,+aes,+allow-light-256-bit,-amx-bf16,-amx-complex,-amx-fp16,-amx-int8,-amx-tile,+avx,-avx10.1-256,-avx10.1-512,+avx2,-avx512bf16,-avx512bitalg,-avx512bw,-avx512cd,-avx512dq,-avx512er,-avx512f,-avx512fp16,-avx512ifma,-avx512pf,-avx512vbmi,-avx512vbmi2,-avx512vl,-avx512vnni,-avx512vp2intersect,-avx512vpopcntdq,-avxifma,-avxneconvert,-avxvnni,-avxvnniint16,-avxvnniint8,+bmi,+bmi2,-branchfusion,-ccmp,-cf,-cldemote,+clflushopt,-clwb,-clzero,+cmov,-cmpccxadd,+crc32,+cx16,+cx8,-egpr,-enqcmd,+ermsb,-evex512,+f16c,-false-deps-getmant,-false-deps-lzcnt-tzcnt,-false-deps-mulc,-false-deps-mullq,-false-deps-perm,+false-deps-popcnt,-false-deps-range,-fast-11bytenop,+fast-15bytenop,-fast-7bytenop,-fast-bextr,+fast-gather,-fast-hops,-fast-lzcnt,-fast-movbe,+fast-scalar-fsqrt,-fast-scalar-shift-masks,+fast-shld-rotate,+fast-variable-crosslane-shuffle,+fast-variable-perlane-shuffle,+fast-vector-fsqrt,-fast-vector-shift-masks,-faster-shift-than-shuffle,+fma,-fma4,+fsgsbase,-fsrm,+fxsr,-gfni,-harden-sls-ijmp,-harden-sls-ret,-hreset,-idivl-to-divb,+idivq-to-divl,+invpcid,-kl,-lea-sp,-lea-uses-ag,-lvi-cfi,-lvi-load-hardening,-lwp,+lzcnt,+macrofusion,+mmx,+movbe,-movdir64b,-movdiri,-mwaitx,-ndd,-no-bypass-delay,+no-bypass-delay-blend,+no-bypass-delay-mov,+no-bypass-delay-shuffle,+nopl,-pad-short-functions,+pclmul,-pconfig,-pku,+popcnt,-ppx,-prefer-128-bit,-prefer-256-bit,-prefer-mask-registers,-prefer-movmsk-over-vtest,-prefer-no-gather,-prefer-no-scatter,-prefetchi,-prefetchwt1,+prfchw,-ptwrite,-push2pop2,-raoint,-rdpid,-rdpru,+rdrnd,+rdseed,-retpoline,-retpoline-external-thunk,-retpoline-indirect-branches,-retpoline-indirect-calls,-rtm,+sahf,-sbb-dep-breaking,-serialize,-seses,+sgx,-sha,-sha512,-shstk,+slow-3ops-lea,-slow-incdec,-slow-lea,-slow-pmaddwd,-slow-pmulld,-slow-shld,-slow-two-mem-ops,-slow-unaligned-mem-16,-slow-unaligned-mem-32,-sm3,-sm4,-soft-float,+sse,+sse2,+sse3,+sse4.1,+sse4.2,-sse4a,-sse-unaligned-mem,+ssse3,-tagged-globals,-tbm,-tsxldtrk,-tuning-fast-imm-vector-shift,-uintr,-use-glm-div-sqrt-costs,-use-slm-arith-costs,-usermsr,-vaes,-vpclmulqdq,+vzeroupper,-waitpkg,-wbnoinvd,-widekl,+x87,-xop,+xsave,+xsavec,+xsaveopt,+xsaves" } attributes #7 = { nounwind uwtable cold "frame-pointer"="none" "target-cpu"="skylake" "target-features"="-16bit-mode,-32bit-mode,-3dnow,-3dnowa,+64bit,+adx,+aes,+allow-light-256-bit,-amx-bf16,-amx-complex,-amx-fp16,-amx-int8,-amx-tile,+avx,-avx10.1-256,-avx10.1-512,+avx2,-avx512bf16,-avx512bitalg,-avx512bw,-avx512cd,-avx512dq,-avx512er,-avx512f,-avx512fp16,-avx512ifma,-avx512pf,-avx512vbmi,-avx512vbmi2,-avx512vl,-avx512vnni,-avx512vp2intersect,-avx512vpopcntdq,-avxifma,-avxneconvert,-avxvnni,-avxvnniint16,-avxvnniint8,+bmi,+bmi2,-branchfusion,-ccmp,-cf,-cldemote,+clflushopt,-clwb,-clzero,+cmov,-cmpccxadd,+crc32,+cx16,+cx8,-egpr,-enqcmd,+ermsb,-evex512,+f16c,-false-deps-getmant,-false-deps-lzcnt-tzcnt,-false-deps-mulc,-false-deps-mullq,-false-deps-perm,+false-deps-popcnt,-false-deps-range,-fast-11bytenop,+fast-15bytenop,-fast-7bytenop,-fast-bextr,+fast-gather,-fast-hops,-fast-lzcnt,-fast-movbe,+fast-scalar-fsqrt,-fast-scalar-shift-masks,+fast-shld-rotate,+fast-variable-crosslane-shuffle,+fast-variable-perlane-shuffle,+fast-vector-fsqrt,-fast-vector-shift-masks,-faster-shift-than-shuffle,+fma,-fma4,+fsgsbase,-fsrm,+fxsr,-gfni,-harden-sls-ijmp,-harden-sls-ret,-hreset,-idivl-to-divb,+idivq-to-divl,+invpcid,-kl,-lea-sp,-lea-uses-ag,-lvi-cfi,-lvi-load-hardening,-lwp,+lzcnt,+macrofusion,+mmx,+movbe,-movdir64b,-movdiri,-mwaitx,-ndd,-no-bypass-delay,+no-bypass-delay-blend,+no-bypass-delay-mov,+no-bypass-delay-shuffle,+nopl,-pad-short-functions,+pclmul,-pconfig,-pku,+popcnt,-ppx,-prefer-128-bit,-prefer-256-bit,-prefer-mask-registers,-prefer-movmsk-over-vtest,-prefer-no-gather,-prefer-no-scatter,-prefetchi,-prefetchwt1,+prfchw,-ptwrite,-push2pop2,-raoint,-rdpid,-rdpru,+rdrnd,+rdseed,-retpoline,-retpoline-external-thunk,-retpoline-indirect-branches,-retpoline-indirect-calls,-rtm,+sahf,-sbb-dep-breaking,-serialize,-seses,+sgx,-sha,-sha512,-shstk,+slow-3ops-lea,-slow-incdec,-slow-lea,-slow-pmaddwd,-slow-pmulld,-slow-shld,-slow-two-mem-ops,-slow-unaligned-mem-16,-slow-unaligned-mem-32,-sm3,-sm4,-soft-float,+sse,+sse2,+sse3,+sse4.1,+sse4.2,-sse4a,-sse-unaligned-mem,+ssse3,-tagged-globals,-tbm,-tsxldtrk,-tuning-fast-imm-vector-shift,-uintr,-use-glm-div-sqrt-costs,-use-slm-arith-costs,-usermsr,-vaes,-vpclmulqdq,+vzeroupper,-waitpkg,-wbnoinvd,-widekl,+x87,-xop,+xsave,+xsavec,+xsaveopt,+xsaves" }
수정본
파일 열기
; ModuleID = 'biggy' source_filename = "biggy" target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-macosx14.5.0-unknown" %Target.Cpu.Feature.Set = type { [5 x i64] } %Target.Cpu.Model = type { { ptr, i64 }, { ptr, i64 }, %Target.Cpu.Feature.Set } %Target.Cpu = type { ptr, %Target.Cpu.Feature.Set, i6, [7 x i8] } %SemanticVersion = type { i64, i64, i64, { ptr, i64 }, { ptr, i64 } } %SemanticVersion.Range = type { %SemanticVersion, %SemanticVersion } %Target.Os.LinuxVersionRange = type { %SemanticVersion.Range, %SemanticVersion } %Target.Os.VersionRange = type { %Target.Os.LinuxVersionRange } %Target.Os = type { %Target.Os.VersionRange, i6, [7 x i8] } %c.darwin.Sigaction.Sigaction__union_2578 = type { ptr } %c.darwin.Sigaction = type { %c.darwin.Sigaction.Sigaction__union_2578, i32, i32 } %fs.File = type { i32 } %"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))" = type { %fs.File } %io.Writer = type { ptr, ptr } %std.Options = type { i64, i1, i2, i1, i1, i1, i1, i2, [1 x i8] } %Target.DynamicLinker = type { [255 x i8], i8 } %Target = type { %Target.Cpu, %Target.Os, i6, i4, %Target.DynamicLinker, [6 x i8] } %macho.mach_header_64 = type { i32, i32, i32, i32, i32, i32, i32, i32 } %c.darwin.os_unfair_lock = type { i32 } %Thread.Mutex.DarwinImpl = type { %c.darwin.os_unfair_lock } %Thread.Mutex = type { %Thread.Mutex.DarwinImpl } %Thread.Mutex.Recursive = type { i64, i64, %Thread.Mutex, [4 x i8] } %fmt.FormatOptions = type { { i64, i8, [7 x i8] }, { i64, i8, [7 x i8] }, i21, i2, [3 x i8] } %"io.fixed_buffer_stream.FixedBufferStream([]u8)" = type { { ptr, i64 }, i64 } %"io.GenericWriter(*io.fixed_buffer_stream.FixedBufferStream([]u8),error{NoSpaceLeft},(function 'write'))" = type { ptr } %Thread.PosixThreadImpl = type { ptr } %Thread = type { %Thread.PosixThreadImpl } %"atomic.Value(u32)" = type { i32 } %Thread.ResetEvent.FutexImpl = type { %"atomic.Value(u32)" } %Thread.ResetEvent = type { %Thread.ResetEvent.FutexImpl } %Progress = type { { %Thread, i8, [7 x i8] }, i64, i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, %fs.File, %Thread.ResetEvent, i32, i16, i16, i2, i1, i1, i8, [4 x i8] } %"atomic.Value(u8)" = type { i8 } %builtin.StackTrace = type { i64, { ptr, i64 } } %Progress.Node.Storage = type { i32, i32, [40 x i8] } @builtin.zig_backend = internal unnamed_addr constant i64 2, align 8 @Target.Cpu.Feature.Set.empty = internal unnamed_addr constant %Target.Cpu.Feature.Set zeroinitializer, align 8 @Target.x86.cpu.skylake = internal unnamed_addr constant %Target.Cpu.Model { { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_280, i64 0), i64 7 }, { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_280, i64 0), i64 7 }, %Target.Cpu.Feature.Set { [5 x i64] [i64 4703606015143248112, i64 2308508483300179218, i64 256986653737092120, i64 0, i64 0] } }, align 8 @__anon_280 = internal unnamed_addr constant [8 x i8] c"skylake\00", align 1 @builtin.cpu = internal unnamed_addr constant %Target.Cpu { ptr getelementptr inbounds (i8, ptr @Target.x86.cpu.skylake, i64 0), %Target.Cpu.Feature.Set { [5 x i64] [i64 4705857814956941552, i64 2308508483300179218, i64 275001222971540504, i64 0, i64 0] }, i6 -27, [7 x i8] undef }, align 8 @start.simplified_logic = internal unnamed_addr constant i1 false, align 1 @builtin.output_mode = internal unnamed_addr constant i2 0, align 1 @builtin.link_libc = internal unnamed_addr constant i1 true, align 1 @start.native_arch = internal unnamed_addr constant i6 -27, align 1 @os.argv = internal unnamed_addr global { ptr, i64 } undef, align 8 @os.environ = internal unnamed_addr global { ptr, i64 } undef, align 8 @builtin.os = internal unnamed_addr constant { { <{ %SemanticVersion.Range, [56 x i8] }> }, i6, [7 x i8] } { { <{ %SemanticVersion.Range, [56 x i8] }> } { <{ %SemanticVersion.Range, [56 x i8] }> <{ %SemanticVersion.Range { %SemanticVersion { i64 14, i64 5, i64 0, { ptr, i64 } zeroinitializer, { ptr, i64 } zeroinitializer }, %SemanticVersion { i64 14, i64 5, i64 0, { ptr, i64 } zeroinitializer, { ptr, i64 } zeroinitializer } }, [56 x i8] undef }> }, i6 10, [7 x i8] undef }, align 8 @__anon_1669 = internal unnamed_addr constant { { ptr }, i32, i32 } { { ptr } { ptr getelementptr inbounds (i8, ptr @start.noopSigHandler, i64 0) }, i32 0, i32 0 }, align 8 @__zig_err_name_table = private unnamed_addr constant ptr @68, align 8 @builtin.mode = internal unnamed_addr constant i2 -2, align 1 @debug.runtime_safety = internal unnamed_addr constant i1 false, align 1 @debug.default_enable_segfault_handler = internal unnamed_addr constant i1 false, align 1 @log.default_level = internal unnamed_addr constant i2 0, align 1 @std.options = internal unnamed_addr constant %std.Options { i64 3, i1 false, i2 0, i1 false, i1 true, i1 false, i1 false, i2 -2, [1 x i8] undef }, align 8 @debug.enable_segfault_handler = internal unnamed_addr constant i1 false, align 1 @posix.use_libc = internal unnamed_addr constant i1 true, align 1 @c.native_os = internal unnamed_addr constant i6 10, align 1 @c.darwin.empty_sigset = internal unnamed_addr constant i32 0, align 4 @posix.empty_sigset = internal unnamed_addr constant i32 0, align 4 @builtin.abi = internal unnamed_addr constant i6 0, align 1 @builtin.object_format = internal unnamed_addr constant i4 3, align 1 @Target.DynamicLinker.none = internal unnamed_addr constant %Target.DynamicLinker { [255 x i8] undef, i8 0 }, align 1 @builtin.target = internal unnamed_addr constant { %Target.Cpu, { { <{ %SemanticVersion.Range, [56 x i8] }> }, i6, [7 x i8] }, i6, i4, %Target.DynamicLinker, [6 x i8] } { %Target.Cpu { ptr getelementptr inbounds (i8, ptr @Target.x86.cpu.skylake, i64 0), %Target.Cpu.Feature.Set { [5 x i64] [i64 4705857814956941552, i64 2308508483300179218, i64 275001222971540504, i64 0, i64 0] }, i6 -27, [7 x i8] undef }, { { <{ %SemanticVersion.Range, [56 x i8] }> }, i6, [7 x i8] } { { <{ %SemanticVersion.Range, [56 x i8] }> } { <{ %SemanticVersion.Range, [56 x i8] }> <{ %SemanticVersion.Range { %SemanticVersion { i64 14, i64 5, i64 0, { ptr, i64 } zeroinitializer, { ptr, i64 } zeroinitializer }, %SemanticVersion { i64 14, i64 5, i64 0, { ptr, i64 } zeroinitializer, { ptr, i64 } zeroinitializer } }, [56 x i8] undef }> }, i6 10, [7 x i8] undef }, i6 0, i4 3, %Target.DynamicLinker { [255 x i8] [i8 47, i8 117, i8 115, i8 114, i8 47, i8 108, i8 105, i8 98, i8 47, i8 100, i8 121, i8 108, i8 100, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef], i8 13 }, [6 x i8] undef }, align 8 @_mh_execute_header = weak_odr dso_local global %macho.mach_header_64 undef, align 4 @__anon_2157 = internal unnamed_addr constant [16 x i8] c"(msg truncated)\00", align 1 @Progress.stderr_mutex = internal unnamed_addr global %Thread.Mutex.Recursive { i64 -1, i64 0, %Thread.Mutex zeroinitializer, [4 x i8] undef }, align 8 @0 = private unnamed_addr constant %fmt.FormatOptions { { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, i21 32, i2 -2, [3 x i8] undef }, align 8 @__anon_1474 = internal unnamed_addr constant [5 x i8] c"{d}\0A\00", align 1 @__anon_1704 = internal unnamed_addr constant [40 x i8] c"failed to set noop SIGPIPE handler: {s}\00", align 1 @1 = private unnamed_addr constant %fmt.FormatOptions { { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, i21 32, i2 -2, [3 x i8] undef }, align 8 @2 = private unnamed_addr constant { { ptr, i64 }, i16, [6 x i8] } { { ptr, i64 } undef, i16 5, [6 x i8] undef }, align 8 @Thread.native_os = internal unnamed_addr constant i6 10, align 1 @builtin.single_threaded = internal unnamed_addr constant i1 false, align 1 @Thread.Mutex.Recursive.invalid_thread_id = internal unnamed_addr constant i64 -1, align 8 @Thread.Mutex.Recursive.init = internal unnamed_addr constant %Thread.Mutex.Recursive { i64 -1, i64 0, %Thread.Mutex zeroinitializer, [4 x i8] undef }, align 8 @Progress.global_progress = internal unnamed_addr global %Progress { { %Thread, i8, [7 x i8] } { %Thread undef, i8 0, [7 x i8] undef }, i64 undef, i64 undef, { ptr, i64 } undef, { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @Progress.node_parents_buffer, i64 0), i64 83 }, { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @Progress.node_storage_buffer, i64 0), i64 83 }, { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @Progress.node_freelist_buffer, i64 0), i64 83 }, %fs.File undef, %Thread.ResetEvent zeroinitializer, i32 0, i16 0, i16 0, i2 0, i1 false, i1 false, i8 -1, [4 x i8] undef }, align 8 @3 = private unnamed_addr constant [3 x i8] c"\1B[J", align 1 @io.is_windows = internal unnamed_addr constant i1 false, align 1 @fs.File.is_windows = internal unnamed_addr constant i1 false, align 1 @4 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 0, i16 0, [6 x i8] undef }, align 8 @5 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 7, [6 x i8] undef }, align 8 @6 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 14, [6 x i8] undef }, align 8 @7 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 12, [6 x i8] undef }, align 8 @8 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 2, [6 x i8] undef }, align 8 @9 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 3, [6 x i8] undef }, align 8 @10 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 4, [6 x i8] undef }, align 8 @11 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 5, [6 x i8] undef }, align 8 @12 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 8, [6 x i8] undef }, align 8 @13 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 9, [6 x i8] undef }, align 8 @14 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 15, [6 x i8] undef }, align 8 @15 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 6, [6 x i8] undef }, align 8 @fmt.max_format_args = internal unnamed_addr constant i16 32, align 2 @__anon_3237 = internal unnamed_addr constant [8 x i8] c"{ ... }\00", align 1 @debug.panic_stage = internal thread_local unnamed_addr global i64 0, align 8 @debug.panicking = internal unnamed_addr global %"atomic.Value(u8)" zeroinitializer, align 1 @Progress.node_parents_buffer = internal unnamed_addr global [83 x i8] undef, align 1 @Progress.node_storage_buffer = internal unnamed_addr global [83 x %Progress.Node.Storage] undef, align 4 @Progress.node_freelist_buffer = internal unnamed_addr global [83 x i8] undef, align 1 @Progress.is_windows = internal unnamed_addr constant i1 false, align 1 @Thread.use_pthreads = internal unnamed_addr constant i1 true, align 1 @Progress.clear = internal unnamed_addr constant ptr getelementptr inbounds (i8, ptr @__anon_3049, i64 0), align 8 @__anon_3049 = internal unnamed_addr constant [4 x i8] c"\1B[J\00", align 1 @posix.native_os = internal unnamed_addr constant i6 10, align 1 @fmt.ANY = internal unnamed_addr constant ptr getelementptr inbounds (i8, ptr @__anon_3156, i64 0), align 8 @__anon_3156 = internal unnamed_addr constant [4 x i8] c"any\00", align 1 @16 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 0, i3 1, [1 x i8] undef }, align 2 @17 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 0, i3 2, [1 x i8] undef }, align 2 @18 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 0, i3 3, [1 x i8] undef }, align 2 @19 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 0, i3 -4, [1 x i8] undef }, align 2 @20 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 23, i3 undef, [1 x i8] undef }, align 2 @21 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 24, [6 x i8] undef }, align 8 @__anon_3683 = internal unnamed_addr constant [3 x i8] c"\EF\BF\BD", align 1 @22 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 0, i16 0, [6 x i8] undef }, align 8 @23 = private unnamed_addr constant { i64, i16, [6 x i8] } { i64 undef, i16 5, [6 x i8] undef }, align 8 @posix.unexpected_error_tracing = internal unnamed_addr constant i1 false, align 1 @__anon_3790 = internal unnamed_addr constant [201 x i8] c"00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899\00", align 1 @unicode.native_endian = internal unnamed_addr constant i1 true, align 1 @mem.native_endian = internal unnamed_addr constant i1 true, align 1 @24 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 0, i3 1, [1 x i8] undef }, align 2 @25 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 0, i3 2, [1 x i8] undef }, align 2 @26 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 0, i3 3, [1 x i8] undef }, align 2 @27 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 0, i3 -4, [1 x i8] undef }, align 2 @28 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 26, i3 undef, [1 x i8] undef }, align 2 @29 = private unnamed_addr constant { i16, i3, [1 x i8] } { i16 25, i3 undef, [1 x i8] undef }, align 2 @unicode.replacement_character = internal unnamed_addr constant i21 65533, align 4 @__anon_3287 = internal unnamed_addr constant [18 x i8] c"thread {} panic: \00", align 1 @30 = private unnamed_addr constant %fmt.FormatOptions { { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, i21 32, i2 -2, [3 x i8] undef }, align 8 @31 = private unnamed_addr constant %fmt.FormatOptions { { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, i21 32, i2 -2, [3 x i8] undef }, align 8 @__anon_3300 = internal unnamed_addr constant [5 x i8] c"{s}\0A\00", align 1 @builtin.strip_debug_info = internal unnamed_addr constant i1 true, align 1 @32 = private unnamed_addr constant { i64, i8, [7 x i8] } { i64 undef, i8 0, [7 x i8] undef }, align 8 @__anon_3318 = internal unnamed_addr constant [36 x i8] c"Panicked during a panic. Aborting.\0A\00", align 1 @33 = private unnamed_addr constant { i21, i16, [2 x i8] } { i21 undef, i16 19, [2 x i8] undef }, align 4 @34 = private unnamed_addr constant { i21, i16, [2 x i8] } { i21 undef, i16 20, [2 x i8] undef }, align 4 @35 = private unnamed_addr constant { i21, i16, [2 x i8] } { i21 undef, i16 21, [2 x i8] undef }, align 4 @36 = private unnamed_addr constant { i21, i16, [2 x i8] } { i21 undef, i16 19, [2 x i8] undef }, align 4 @37 = private unnamed_addr constant { i21, i16, [2 x i8] } { i21 undef, i16 20, [2 x i8] undef }, align 4 @38 = private unnamed_addr constant { i21, i16, [2 x i8] } { i21 undef, i16 22, [2 x i8] undef }, align 4 @__anon_3724 = internal unnamed_addr constant [49 x i8] c"Unable to dump stack trace: debug info stripped\0A\00", align 1 @39 = private unnamed_addr constant { i21, i16, [2 x i8] } { i21 undef, i16 19, [2 x i8] undef }, align 4 @40 = private unnamed_addr constant { i21, i16, [2 x i8] } { i21 undef, i16 20, [2 x i8] undef }, align 4 @41 = private unnamed_addr constant [22 x i8] c"OperationNotSupported\00", align 1 @42 = private unnamed_addr constant [10 x i8] c"DiskQuota\00", align 1 @43 = private unnamed_addr constant [11 x i8] c"FileTooBig\00", align 1 @44 = private unnamed_addr constant [12 x i8] c"InputOutput\00", align 1 @45 = private unnamed_addr constant [12 x i8] c"NoSpaceLeft\00", align 1 @46 = private unnamed_addr constant [11 x i8] c"DeviceBusy\00", align 1 @47 = private unnamed_addr constant [16 x i8] c"InvalidArgument\00", align 1 @48 = private unnamed_addr constant [13 x i8] c"AccessDenied\00", align 1 @49 = private unnamed_addr constant [11 x i8] c"BrokenPipe\00", align 1 @50 = private unnamed_addr constant [16 x i8] c"SystemResources\00", align 1 @51 = private unnamed_addr constant [17 x i8] c"OperationAborted\00", align 1 @52 = private unnamed_addr constant [18 x i8] c"NotOpenForWriting\00", align 1 @53 = private unnamed_addr constant [14 x i8] c"LockViolation\00", align 1 @54 = private unnamed_addr constant [11 x i8] c"WouldBlock\00", align 1 @55 = private unnamed_addr constant [22 x i8] c"ConnectionResetByPeer\00", align 1 @56 = private unnamed_addr constant [11 x i8] c"Unexpected\00", align 1 @57 = private unnamed_addr constant [9 x i8] c"Overflow\00", align 1 @58 = private unnamed_addr constant [12 x i8] c"InvalidUtf8\00", align 1 @59 = private unnamed_addr constant [25 x i8] c"Utf8ExpectedContinuation\00", align 1 @60 = private unnamed_addr constant [21 x i8] c"Utf8OverlongEncoding\00", align 1 @61 = private unnamed_addr constant [25 x i8] c"Utf8EncodesSurrogateHalf\00", align 1 @62 = private unnamed_addr constant [22 x i8] c"Utf8CodepointTooLarge\00", align 1 @63 = private unnamed_addr constant [21 x i8] c"Utf8InvalidStartByte\00", align 1 @64 = private unnamed_addr constant [15 x i8] c"TruncatedInput\00", align 1 @65 = private unnamed_addr constant [30 x i8] c"Utf8CannotEncodeSurrogateHalf\00", align 1 @66 = private unnamed_addr constant [18 x i8] c"CodepointTooLarge\00", align 1 @67 = private unnamed_addr constant [8 x i8] c"Timeout\00", align 1 @68 = private unnamed_addr constant [28 x { ptr, i64 }] [{ ptr, i64 } undef, { ptr, i64 } { ptr @41, i64 21 }, { ptr, i64 } { ptr @42, i64 9 }, { ptr, i64 } { ptr @43, i64 10 }, { ptr, i64 } { ptr @44, i64 11 }, { ptr, i64 } { ptr @45, i64 11 }, { ptr, i64 } { ptr @46, i64 10 }, { ptr, i64 } { ptr @47, i64 15 }, { ptr, i64 } { ptr @48, i64 12 }, { ptr, i64 } { ptr @49, i64 10 }, { ptr, i64 } { ptr @50, i64 15 }, { ptr, i64 } { ptr @51, i64 16 }, { ptr, i64 } { ptr @52, i64 17 }, { ptr, i64 } { ptr @53, i64 13 }, { ptr, i64 } { ptr @54, i64 10 }, { ptr, i64 } { ptr @55, i64 21 }, { ptr, i64 } { ptr @56, i64 10 }, { ptr, i64 } { ptr @57, i64 8 }, { ptr, i64 } { ptr @58, i64 11 }, { ptr, i64 } { ptr @59, i64 24 }, { ptr, i64 } { ptr @60, i64 20 }, { ptr, i64 } { ptr @61, i64 24 }, { ptr, i64 } { ptr @62, i64 21 }, { ptr, i64 } { ptr @63, i64 20 }, { ptr, i64 } { ptr @64, i64 14 }, { ptr, i64 } { ptr @65, i64 29 }, { ptr, i64 } { ptr @66, i64 17 }, { ptr, i64 } { ptr @67, i64 7 }], align 8 ; Function Attrs: nounwind uwtable define internal fastcc i16 @biggy.main() unnamed_addr #0 { 0: call fastcc void @debug.print__anon_972() ret i16 0 } ; Function Attrs: nounwind uwtable define internal fastcc void @debug.print__anon_972() unnamed_addr #0 { 0: %1 = alloca [16 x i8], align 8 %2 = alloca [8 x i8], align 8 %3 = alloca [16 x i8], align 8 %4 = alloca [4 x i8], align 4 %5 = alloca [4 x i8], align 4 %6 = alloca [4 x i8], align 4 %7 = alloca [4 x i8], align 4 %8 = alloca [4 x i8], align 4 call fastcc void @debug.lockStdErr() call fastcc void @io.getStdErr(ptr sret(%fs.File) %8) call void @llvm.memcpy.p0.p0.i64(ptr align 4 %7, ptr align 4 %8, i64 4, i1 false) call fastcc void @fs.File.writer(ptr sret(%"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))") %6, ptr align 4 readonly nonnull %7) call void @llvm.memcpy.p0.p0.i64(ptr align 4 %5, ptr align 4 %6, i64 4, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 4 %4, ptr align 4 %5, i64 4, i1 false) %9 = getelementptr inbounds %io.Writer, ptr %3, i32 0, i32 0 store ptr %4, ptr %2, align 8 %10 = load ptr, ptr %2, align 8 %11 = getelementptr inbounds %"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))", ptr %10, i32 0, i32 0 store ptr %11, ptr %9, align 8 %12 = getelementptr inbounds %io.Writer, ptr %3, i32 0, i32 1 store ptr getelementptr inbounds (i8, ptr @"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write')).typeErasedWriteFn", i64 0), ptr %12, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1, ptr align 8 %3, i64 16, i1 false) %13 = call fastcc i16 @io.Writer.print__anon_2829(ptr align 8 readonly nonnull %1) %14 = icmp eq i16 %13, 0 br i1 %14, label %16, label %17 15: call fastcc void @debug.unlockStdErr() ret void 16: br label %15 17: call fastcc void @debug.unlockStdErr() ret void } ; Function Attrs: nounwind uwtable define dso_local i32 @main(i32 %0, ptr align 8 nonnull %1, ptr align 8 nonnull %2) #0 { 3: %4 = alloca [8 x i8], align 8 %5 = alloca [8 x i8], align 8 %6 = alloca [8 x i8], align 8 store i64 0, ptr %6, align 8 br label %19 7: store ptr %2, ptr %5, align 8 %8 = load i64, ptr %6, align 8 %9 = load ptr, ptr %5, align 8 %10 = getelementptr inbounds ptr, ptr %9, i64 0 %11 = insertvalue { ptr, i64 } poison, ptr %10, 0 %12 = insertvalue { ptr, i64 } %11, i64 %8, 1 %13 = sext i32 %0 to i64 store ptr %1, ptr %4, align 8 %14 = load ptr, ptr %4, align 8 %15 = getelementptr inbounds ptr, ptr %14, i64 0 %16 = insertvalue { ptr, i64 } poison, ptr %15, 0 %17 = insertvalue { ptr, i64 } %16, i64 %13, 1 store { ptr, i64 } %17, ptr getelementptr inbounds (i8, ptr @os.argv, i64 0), align 8 store { ptr, i64 } %12, ptr getelementptr inbounds (i8, ptr @os.environ, i64 0), align 8 call fastcc void @debug.maybeEnableSegfaultHandler() call fastcc void @start.maybeIgnoreSigpipe() %18 = call fastcc i16 @biggy.main() ret i32 0 19: %20 = load i64, ptr %6, align 8 %21 = getelementptr inbounds ptr, ptr %2, i64 %20 %22 = load ptr, ptr %21, align 8 %23 = icmp ne ptr %22, null br i1 %23, label %25, label %28 24: br label %19 25: %26 = load i64, ptr %6, align 8 %27 = add nuw i64 %26, 1 store i64 %27, ptr %6, align 8 br label %24 28: br label %7 } ; Function Attrs: nounwind uwtable define internal fastcc void @debug.maybeEnableSegfaultHandler() unnamed_addr #0 { 0: ret void } ; Function Attrs: nounwind uwtable define internal fastcc void @start.maybeIgnoreSigpipe() unnamed_addr #0 { 0: %1 = alloca [16 x i8], align 8 %2 = call fastcc i16 @posix.sigaction(i6 13, ptr align 8 noalias readonly getelementptr inbounds (i8, ptr @__anon_1669, i64 0), ptr align 8 noalias null) %3 = icmp eq i16 %2, 0 br i1 %3, label %5, label %6 4: ret void 5: br label %4 6: %7 = load ptr, ptr @__zig_err_name_table %8 = getelementptr inbounds { ptr, i64 }, ptr %7, i16 %2 %9 = load { ptr, i64 }, ptr %8 %10 = getelementptr inbounds { { ptr, i64 } }, ptr %1, i32 0, i32 0 store { ptr, i64 } %9, ptr %10, align 8 call fastcc void @debug.panic__anon_2624(ptr align 8 readonly nonnull %1) unreachable } ; Function Attrs: nounwind uwtable define internal fastcc i16 @posix.sigaction(i6 %0, ptr align 8 noalias readonly %1, ptr align 8 noalias %2) unnamed_addr #0 { 3: %4 = zext i6 %0 to i32 %5 = call i32 @sigaction(i32 %4, ptr align 8 noalias readonly %1, ptr align 8 noalias %2) %6 = call fastcc i16 @posix.errno__anon_3210(i32 %5) switch i16 %6, label %7 [ i16 0, label %8 i16 22, label %9 i16 78, label %9 ] 7: unreachable 8: ret i16 0 9: ret i16 1 } ; Function Attrs: nounwind uwtable define internal void @start.noopSigHandler(i32 %0) unnamed_addr #0 { 1: ret void } ; Function Attrs: noreturn nounwind uwtable cold define internal fastcc void @debug.panic__anon_2624(ptr align 8 readonly nonnull %0) unnamed_addr #1 { 1: %2 = alloca [16 x i8], align 8 %3 = call ptr @llvm.returnaddress(i32 0) %4 = ptrtoint ptr %3 to i64 %5 = getelementptr inbounds { i64, i8, [7 x i8] }, ptr %2, i32 0, i32 0 store i64 %4, ptr %5, align 8 %6 = getelementptr inbounds { i64, i8, [7 x i8] }, ptr %2, i32 0, i32 1 store i8 1, ptr %6 call fastcc void @debug.panicExtra__anon_3213(ptr align 8 null, ptr align 8 readonly nonnull %2, ptr align 8 readonly nonnull %0) unreachable } ; Function Attrs: nounwind uwtable define internal fastcc void @debug.lockStdErr() unnamed_addr #0 { 0: call fastcc void @Progress.lockStdErr() ret void } ; Function Attrs: nounwind uwtable define internal fastcc void @io.getStdErr(ptr noalias sret(%fs.File) nonnull %0) unnamed_addr #0 { 1: %2 = getelementptr inbounds %fs.File, ptr %0, i32 0, i32 0 %3 = call fastcc i32 @io.getStdErrHandle() store i32 %3, ptr %2, align 4 ret void } ; Function Attrs: nounwind willreturn nofree nocallback memory(argmem: readwrite) declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly %0, ptr noalias nocapture readonly %1, i64 %2, i1 immarg %3) #2 ; Function Attrs: nounwind uwtable define internal fastcc void @fs.File.writer(ptr noalias sret(%"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))") nonnull %0, ptr align 4 readonly nonnull %1) unnamed_addr #0 { 2: %3 = getelementptr inbounds %"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))", ptr %0, i32 0, i32 0 call void @llvm.memcpy.p0.p0.i64(ptr align 4 %3, ptr align 4 %1, i64 4, i1 false) ret void } ; Function Attrs: nounwind uwtable define internal fastcc void @"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write')).typeErasedWriteFn"(ptr noalias sret({ i64, i16, [6 x i8] }) nonnull %0, ptr align 1 readonly nonnull %1, ptr align 1 readonly nonnull %2, i64 %3) unnamed_addr #0 { 4: %5 = alloca [16 x i8], align 8 %6 = insertvalue { ptr, i64 } poison, ptr %2, 0 %7 = insertvalue { ptr, i64 } %6, i64 %3, 1 %8 = extractvalue { ptr, i64 } %7, 0 %9 = extractvalue { ptr, i64 } %7, 1 call fastcc void @fs.File.write(ptr sret({ i64, i16, [6 x i8] }) %5, ptr align 4 readonly nonnull %1, ptr align 1 readonly nonnull %8, i64 %9) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %5, i64 16, i1 false) ret void } ; Function Attrs: nounwind uwtable define internal fastcc i16 @io.Writer.print__anon_2829(ptr align 8 readonly nonnull %0) unnamed_addr #0 { 1: %2 = call fastcc i16 @fmt.format__anon_3278(ptr align 8 readonly nonnull %0) ret i16 %2 } ; Function Attrs: nounwind uwtable define internal fastcc void @debug.unlockStdErr() unnamed_addr #0 { 0: call fastcc void @Progress.unlockStdErr() ret void } ; Function Attrs: nounwind uwtable declare i32 @sigaction(i32 %0, ptr align 8 noalias readonly %1, ptr align 8 noalias %2) #0 ; Function Attrs: nounwind uwtable define internal fastcc i16 @posix.errno__anon_3210(i32 %0) unnamed_addr #0 { 1: %2 = icmp eq i32 %0, -1 br i1 %2, label %5, label %9 3: %4 = phi i16 [ %8, %5 ], [ 0, %9 ] ret i16 %4 5: %6 = call ptr @__error() %7 = load i32, ptr %6, align 4 %8 = trunc i32 %7 to i16 br label %3 9: br label %3 } ; Function Attrs: nounwind willreturn nofree nosync nocallback memory(none) declare ptr @llvm.returnaddress(i32 immarg %0) #3 ; Function Attrs: noreturn nounwind uwtable cold define internal fastcc void @debug.panicExtra__anon_3213(ptr align 8 %0, ptr align 8 readonly nonnull %1, ptr align 8 readonly nonnull %2) unnamed_addr #1 { 3: %4 = alloca [16 x i8], align 8 %5 = alloca [24 x i8], align 8 %6 = alloca [4111 x i8], align 1 call void @llvm.memset.p0.i64(ptr align 1 %6, i8 undef, i64 4111, i1 false) %7 = getelementptr inbounds i8, ptr %6, i64 0 %8 = getelementptr inbounds [4096 x i8], ptr %7, i64 0, i64 0 %9 = insertvalue { ptr, i64 } poison, ptr %8, 0 %10 = insertvalue { ptr, i64 } %9, i64 4096, 1 %11 = extractvalue { ptr, i64 } %10, 0 %12 = extractvalue { ptr, i64 } %10, 1 call fastcc void @fmt.bufPrint__anon_3279(ptr sret({ { ptr, i64 }, i16, [6 x i8] }) %5, ptr align 1 nonnull %11, i64 %12, ptr align 8 readonly nonnull %2) %13 = getelementptr inbounds { { ptr, i64 }, i16, [6 x i8] }, ptr %5, i32 0, i32 1 %14 = load i16, ptr %13 %15 = icmp eq i16 %14, 0 br i1 %15, label %21, label %24 16: %17 = phi { ptr, i64 } [ %23, %21 ], [ %32, %28 ] store { ptr, i64 } %17, ptr %4, align 8 %18 = load { ptr, i64 }, ptr %4, align 8 %19 = extractvalue { ptr, i64 } %18, 0 %20 = extractvalue { ptr, i64 } %18, 1 call fastcc void @builtin.default_panic(ptr align 1 readonly nonnull %19, i64 %20, ptr align 8 %0, ptr align 8 readonly nonnull %1) unreachable 21: %22 = getelementptr inbounds { { ptr, i64 }, i16, [6 x i8] }, ptr %5, i32 0, i32 0 %23 = load { ptr, i64 }, ptr %22, align 8 br label %16 24: %25 = getelementptr inbounds { { ptr, i64 }, i16, [6 x i8] }, ptr %5, i32 0, i32 1 %26 = load i16, ptr %25 switch i16 %26, label %27 [ i16 5, label %28 ] 27: unreachable 28: %29 = getelementptr inbounds i8, ptr %6, i64 4096 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %29, ptr align 1 getelementptr inbounds (i8, ptr @__anon_2157, i64 0), i64 15, i1 false) %30 = getelementptr inbounds [4111 x i8], ptr %6, i64 0, i64 0 %31 = insertvalue { ptr, i64 } poison, ptr %30, 0 %32 = insertvalue { ptr, i64 } %31, i64 4111, 1 br label %16 } ; Function Attrs: nounwind uwtable define internal fastcc void @Progress.lockStdErr() unnamed_addr #0 { 0: call fastcc void @Thread.Mutex.Recursive.lock(ptr align 8 nonnull getelementptr inbounds (i8, ptr @Progress.stderr_mutex, i64 0)) %1 = call fastcc i16 @Progress.clearWrittenWithEscapeCodes() %2 = icmp eq i16 %1, 0 br i1 %2, label %4, label %5 3: ret void 4: br label %3 5: br label %3 } ; Function Attrs: nounwind uwtable define internal fastcc i32 @io.getStdErrHandle() unnamed_addr #0 { 0: ret i32 2 } ; Function Attrs: nounwind uwtable define internal fastcc void @fs.File.write(ptr noalias sret({ i64, i16, [6 x i8] }) nonnull %0, ptr align 4 readonly nonnull %1, ptr align 1 readonly nonnull %2, i64 %3) unnamed_addr #0 { 4: %5 = alloca [16 x i8], align 8 %6 = insertvalue { ptr, i64 } poison, ptr %2, 0 %7 = insertvalue { ptr, i64 } %6, i64 %3, 1 %8 = getelementptr inbounds %fs.File, ptr %1, i32 0, i32 0 %9 = load i32, ptr %8, align 4 %10 = extractvalue { ptr, i64 } %7, 0 %11 = extractvalue { ptr, i64 } %7, 1 call fastcc void @posix.write(ptr sret({ i64, i16, [6 x i8] }) %5, i32 %9, ptr align 1 readonly nonnull %10, i64 %11) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %5, i64 16, i1 false) ret void } ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.format__anon_3278(ptr align 8 readonly nonnull %0) unnamed_addr #0 { 1: %2 = alloca [16 x i8], align 8 %3 = call fastcc i16 @fmt.formatType__anon_3567(ptr align 8 readonly nonnull @0, ptr align 8 readonly nonnull %0, i64 3) %4 = icmp ne i16 %3, 0 br i1 %4, label %5, label %6 5: ret i16 %3 6: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2, ptr align 8 %0, i64 16, i1 false) %7 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_1474, i64 3), i64 1 }, 0 %8 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_1474, i64 3), i64 1 }, 1 %9 = call fastcc i16 @io.Writer.writeAll(ptr align 8 readonly nonnull %2, ptr align 1 readonly nonnull %7, i64 %8) %10 = icmp ne i16 %9, 0 br i1 %10, label %11, label %12 11: ret i16 %9 12: ret i16 0 } ; Function Attrs: nounwind uwtable define internal fastcc void @Progress.unlockStdErr() unnamed_addr #0 { 0: call fastcc void @Thread.Mutex.Recursive.unlock(ptr align 8 nonnull getelementptr inbounds (i8, ptr @Progress.stderr_mutex, i64 0)) ret void } ; Function Attrs: nounwind uwtable declare ptr @__error() #0 ; Function Attrs: nounwind willreturn nofree nocallback memory(argmem: write) declare void @llvm.memset.p0.i64(ptr nocapture writeonly %0, i8 %1, i64 %2, i1 immarg %3) #4 ; Function Attrs: nounwind uwtable define internal fastcc void @fmt.bufPrint__anon_3279(ptr noalias sret({ { ptr, i64 }, i16, [6 x i8] }) nonnull %0, ptr align 1 nonnull %1, i64 %2, ptr align 8 readonly nonnull %3) unnamed_addr #0 { 4: %5 = alloca [8 x i8], align 8 %6 = alloca [16 x i8], align 8 %7 = alloca [8 x i8], align 8 %8 = alloca [8 x i8], align 8 %9 = alloca [24 x i8], align 8 %10 = alloca [24 x i8], align 8 %11 = insertvalue { ptr, i64 } poison, ptr %1, 0 %12 = insertvalue { ptr, i64 } %11, i64 %2, 1 %13 = extractvalue { ptr, i64 } %12, 0 %14 = extractvalue { ptr, i64 } %12, 1 call fastcc void @io.fixed_buffer_stream.fixedBufferStream__anon_3601(ptr sret(%"io.fixed_buffer_stream.FixedBufferStream([]u8)") %9, ptr align 1 nonnull %13, i64 %14) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %9, i64 24, i1 false) call fastcc void @"io.fixed_buffer_stream.FixedBufferStream([]u8).writer"(ptr sret(%"io.GenericWriter(*io.fixed_buffer_stream.FixedBufferStream([]u8),error{NoSpaceLeft},(function 'write'))") %8, ptr align 8 nonnull %10) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %8, i64 8, i1 false) %15 = getelementptr inbounds %io.Writer, ptr %6, i32 0, i32 0 store ptr %7, ptr %5, align 8 %16 = load ptr, ptr %5, align 8 %17 = getelementptr inbounds %"io.GenericWriter(*io.fixed_buffer_stream.FixedBufferStream([]u8),error{NoSpaceLeft},(function 'write'))", ptr %16, i32 0, i32 0 store ptr %17, ptr %15, align 8 %18 = getelementptr inbounds %io.Writer, ptr %6, i32 0, i32 1 store ptr getelementptr inbounds (i8, ptr @"io.GenericWriter(*io.fixed_buffer_stream.FixedBufferStream([]u8),error{NoSpaceLeft},(function 'write')).typeErasedWriteFn", i64 0), ptr %18, align 8 %19 = call fastcc i16 @fmt.format__anon_3616(ptr align 8 readonly nonnull %6, ptr align 8 readonly nonnull %3) %20 = icmp eq i16 %19, 0 br i1 %20, label %25, label %26 21: %22 = call fastcc { ptr, i64 } @"io.fixed_buffer_stream.FixedBufferStream([]u8).getWritten"(ptr align 8 readonly nonnull %10) %23 = getelementptr inbounds { { ptr, i64 }, i16, [6 x i8] }, ptr %0, i32 0, i32 1 store i16 0, ptr %23, align 2 %24 = getelementptr inbounds { { ptr, i64 }, i16, [6 x i8] }, ptr %0, i32 0, i32 0 store { ptr, i64 } %22, ptr %24, align 8 ret void 25: br label %21 26: switch i16 %19, label %27 [ i16 5, label %28 ] 27: unreachable 28: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @2, i64 24, i1 false) ret void } ; Function Attrs: noreturn nounwind uwtable cold define internal fastcc void @builtin.default_panic(ptr align 1 readonly nonnull %0, i64 %1, ptr align 8 %2, ptr align 8 readonly nonnull %3) unnamed_addr #1 { 4: %5 = alloca [16 x i8], align 8 %6 = insertvalue { ptr, i64 } poison, ptr %0, 0 %7 = insertvalue { ptr, i64 } %6, i64 %1, 1 %8 = getelementptr inbounds { i64, i8, [7 x i8] }, ptr %3, i32 0, i32 1 %9 = load i8, ptr %8 %10 = icmp ne i8 %9, 0 br i1 %10, label %17, label %20 11: %12 = phi i64 [ %19, %17 ], [ %22, %20 ] %13 = getelementptr inbounds { i64, i8, [7 x i8] }, ptr %5, i32 0, i32 0 store i64 %12, ptr %13, align 8 %14 = getelementptr inbounds { i64, i8, [7 x i8] }, ptr %5, i32 0, i32 1 store i8 1, ptr %14 %15 = extractvalue { ptr, i64 } %7, 0 %16 = extractvalue { ptr, i64 } %7, 1 call fastcc void @debug.panicImpl(ptr align 8 readonly %2, ptr align 8 readonly nonnull %5, ptr align 1 readonly nonnull %15, i64 %16) unreachable 17: %18 = getelementptr inbounds { i64, i8, [7 x i8] }, ptr %3, i32 0, i32 0 %19 = load i64, ptr %18, align 8 br label %11 20: %21 = call ptr @llvm.returnaddress(i32 0) %22 = ptrtoint ptr %21 to i64 br label %11 } ; Function Attrs: nounwind uwtable define internal fastcc void @Thread.Mutex.Recursive.lock(ptr align 8 nonnull %0) unnamed_addr #0 { 1: %2 = alloca [8 x i8], align 8 %3 = alloca [8 x i8], align 8 %4 = alloca [8 x i8], align 8 %5 = alloca [8 x i8], align 8 %6 = call fastcc i64 @Thread.getCurrentId() store ptr %0, ptr %5, align 8 %7 = load ptr, ptr %5, align 8 %8 = getelementptr inbounds %Thread.Mutex.Recursive, ptr %7, i32 0, i32 0 %9 = load atomic i64, ptr %8 unordered, align 8 %10 = icmp ne i64 %9, %6 br i1 %10, label %16, label %24 11: store ptr %0, ptr %2, align 8 %12 = load ptr, ptr %2, align 8 %13 = getelementptr inbounds %Thread.Mutex.Recursive, ptr %12, i32 0, i32 1 %14 = load i64, ptr %13, align 8 %15 = add nuw i64 %14, 1 store i64 %15, ptr %13, align 8 ret void 16: store ptr %0, ptr %4, align 8 %17 = load ptr, ptr %4, align 8 %18 = getelementptr inbounds %Thread.Mutex.Recursive, ptr %17, i32 0, i32 2 call fastcc void @Thread.Mutex.lock(ptr align 4 nonnull %18) %19 = getelementptr inbounds %Thread.Mutex.Recursive, ptr %0, i32 0, i32 1 %20 = load i64, ptr %19, align 8 %21 = icmp eq i64 %20, 0 call fastcc void @debug.assert(i1 %21) store ptr %0, ptr %3, align 8 %22 = load ptr, ptr %3, align 8 %23 = getelementptr inbounds %Thread.Mutex.Recursive, ptr %22, i32 0, i32 0 store atomic i64 %6, ptr %23 unordered, align 8 br label %11 24: br label %11 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @Progress.clearWrittenWithEscapeCodes() unnamed_addr #0 { 0: %1 = alloca [16 x i8], align 8 %2 = alloca [16 x i8], align 8 %3 = alloca [8 x i8], align 8 %4 = getelementptr inbounds %Progress, ptr getelementptr inbounds (i8, ptr @Progress.global_progress, i64 0), i32 0, i32 14 %5 = load i1, ptr %4, align 1 %6 = xor i1 %5, true br i1 %6, label %27, label %28 7: store i64 0, ptr %3, align 8 %8 = getelementptr inbounds %Progress, ptr getelementptr inbounds (i8, ptr @Progress.global_progress, i64 0), i32 0, i32 3 %9 = load { ptr, i64 }, ptr %8, align 8 store { ptr, i64 } %9, ptr %2, align 8 %10 = load i64, ptr %3, align 8 %11 = load { ptr, i64 }, ptr %2, align 8 %12 = extractvalue { ptr, i64 } %11, 0 %13 = getelementptr inbounds i8, ptr %12, i64 %10 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %13, ptr align 1 @3, i64 3, i1 false) %14 = load i64, ptr %3, align 8 %15 = add nuw i64 %14, 3 store i64 %15, ptr %3, align 8 store i1 false, ptr getelementptr inbounds (i8, ptr @Progress.global_progress, i64 114), align 1 %16 = load i64, ptr %3, align 8 %17 = load { ptr, i64 }, ptr %2, align 8 %18 = extractvalue { ptr, i64 } %17, 0 %19 = getelementptr inbounds i8, ptr %18, i64 0 %20 = insertvalue { ptr, i64 } poison, ptr %19, 0 %21 = insertvalue { ptr, i64 } %20, i64 %16, 1 store { ptr, i64 } %21, ptr %1, align 8 %22 = load { ptr, i64 }, ptr %1, align 8 %23 = extractvalue { ptr, i64 } %22, 0 %24 = extractvalue { ptr, i64 } %22, 1 %25 = call fastcc i16 @Progress.write(ptr align 1 readonly nonnull %23, i64 %24) %26 = icmp ne i16 %25, 0 br i1 %26, label %29, label %30 27: ret i16 0 28: br label %7 29: ret i16 %25 30: ret i16 0 } ; Function Attrs: nounwind uwtable define internal fastcc void @posix.write(ptr noalias sret({ i64, i16, [6 x i8] }) nonnull %0, i32 %1, ptr align 1 readonly nonnull %2, i64 %3) unnamed_addr #0 { 4: %5 = insertvalue { ptr, i64 } poison, ptr %2, 0 %6 = insertvalue { ptr, i64 } %5, i64 %3, 1 %7 = extractvalue { ptr, i64 } %6, 1 %8 = icmp eq i64 %7, 0 br i1 %8, label %10, label %11 9: br label %12 10: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @4, i64 16, i1 false) ret void 11: br label %9 12: %13 = extractvalue { ptr, i64 } %6, 0 %14 = extractvalue { ptr, i64 } %6, 1 %15 = call i64 @llvm.umin.i64(i64 2147483647, i64 %14) %16 = trunc i64 %15 to i31 %17 = zext i31 %16 to i64 %18 = call i64 @write(i32 %1, ptr align 1 readonly nonnull %13, i64 %17) %19 = call fastcc i16 @posix.errno__anon_3734(i64 %18) switch i16 %19, label %21 [ i16 0, label %25 i16 4, label %28 i16 22, label %29 i16 14, label %30 i16 35, label %31 i16 9, label %32 i16 39, label %33 i16 69, label %34 i16 27, label %35 i16 5, label %36 i16 28, label %37 i16 1, label %38 i16 32, label %39 i16 54, label %40 i16 16, label %41 ] 20: br label %12 21: %22 = call fastcc i16 @posix.unexpectedErrno(i16 %19) %23 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %0, i32 0, i32 1 store i16 %22, ptr %23, align 2 %24 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %0, i32 0, i32 0 ret void 25: %26 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %0, i32 0, i32 1 store i16 0, ptr %26, align 2 %27 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %0, i32 0, i32 0 store i64 %18, ptr %27, align 8 ret void 28: br label %20 29: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @5, i64 16, i1 false) ret void 30: unreachable 31: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @6, i64 16, i1 false) ret void 32: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @7, i64 16, i1 false) ret void 33: unreachable 34: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @8, i64 16, i1 false) ret void 35: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @9, i64 16, i1 false) ret void 36: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @10, i64 16, i1 false) ret void 37: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @11, i64 16, i1 false) ret void 38: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @12, i64 16, i1 false) ret void 39: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @13, i64 16, i1 false) ret void 40: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @14, i64 16, i1 false) ret void 41: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @15, i64 16, i1 false) ret void } ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.formatType__anon_3567(ptr align 8 readonly nonnull %0, ptr align 8 readonly nonnull %1, i64 %2) unnamed_addr #0 { 3: %4 = call fastcc i16 @fmt.formatValue__anon_3979(ptr align 8 readonly nonnull %0, ptr align 8 readonly nonnull %1) ret i16 %4 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @io.Writer.writeAll(ptr align 8 readonly nonnull %0, ptr align 1 readonly nonnull %1, i64 %2) unnamed_addr #0 { 3: %4 = alloca [16 x i8], align 8 %5 = alloca [16 x i8], align 8 %6 = alloca [16 x i8], align 8 %7 = alloca [16 x i8], align 8 %8 = alloca [8 x i8], align 8 %9 = insertvalue { ptr, i64 } poison, ptr %1, 0 %10 = insertvalue { ptr, i64 } %9, i64 %2, 1 store i64 0, ptr %8, align 8 br label %12 11: ret i16 0 12: %13 = load i64, ptr %8, align 8 %14 = extractvalue { ptr, i64 } %10, 1 %15 = icmp ne i64 %13, %14 br i1 %15, label %17, label %32 16: br label %12 17: %18 = load i64, ptr %8, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %0, i64 16, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %7, i64 16, i1 false) store { ptr, i64 } %10, ptr %5, align 8 %19 = load i64, ptr %8, align 8 %20 = load { ptr, i64 }, ptr %5, align 8 %21 = extractvalue { ptr, i64 } %20, 0 %22 = getelementptr inbounds i8, ptr %21, i64 %19 %23 = extractvalue { ptr, i64 } %20, 1 %24 = sub nuw i64 %23, %19 %25 = insertvalue { ptr, i64 } poison, ptr %22, 0 %26 = insertvalue { ptr, i64 } %25, i64 %24, 1 %27 = extractvalue { ptr, i64 } %26, 0 %28 = extractvalue { ptr, i64 } %26, 1 call fastcc void @io.Writer.write(ptr sret({ i64, i16, [6 x i8] }) %4, ptr align 8 readonly nonnull %6, ptr align 1 readonly nonnull %27, i64 %28) %29 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %4, i32 0, i32 1 %30 = load i16, ptr %29 %31 = icmp ne i16 %30, 0 br i1 %31, label %33, label %36 32: br label %11 33: %34 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %4, i32 0, i32 1 %35 = load i16, ptr %34 ret i16 %35 36: %37 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %4, i32 0, i32 0 %38 = load i64, ptr %37, align 8 %39 = add nuw i64 %18, %38 store i64 %39, ptr %8, align 8 br label %16 } ; Function Attrs: nounwind uwtable define internal fastcc void @Thread.Mutex.Recursive.unlock(ptr align 8 nonnull %0) unnamed_addr #0 { 1: %2 = alloca [8 x i8], align 8 %3 = alloca [8 x i8], align 8 %4 = alloca [8 x i8], align 8 store ptr %0, ptr %4, align 8 %5 = load ptr, ptr %4, align 8 %6 = getelementptr inbounds %Thread.Mutex.Recursive, ptr %5, i32 0, i32 1 %7 = load i64, ptr %6, align 8 %8 = sub nuw i64 %7, 1 store i64 %8, ptr %6, align 8 %9 = getelementptr inbounds %Thread.Mutex.Recursive, ptr %0, i32 0, i32 1 %10 = load i64, ptr %9, align 8 %11 = icmp eq i64 %10, 0 br i1 %11, label %13, label %18 12: ret void 13: store ptr %0, ptr %3, align 8 %14 = load ptr, ptr %3, align 8 %15 = getelementptr inbounds %Thread.Mutex.Recursive, ptr %14, i32 0, i32 0 store atomic i64 -1, ptr %15 unordered, align 8 store ptr %0, ptr %2, align 8 %16 = load ptr, ptr %2, align 8 %17 = getelementptr inbounds %Thread.Mutex.Recursive, ptr %16, i32 0, i32 2 call fastcc void @Thread.Mutex.unlock(ptr align 4 nonnull %17) br label %12 18: br label %12 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.format__anon_3616(ptr align 8 readonly nonnull %0, ptr align 8 readonly nonnull %1) unnamed_addr #0 { 2: %3 = alloca [16 x i8], align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3, ptr align 8 %0, i64 16, i1 false) %4 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_1704, i64 0), i64 36 }, 0 %5 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_1704, i64 0), i64 36 }, 1 %6 = call fastcc i16 @io.Writer.writeAll(ptr align 8 readonly nonnull %3, ptr align 1 readonly nonnull %4, i64 %5) %7 = icmp ne i16 %6, 0 br i1 %7, label %8, label %9 8: ret i16 %6 9: %10 = getelementptr inbounds { { ptr, i64 } }, ptr %1, i32 0, i32 0 %11 = load { ptr, i64 }, ptr %10, align 8 %12 = extractvalue { ptr, i64 } %11, 0 %13 = extractvalue { ptr, i64 } %11, 1 %14 = call fastcc i16 @fmt.formatType__anon_3617(ptr align 1 readonly nonnull %12, i64 %13, ptr align 8 readonly nonnull @1, ptr align 8 readonly nonnull %0, i64 3) %15 = icmp ne i16 %14, 0 br i1 %15, label %16, label %17 16: ret i16 %14 17: ret i16 0 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.formatType__anon_3617(ptr align 1 readonly nonnull %0, i64 %1, ptr align 8 readonly nonnull %2, ptr align 8 readonly nonnull %3, i64 %4) unnamed_addr #0 { 5: %6 = alloca [16 x i8], align 8 %7 = alloca [16 x i8], align 8 %8 = insertvalue { ptr, i64 } poison, ptr %0, 0 %9 = insertvalue { ptr, i64 } %8, i64 %1, 1 %10 = icmp eq i64 %4, 0 br i1 %10, label %16, label %20 11: store { ptr, i64 } %9, ptr %6, align 8 %12 = load { ptr, i64 }, ptr %6, align 8 %13 = extractvalue { ptr, i64 } %12, 0 %14 = extractvalue { ptr, i64 } %12, 1 %15 = call fastcc i16 @fmt.formatBuf__anon_3980(ptr align 1 readonly nonnull %13, i64 %14, ptr align 8 readonly nonnull %2, ptr align 8 readonly nonnull %3) ret i16 %15 16: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %3, i64 16, i1 false) %17 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_3237, i64 0), i64 7 }, 0 %18 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_3237, i64 0), i64 7 }, 1 %19 = call fastcc i16 @io.Writer.writeAll(ptr align 8 readonly nonnull %7, ptr align 1 readonly nonnull %17, i64 %18) ret i16 %19 20: br label %11 } ; Function Attrs: nounwind uwtable define internal fastcc void @io.fixed_buffer_stream.fixedBufferStream__anon_3601(ptr noalias sret(%"io.fixed_buffer_stream.FixedBufferStream([]u8)") nonnull %0, ptr align 1 nonnull %1, i64 %2) unnamed_addr #0 { 3: %4 = insertvalue { ptr, i64 } poison, ptr %1, 0 %5 = insertvalue { ptr, i64 } %4, i64 %2, 1 %6 = getelementptr inbounds %"io.fixed_buffer_stream.FixedBufferStream([]u8)", ptr %0, i32 0, i32 0 store { ptr, i64 } %5, ptr %6, align 8 %7 = getelementptr inbounds %"io.fixed_buffer_stream.FixedBufferStream([]u8)", ptr %0, i32 0, i32 1 store i64 0, ptr %7, align 8 ret void } ; Function Attrs: nounwind uwtable define internal fastcc void @"io.fixed_buffer_stream.FixedBufferStream([]u8).writer"(ptr noalias sret(%"io.GenericWriter(*io.fixed_buffer_stream.FixedBufferStream([]u8),error{NoSpaceLeft},(function 'write'))") nonnull %0, ptr align 8 nonnull %1) unnamed_addr #0 { 2: %3 = getelementptr inbounds %"io.GenericWriter(*io.fixed_buffer_stream.FixedBufferStream([]u8),error{NoSpaceLeft},(function 'write'))", ptr %0, i32 0, i32 0 store ptr %1, ptr %3, align 8 ret void } ; Function Attrs: nounwind uwtable define internal fastcc void @"io.GenericWriter(*io.fixed_buffer_stream.FixedBufferStream([]u8),error{NoSpaceLeft},(function 'write')).typeErasedWriteFn"(ptr noalias sret({ i64, i16, [6 x i8] }) nonnull %0, ptr align 1 readonly nonnull %1, ptr align 1 readonly nonnull %2, i64 %3) unnamed_addr #0 { 4: %5 = alloca [16 x i8], align 8 %6 = insertvalue { ptr, i64 } poison, ptr %2, 0 %7 = insertvalue { ptr, i64 } %6, i64 %3, 1 %8 = load ptr, ptr %1, align 8 %9 = extractvalue { ptr, i64 } %7, 0 %10 = extractvalue { ptr, i64 } %7, 1 call fastcc void @"io.fixed_buffer_stream.FixedBufferStream([]u8).write"(ptr sret({ i64, i16, [6 x i8] }) %5, ptr align 8 nonnull %8, ptr align 1 readonly nonnull %9, i64 %10) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %5, i64 16, i1 false) ret void } ; Function Attrs: nounwind uwtable define internal fastcc { ptr, i64 } @"io.fixed_buffer_stream.FixedBufferStream([]u8).getWritten"(ptr align 8 readonly nonnull %0) unnamed_addr #0 { 1: %2 = alloca [24 x i8], align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2, ptr align 8 %0, i64 24, i1 false) %3 = getelementptr inbounds %"io.fixed_buffer_stream.FixedBufferStream([]u8)", ptr %2, i32 0, i32 0 %4 = getelementptr inbounds %"io.fixed_buffer_stream.FixedBufferStream([]u8)", ptr %0, i32 0, i32 1 %5 = load i64, ptr %4, align 8 %6 = load { ptr, i64 }, ptr %3, align 8 %7 = extractvalue { ptr, i64 } %6, 0 %8 = getelementptr inbounds i8, ptr %7, i64 0 %9 = insertvalue { ptr, i64 } poison, ptr %8, 0 %10 = insertvalue { ptr, i64 } %9, i64 %5, 1 ret { ptr, i64 } %10 } ; Function Attrs: noreturn nounwind uwtable cold define internal fastcc void @debug.panicImpl(ptr align 8 readonly %0, ptr align 8 readonly nonnull %1, ptr align 1 readonly nonnull %2, i64 %3) unnamed_addr #1 { 4: %5 = alloca [16 x i8], align 8 %6 = alloca [8 x i8], align 8 %7 = alloca [16 x i8], align 8 %8 = alloca [4 x i8], align 4 %9 = alloca [4 x i8], align 4 %10 = alloca [4 x i8], align 4 %11 = alloca [4 x i8], align 4 %12 = alloca [4 x i8], align 4 %13 = alloca [16 x i8], align 8 %14 = alloca [8 x i8], align 8 %15 = alloca [16 x i8], align 8 %16 = alloca [4 x i8], align 4 %17 = alloca [16 x i8], align 8 %18 = alloca [16 x i8], align 8 %19 = alloca [8 x i8], align 8 %20 = alloca [16 x i8], align 8 %21 = alloca [4 x i8], align 4 %22 = alloca [8 x i8], align 8 %23 = alloca [4 x i8], align 4 %24 = alloca [4 x i8], align 4 %25 = alloca [4 x i8], align 4 %26 = alloca [4 x i8], align 4 %27 = insertvalue { ptr, i64 } poison, ptr %2, 0 %28 = insertvalue { ptr, i64 } %27, i64 %3, 1 %29 = load i64, ptr getelementptr inbounds (i8, ptr @debug.panic_stage, i64 0), align 8 switch i64 %29, label %31 [ i64 0, label %32 i64 1, label %59 ] 30: call fastcc void @posix.abort() unreachable 31: br label %30 32: store i64 1, ptr getelementptr inbounds (i8, ptr @debug.panic_stage, i64 0), align 8 %33 = atomicrmw add ptr getelementptr inbounds (i8, ptr @debug.panicking, i64 0), i8 1 seq_cst, align 1 call fastcc void @debug.lockStdErr() call fastcc void @io.getStdErr(ptr sret(%fs.File) %26) call void @llvm.memcpy.p0.p0.i64(ptr align 4 %25, ptr align 4 %26, i64 4, i1 false) call fastcc void @fs.File.writer(ptr sret(%"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))") %24, ptr align 4 readonly nonnull %25) call void @llvm.memcpy.p0.p0.i64(ptr align 4 %23, ptr align 4 %24, i64 4, i1 false) %34 = call fastcc i64 @Thread.getCurrentId() %35 = getelementptr inbounds { i64 }, ptr %22, i32 0, i32 0 store i64 %34, ptr %35, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 4 %21, ptr align 4 %23, i64 4, i1 false) %36 = getelementptr inbounds %io.Writer, ptr %20, i32 0, i32 0 store ptr %21, ptr %19, align 8 %37 = load ptr, ptr %19, align 8 %38 = getelementptr inbounds %"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))", ptr %37, i32 0, i32 0 store ptr %38, ptr %36, align 8 %39 = getelementptr inbounds %io.Writer, ptr %20, i32 0, i32 1 store ptr getelementptr inbounds (i8, ptr @"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write')).typeErasedWriteFn", i64 0), ptr %39, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %18, ptr align 8 %20, i64 16, i1 false) %40 = call fastcc i16 @io.Writer.print__anon_4004(ptr align 8 readonly nonnull %18, ptr align 8 readonly nonnull %22) %41 = icmp eq i16 %40, 0 br i1 %41, label %50, label %51 42: %43 = getelementptr inbounds { { ptr, i64 } }, ptr %17, i32 0, i32 0 store { ptr, i64 } %28, ptr %43, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 4 %16, ptr align 4 %23, i64 4, i1 false) %44 = getelementptr inbounds %io.Writer, ptr %15, i32 0, i32 0 store ptr %16, ptr %14, align 8 %45 = load ptr, ptr %14, align 8 %46 = getelementptr inbounds %"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))", ptr %45, i32 0, i32 0 store ptr %46, ptr %44, align 8 %47 = getelementptr inbounds %io.Writer, ptr %15, i32 0, i32 1 store ptr getelementptr inbounds (i8, ptr @"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write')).typeErasedWriteFn", i64 0), ptr %47, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %13, ptr align 8 %15, i64 16, i1 false) %48 = call fastcc i16 @io.Writer.print__anon_4005(ptr align 8 readonly nonnull %13, ptr align 8 readonly nonnull %17) %49 = icmp eq i16 %48, 0 br i1 %49, label %54, label %55 50: br label %42 51: call fastcc void @posix.abort() unreachable 52: %53 = icmp ne ptr %0, null br i1 %53, label %57, label %58 54: br label %52 55: call fastcc void @posix.abort() unreachable 56: call fastcc void @debug.dumpCurrentStackTrace(ptr align 8 readonly nonnull %1) call fastcc void @debug.unlockStdErr() call fastcc void @debug.waitForOtherThreadToFinishPanicking() br label %30 57: call fastcc void @debug.dumpStackTrace(ptr align 8 readonly nonnull %0) br label %56 58: br label %56 59: store i64 2, ptr getelementptr inbounds (i8, ptr @debug.panic_stage, i64 0), align 8 call fastcc void @io.getStdErr(ptr sret(%fs.File) %12) call void @llvm.memcpy.p0.p0.i64(ptr align 4 %11, ptr align 4 %12, i64 4, i1 false) call fastcc void @fs.File.writer(ptr sret(%"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))") %10, ptr align 4 readonly nonnull %11) call void @llvm.memcpy.p0.p0.i64(ptr align 4 %9, ptr align 4 %10, i64 4, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 4 %8, ptr align 4 %9, i64 4, i1 false) %60 = getelementptr inbounds %io.Writer, ptr %7, i32 0, i32 0 store ptr %8, ptr %6, align 8 %61 = load ptr, ptr %6, align 8 %62 = getelementptr inbounds %"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))", ptr %61, i32 0, i32 0 store ptr %62, ptr %60, align 8 %63 = getelementptr inbounds %io.Writer, ptr %7, i32 0, i32 1 store ptr getelementptr inbounds (i8, ptr @"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write')).typeErasedWriteFn", i64 0), ptr %63, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %7, i64 16, i1 false) %64 = call fastcc i16 @io.Writer.print__anon_4006(ptr align 8 readonly nonnull %5) %65 = icmp eq i16 %64, 0 br i1 %65, label %67, label %68 66: br label %30 67: br label %66 68: call fastcc void @posix.abort() unreachable } ; Function Attrs: nounwind uwtable define internal fastcc i64 @Thread.getCurrentId() unnamed_addr #0 { 0: %1 = call fastcc i64 @Thread.PosixThreadImpl.getCurrentId() ret i64 %1 } ; Function Attrs: nounwind uwtable define internal fastcc void @Thread.Mutex.lock(ptr align 4 nonnull %0) unnamed_addr #0 { 1: %2 = alloca [8 x i8], align 8 store ptr %0, ptr %2, align 8 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds %Thread.Mutex, ptr %3, i32 0, i32 0 call fastcc void @Thread.Mutex.DarwinImpl.lock(ptr align 4 nonnull %4) ret void } ; Function Attrs: nounwind uwtable define internal fastcc void @debug.assert(i1 %0) unnamed_addr #0 { 1: %2 = xor i1 %0, true br i1 %2, label %4, label %5 3: ret void 4: unreachable 5: br label %3 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @Progress.write(ptr align 1 readonly nonnull %0, i64 %1) unnamed_addr #0 { 2: %3 = insertvalue { ptr, i64 } poison, ptr %0, 0 %4 = insertvalue { ptr, i64 } %3, i64 %1, 1 %5 = extractvalue { ptr, i64 } %4, 0 %6 = extractvalue { ptr, i64 } %4, 1 %7 = call fastcc i16 @fs.File.writeAll(ptr align 4 readonly nonnull getelementptr inbounds (i8, ptr @Progress.global_progress, i64 96), ptr align 1 readonly nonnull %5, i64 %6) %8 = icmp ne i16 %7, 0 br i1 %8, label %9, label %10 9: ret i16 %7 10: ret i16 0 } ; Function Attrs: nounwind speculatable willreturn nofree nosync nocallback memory(none) declare i64 @llvm.umin.i64(i64 %0, i64 %1) #5 ; Function Attrs: nounwind uwtable declare i64 @write(i32 %0, ptr align 1 readonly nonnull %1, i64 %2) #0 ; Function Attrs: nounwind uwtable define internal fastcc i16 @posix.errno__anon_3734(i64 %0) unnamed_addr #0 { 1: %2 = icmp eq i64 %0, -1 br i1 %2, label %5, label %9 3: %4 = phi i16 [ %8, %5 ], [ 0, %9 ] ret i16 %4 5: %6 = call ptr @__error() %7 = load i32, ptr %6, align 4 %8 = trunc i32 %7 to i16 br label %3 9: br label %3 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @posix.unexpectedErrno(i16 %0) unnamed_addr #0 { 1: ret i16 16 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.formatValue__anon_3979(ptr align 8 readonly nonnull %0, ptr align 8 readonly nonnull %1) unnamed_addr #0 { 2: %3 = call fastcc i16 @fmt.formatIntValue__anon_4007(ptr align 8 readonly nonnull %0, ptr align 8 readonly nonnull %1) ret i16 %3 } ; Function Attrs: nounwind uwtable define internal fastcc void @io.Writer.write(ptr noalias sret({ i64, i16, [6 x i8] }) nonnull %0, ptr align 8 readonly nonnull %1, ptr align 1 readonly nonnull %2, i64 %3) unnamed_addr #0 { 4: %5 = alloca [16 x i8], align 8 %6 = alloca [16 x i8], align 8 %7 = insertvalue { ptr, i64 } poison, ptr %2, 0 %8 = insertvalue { ptr, i64 } %7, i64 %3, 1 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %1, i64 16, i1 false) %9 = getelementptr inbounds %io.Writer, ptr %6, i32 0, i32 1 %10 = load ptr, ptr %9, align 8 %11 = getelementptr inbounds %io.Writer, ptr %1, i32 0, i32 0 %12 = load ptr, ptr %11, align 8 %13 = extractvalue { ptr, i64 } %8, 0 %14 = extractvalue { ptr, i64 } %8, 1 call fastcc void %10(ptr sret({ i64, i16, [6 x i8] }) %5, ptr align 1 readonly nonnull %12, ptr align 1 readonly nonnull %13, i64 %14) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %5, i64 16, i1 false) ret void } ; Function Attrs: nounwind uwtable define internal fastcc void @Thread.Mutex.unlock(ptr align 4 nonnull %0) unnamed_addr #0 { 1: %2 = alloca [8 x i8], align 8 store ptr %0, ptr %2, align 8 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds %Thread.Mutex, ptr %3, i32 0, i32 0 call fastcc void @Thread.Mutex.DarwinImpl.unlock(ptr align 4 nonnull %4) ret void } ; Function Attrs: nounwind uwtable define internal fastcc void @"io.fixed_buffer_stream.FixedBufferStream([]u8).write"(ptr noalias sret({ i64, i16, [6 x i8] }) nonnull %0, ptr align 8 nonnull %1, ptr align 1 readonly nonnull %2, i64 %3) unnamed_addr #0 { 4: %5 = alloca [8 x i8], align 8 %6 = alloca [16 x i8], align 8 %7 = alloca [8 x i8], align 8 %8 = insertvalue { ptr, i64 } poison, ptr %2, 0 %9 = insertvalue { ptr, i64 } %8, i64 %3, 1 %10 = extractvalue { ptr, i64 } %9, 1 %11 = icmp eq i64 %10, 0 br i1 %11, label %19, label %20 12: %13 = getelementptr inbounds %"io.fixed_buffer_stream.FixedBufferStream([]u8)", ptr %1, i32 0, i32 1 %14 = load i64, ptr %13, align 8 %15 = getelementptr inbounds %"io.fixed_buffer_stream.FixedBufferStream([]u8)", ptr %1, i32 0, i32 0 %16 = load { ptr, i64 }, ptr %15, align 8 %17 = extractvalue { ptr, i64 } %16, 1 %18 = icmp uge i64 %14, %17 br i1 %18, label %52, label %53 19: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @22, i64 16, i1 false) ret void 20: br label %12 21: %22 = getelementptr inbounds %"io.fixed_buffer_stream.FixedBufferStream([]u8)", ptr %1, i32 0, i32 0 %23 = load { ptr, i64 }, ptr %22, align 8 %24 = extractvalue { ptr, i64 } %23, 1 %25 = getelementptr inbounds %"io.fixed_buffer_stream.FixedBufferStream([]u8)", ptr %1, i32 0, i32 1 %26 = load i64, ptr %25, align 8 %27 = sub nuw i64 %24, %26 %28 = extractvalue { ptr, i64 } %9, 1 %29 = call i64 @llvm.umin.i64(i64 %27, i64 %28) store ptr %1, ptr %7, align 8 %30 = load ptr, ptr %7, align 8 %31 = getelementptr inbounds %"io.fixed_buffer_stream.FixedBufferStream([]u8)", ptr %30, i32 0, i32 0 %32 = getelementptr inbounds %"io.fixed_buffer_stream.FixedBufferStream([]u8)", ptr %1, i32 0, i32 1 %33 = load i64, ptr %32, align 8 %34 = load { ptr, i64 }, ptr %31, align 8 %35 = extractvalue { ptr, i64 } %34, 0 %36 = getelementptr inbounds i8, ptr %35, i64 %33 %37 = insertvalue { ptr, i64 } poison, ptr %36, 0 %38 = insertvalue { ptr, i64 } %37, i64 %29, 1 store { ptr, i64 } %9, ptr %6, align 8 %39 = load { ptr, i64 }, ptr %6, align 8 %40 = extractvalue { ptr, i64 } %39, 0 %41 = getelementptr inbounds i8, ptr %40, i64 0 %42 = insertvalue { ptr, i64 } poison, ptr %41, 0 %43 = insertvalue { ptr, i64 } %42, i64 %29, 1 %44 = extractvalue { ptr, i64 } %43, 0 %45 = extractvalue { ptr, i64 } %38, 1 %46 = extractvalue { ptr, i64 } %38, 0 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %46, ptr align 1 %44, i64 %45, i1 false) store ptr %1, ptr %5, align 8 %47 = load ptr, ptr %5, align 8 %48 = getelementptr inbounds %"io.fixed_buffer_stream.FixedBufferStream([]u8)", ptr %47, i32 0, i32 1 %49 = load i64, ptr %48, align 8 %50 = add nuw i64 %49, %29 store i64 %50, ptr %48, align 8 %51 = icmp eq i64 %29, 0 br i1 %51, label %57, label %58 52: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @23, i64 16, i1 false) ret void 53: br label %21 54: %55 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %0, i32 0, i32 1 store i16 0, ptr %55, align 2 %56 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %0, i32 0, i32 0 store i64 %29, ptr %56, align 8 ret void 57: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @23, i64 16, i1 false) ret void 58: br label %54 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.formatBuf__anon_3980(ptr align 1 readonly nonnull %0, i64 %1, ptr align 8 readonly nonnull %2, ptr align 8 readonly nonnull %3) unnamed_addr #0 { 4: %5 = alloca [16 x i8], align 8 %6 = alloca [16 x i8], align 8 %7 = alloca [16 x i8], align 8 %8 = alloca [16 x i8], align 8 %9 = alloca [16 x i8], align 8 %10 = alloca [16 x i8], align 8 %11 = alloca [16 x i8], align 8 %12 = alloca [16 x i8], align 8 %13 = alloca [16 x i8], align 8 %14 = alloca [4 x i8], align 2 %15 = alloca [4 x i8], align 1 %16 = alloca [16 x i8], align 8 %17 = alloca [16 x i8], align 8 %18 = alloca [16 x i8], align 8 %19 = insertvalue { ptr, i64 } poison, ptr %0, 0 %20 = insertvalue { ptr, i64 } %19, i64 %1, 1 %21 = getelementptr inbounds %fmt.FormatOptions, ptr %2, i32 0, i32 1 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %18, ptr align 8 %21, i64 16, i1 false) %22 = getelementptr inbounds { i64, i8, [7 x i8] }, ptr %18, i32 0, i32 1 %23 = load i8, ptr %22 %24 = icmp ne i8 %23, 0 br i1 %24, label %26, label %34 25: ret i16 0 26: %27 = getelementptr inbounds { i64, i8, [7 x i8] }, ptr %18, i32 0, i32 0 %28 = load i64, ptr %27, align 8 %29 = extractvalue { ptr, i64 } %20, 0 %30 = extractvalue { ptr, i64 } %20, 1 call fastcc void @unicode.utf8CountCodepoints(ptr sret({ i64, i16, [6 x i8] }) %17, ptr align 1 readonly nonnull %29, i64 %30) %31 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %17, i32 0, i32 1 %32 = load i16, ptr %31 %33 = icmp eq i16 %32, 0 br i1 %33, label %42, label %45 34: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %3, i64 16, i1 false) %35 = extractvalue { ptr, i64 } %20, 0 %36 = extractvalue { ptr, i64 } %20, 1 %37 = call fastcc i16 @io.Writer.writeAll(ptr align 8 readonly nonnull %5, ptr align 1 readonly nonnull %35, i64 %36) %38 = icmp ne i16 %37, 0 br i1 %38, label %138, label %139 39: %40 = phi i64 [ %44, %42 ], [ %46, %45 ] %41 = icmp ult i64 %40, %28 br i1 %41, label %50, label %52 42: %43 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %17, i32 0, i32 0 %44 = load i64, ptr %43, align 8 br label %39 45: %46 = extractvalue { ptr, i64 } %20, 1 br label %39 47: %48 = phi i64 [ %51, %50 ], [ 0, %52 ] %49 = icmp eq i64 %48, 0 br i1 %49, label %65, label %69 50: %51 = sub nuw i64 %28, %40 br label %47 52: br label %47 53: call void @llvm.memset.p0.i64(ptr align 1 %15, i8 undef, i64 4, i1 false) %54 = getelementptr inbounds %fmt.FormatOptions, ptr %2, i32 0, i32 2 %55 = load i32, ptr %54, align 4 %56 = trunc i32 %55 to i21 %57 = getelementptr inbounds [4 x i8], ptr %15, i64 0, i64 0 %58 = insertvalue { ptr, i64 } poison, ptr %57, 0 %59 = insertvalue { ptr, i64 } %58, i64 4, 1 %60 = extractvalue { ptr, i64 } %59, 0 %61 = extractvalue { ptr, i64 } %59, 1 call fastcc void @unicode.utf8Encode(ptr sret({ i16, i3, [1 x i8] }) %14, i21 %56, ptr align 1 nonnull %60, i64 %61) %62 = getelementptr inbounds { i16, i3, [1 x i8] }, ptr %14, i32 0, i32 0 %63 = load i16, ptr %62 %64 = icmp eq i16 %63, 0 br i1 %64, label %75, label %83 65: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %16, ptr align 8 %3, i64 16, i1 false) %66 = extractvalue { ptr, i64 } %20, 0 %67 = extractvalue { ptr, i64 } %20, 1 %68 = call fastcc i16 @io.Writer.writeAll(ptr align 8 readonly nonnull %16, ptr align 1 readonly nonnull %66, i64 %67) ret i16 %68 69: br label %53 70: %71 = phi { ptr, i64 } [ %82, %75 ], [ { ptr getelementptr inbounds (i8, ptr @__anon_3683, i64 0), i64 3 }, %87 ] %72 = getelementptr inbounds %fmt.FormatOptions, ptr %2, i32 0, i32 3 %73 = load i8, ptr %72, align 1 %74 = trunc i8 %73 to i2 switch i2 %74, label %89 [ i2 0, label %90 i2 1, label %103 i2 -2, label %125 ] 75: %76 = getelementptr inbounds { i16, i3, [1 x i8] }, ptr %14, i32 0, i32 1 %77 = load i3, ptr %76, align 1 %78 = getelementptr inbounds i8, ptr %15, i64 0 %79 = zext i3 %77 to i64 %80 = insertvalue { ptr, i64 } poison, ptr %78, 0 %81 = insertvalue { ptr, i64 } %80, i64 %79, 1 store { ptr, i64 } %81, ptr %13, align 8 %82 = load { ptr, i64 }, ptr %13, align 8 br label %70 83: %84 = getelementptr inbounds { i16, i3, [1 x i8] }, ptr %14, i32 0, i32 0 %85 = load i16, ptr %84 switch i16 %85, label %86 [ i16 25, label %87 i16 26, label %87 ] 86: unreachable 87: br label %70 88: br label %25 89: unreachable 90: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %12, ptr align 8 %3, i64 16, i1 false) %91 = extractvalue { ptr, i64 } %20, 0 %92 = extractvalue { ptr, i64 } %20, 1 %93 = call fastcc i16 @io.Writer.writeAll(ptr align 8 readonly nonnull %12, ptr align 1 readonly nonnull %91, i64 %92) %94 = icmp ne i16 %93, 0 br i1 %94, label %95, label %96 95: ret i16 %93 96: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11, ptr align 8 %3, i64 16, i1 false) %97 = extractvalue { ptr, i64 } %71, 0 %98 = extractvalue { ptr, i64 } %71, 1 %99 = call fastcc i16 @io.Writer.writeBytesNTimes(ptr align 8 readonly nonnull %11, ptr align 1 readonly nonnull %97, i64 %98, i64 %48) %100 = icmp ne i16 %99, 0 br i1 %100, label %101, label %102 101: ret i16 %99 102: br label %88 103: %104 = udiv i64 %48, 2 %105 = add nuw i64 %48, 1 %106 = udiv i64 %105, 2 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %3, i64 16, i1 false) %107 = extractvalue { ptr, i64 } %71, 0 %108 = extractvalue { ptr, i64 } %71, 1 %109 = call fastcc i16 @io.Writer.writeBytesNTimes(ptr align 8 readonly nonnull %10, ptr align 1 readonly nonnull %107, i64 %108, i64 %104) %110 = icmp ne i16 %109, 0 br i1 %110, label %111, label %112 111: ret i16 %109 112: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %3, i64 16, i1 false) %113 = extractvalue { ptr, i64 } %20, 0 %114 = extractvalue { ptr, i64 } %20, 1 %115 = call fastcc i16 @io.Writer.writeAll(ptr align 8 readonly nonnull %9, ptr align 1 readonly nonnull %113, i64 %114) %116 = icmp ne i16 %115, 0 br i1 %116, label %117, label %118 117: ret i16 %115 118: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %3, i64 16, i1 false) %119 = extractvalue { ptr, i64 } %71, 0 %120 = extractvalue { ptr, i64 } %71, 1 %121 = call fastcc i16 @io.Writer.writeBytesNTimes(ptr align 8 readonly nonnull %8, ptr align 1 readonly nonnull %119, i64 %120, i64 %106) %122 = icmp ne i16 %121, 0 br i1 %122, label %123, label %124 123: ret i16 %121 124: br label %88 125: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %3, i64 16, i1 false) %126 = extractvalue { ptr, i64 } %71, 0 %127 = extractvalue { ptr, i64 } %71, 1 %128 = call fastcc i16 @io.Writer.writeBytesNTimes(ptr align 8 readonly nonnull %7, ptr align 1 readonly nonnull %126, i64 %127, i64 %48) %129 = icmp ne i16 %128, 0 br i1 %129, label %130, label %131 130: ret i16 %128 131: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %3, i64 16, i1 false) %132 = extractvalue { ptr, i64 } %20, 0 %133 = extractvalue { ptr, i64 } %20, 1 %134 = call fastcc i16 @io.Writer.writeAll(ptr align 8 readonly nonnull %6, ptr align 1 readonly nonnull %132, i64 %133) %135 = icmp ne i16 %134, 0 br i1 %135, label %136, label %137 136: ret i16 %134 137: br label %88 138: ret i16 %37 139: br label %25 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @io.Writer.print__anon_4004(ptr align 8 readonly nonnull %0, ptr align 8 readonly nonnull %1) unnamed_addr #0 { 2: %3 = call fastcc i16 @fmt.format__anon_4018(ptr align 8 readonly nonnull %0, ptr align 8 readonly nonnull %1) ret i16 %3 } ; Function Attrs: noreturn nounwind uwtable cold define internal fastcc void @posix.abort() unnamed_addr #1 { 0: call void @abort() unreachable } ; Function Attrs: nounwind uwtable define internal fastcc i16 @io.Writer.print__anon_4005(ptr align 8 readonly nonnull %0, ptr align 8 readonly nonnull %1) unnamed_addr #0 { 2: %3 = call fastcc i16 @fmt.format__anon_4019(ptr align 8 readonly nonnull %0, ptr align 8 readonly nonnull %1) ret i16 %3 } ; Function Attrs: nounwind uwtable define internal fastcc void @debug.dumpStackTrace(ptr align 8 readonly nonnull %0) unnamed_addr #0 { 1: %2 = alloca [16 x i8], align 8 %3 = alloca [8 x i8], align 8 %4 = alloca [16 x i8], align 8 %5 = alloca [4 x i8], align 4 %6 = alloca [4 x i8], align 4 %7 = alloca [4 x i8], align 4 %8 = alloca [4 x i8], align 4 %9 = alloca [4 x i8], align 4 call fastcc void @io.getStdErr(ptr sret(%fs.File) %9) call void @llvm.memcpy.p0.p0.i64(ptr align 4 %8, ptr align 4 %9, i64 4, i1 false) call fastcc void @fs.File.writer(ptr sret(%"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))") %7, ptr align 4 readonly nonnull %8) call void @llvm.memcpy.p0.p0.i64(ptr align 4 %6, ptr align 4 %7, i64 4, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 4 %5, ptr align 4 %6, i64 4, i1 false) %10 = getelementptr inbounds %io.Writer, ptr %4, i32 0, i32 0 store ptr %5, ptr %3, align 8 %11 = load ptr, ptr %3, align 8 %12 = getelementptr inbounds %"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))", ptr %11, i32 0, i32 0 store ptr %12, ptr %10, align 8 %13 = getelementptr inbounds %io.Writer, ptr %4, i32 0, i32 1 store ptr getelementptr inbounds (i8, ptr @"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write')).typeErasedWriteFn", i64 0), ptr %13, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2, ptr align 8 %4, i64 16, i1 false) %14 = call fastcc i16 @io.Writer.print__anon_4020(ptr align 8 readonly nonnull %2) %15 = icmp eq i16 %14, 0 br i1 %15, label %17, label %18 16: ret void 17: br label %16 18: ret void } ; Function Attrs: nounwind uwtable define internal fastcc void @debug.dumpCurrentStackTrace(ptr align 8 readonly nonnull %0) unnamed_addr #0 { 1: %2 = alloca [16 x i8], align 8 %3 = alloca [8 x i8], align 8 %4 = alloca [16 x i8], align 8 %5 = alloca [4 x i8], align 4 %6 = alloca [4 x i8], align 4 %7 = alloca [4 x i8], align 4 %8 = alloca [4 x i8], align 4 %9 = alloca [4 x i8], align 4 call fastcc void @io.getStdErr(ptr sret(%fs.File) %9) call void @llvm.memcpy.p0.p0.i64(ptr align 4 %8, ptr align 4 %9, i64 4, i1 false) call fastcc void @fs.File.writer(ptr sret(%"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))") %7, ptr align 4 readonly nonnull %8) call void @llvm.memcpy.p0.p0.i64(ptr align 4 %6, ptr align 4 %7, i64 4, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 4 %5, ptr align 4 %6, i64 4, i1 false) %10 = getelementptr inbounds %io.Writer, ptr %4, i32 0, i32 0 store ptr %5, ptr %3, align 8 %11 = load ptr, ptr %3, align 8 %12 = getelementptr inbounds %"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write'))", ptr %11, i32 0, i32 0 store ptr %12, ptr %10, align 8 %13 = getelementptr inbounds %io.Writer, ptr %4, i32 0, i32 1 store ptr getelementptr inbounds (i8, ptr @"io.GenericWriter(fs.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write')).typeErasedWriteFn", i64 0), ptr %13, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2, ptr align 8 %4, i64 16, i1 false) %14 = call fastcc i16 @io.Writer.print__anon_4020(ptr align 8 readonly nonnull %2) %15 = icmp eq i16 %14, 0 br i1 %15, label %17, label %18 16: ret void 17: br label %16 18: ret void } ; Function Attrs: nounwind uwtable define internal fastcc void @debug.waitForOtherThreadToFinishPanicking() unnamed_addr #0 { 0: %1 = alloca [4 x i8], align 4 %2 = alloca [4 x i8], align 4 %3 = atomicrmw sub ptr getelementptr inbounds (i8, ptr @debug.panicking, i64 0), i8 1 seq_cst, align 1 %4 = icmp ne i8 %3, 1 br i1 %4, label %6, label %7 5: ret void 6: call fastcc void @"atomic.Value(u32).init"(ptr sret(%"atomic.Value(u32)") %1, i32 0) call void @llvm.memcpy.p0.p0.i64(ptr align 4 %2, ptr align 4 %1, i64 4, i1 false) br label %8 7: br label %5 8: call fastcc void @Thread.Futex.wait(ptr align 4 readonly nonnull %2, i32 0) br label %8 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @io.Writer.print__anon_4006(ptr align 8 readonly nonnull %0) unnamed_addr #0 { 1: %2 = call fastcc i16 @fmt.format__anon_4050(ptr align 8 readonly nonnull %0) ret i16 %2 } ; Function Attrs: nounwind uwtable define internal fastcc i64 @Thread.PosixThreadImpl.getCurrentId() unnamed_addr #0 { 0: %1 = alloca [8 x i8], align 8 call void @llvm.memset.p0.i64(ptr align 8 %1, i8 undef, i64 8, i1 false) %2 = call i32 @pthread_threadid_np(ptr align 1 null, ptr align 8 nonnull %1) %3 = icmp eq i32 %2, 0 call fastcc void @debug.assert(i1 %3) %4 = load i64, ptr %1, align 8 ret i64 %4 } ; Function Attrs: nounwind uwtable define internal fastcc void @Thread.Mutex.DarwinImpl.lock(ptr align 4 nonnull %0) unnamed_addr #0 { 1: %2 = alloca [8 x i8], align 8 store ptr %0, ptr %2, align 8 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds %Thread.Mutex.DarwinImpl, ptr %3, i32 0, i32 0 call void @os_unfair_lock_lock(ptr align 4 nonnull %4) ret void } ; Function Attrs: nounwind uwtable define internal fastcc i16 @fs.File.writeAll(ptr align 4 readonly nonnull %0, ptr align 1 readonly nonnull %1, i64 %2) unnamed_addr #0 { 3: %4 = alloca [16 x i8], align 8 %5 = alloca [16 x i8], align 8 %6 = alloca [4 x i8], align 4 %7 = alloca [4 x i8], align 4 %8 = alloca [8 x i8], align 8 %9 = insertvalue { ptr, i64 } poison, ptr %1, 0 %10 = insertvalue { ptr, i64 } %9, i64 %2, 1 store i64 0, ptr %8, align 8 br label %12 11: ret i16 0 12: %13 = load i64, ptr %8, align 8 %14 = extractvalue { ptr, i64 } %10, 1 %15 = icmp ult i64 %13, %14 br i1 %15, label %17, label %32 16: br label %12 17: %18 = load i64, ptr %8, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 4 %7, ptr align 4 %0, i64 4, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr align 4 %6, ptr align 4 %7, i64 4, i1 false) store { ptr, i64 } %10, ptr %5, align 8 %19 = load i64, ptr %8, align 8 %20 = load { ptr, i64 }, ptr %5, align 8 %21 = extractvalue { ptr, i64 } %20, 0 %22 = getelementptr inbounds i8, ptr %21, i64 %19 %23 = extractvalue { ptr, i64 } %20, 1 %24 = sub nuw i64 %23, %19 %25 = insertvalue { ptr, i64 } poison, ptr %22, 0 %26 = insertvalue { ptr, i64 } %25, i64 %24, 1 %27 = extractvalue { ptr, i64 } %26, 0 %28 = extractvalue { ptr, i64 } %26, 1 call fastcc void @fs.File.write(ptr sret({ i64, i16, [6 x i8] }) %4, ptr align 4 readonly nonnull %6, ptr align 1 readonly nonnull %27, i64 %28) %29 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %4, i32 0, i32 1 %30 = load i16, ptr %29 %31 = icmp ne i16 %30, 0 br i1 %31, label %33, label %36 32: br label %11 33: %34 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %4, i32 0, i32 1 %35 = load i16, ptr %34 ret i16 %35 36: %37 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %4, i32 0, i32 0 %38 = load i64, ptr %37, align 8 %39 = add nuw i64 %18, %38 store i64 %39, ptr %8, align 8 br label %16 } ; Function Attrs: nounwind uwtable define internal fastcc void @unicode.utf8ByteSequenceLength(ptr noalias sret({ i16, i3, [1 x i8] }) nonnull %0, i8 %1) unnamed_addr #0 { 2: switch i8 %1, label %5 [ ] 3: %4 = phi ptr [ @16, %9 ], [ @17, %14 ], [ @18, %19 ], [ @19, %24 ], [ @20, %25 ] call void @llvm.memcpy.p0.p0.i64(ptr align 2 %0, ptr align 2 %4, i64 4, i1 false) ret void 5: %6 = icmp uge i8 %1, 0 %7 = icmp ule i8 %1, 127 %8 = and i1 %6, %7 br i1 %8, label %9, label %10 9: br label %3 10: %11 = icmp uge i8 %1, -64 %12 = icmp ule i8 %1, -33 %13 = and i1 %11, %12 br i1 %13, label %14, label %15 14: br label %3 15: %16 = icmp uge i8 %1, -32 %17 = icmp ule i8 %1, -17 %18 = and i1 %16, %17 br i1 %18, label %19, label %20 19: br label %3 20: %21 = icmp uge i8 %1, -16 %22 = icmp ule i8 %1, -9 %23 = and i1 %21, %22 br i1 %23, label %24, label %25 24: br label %3 25: br label %3 } ; Function Attrs: nounwind uwtable define internal fastcc void @unicode.utf8CountCodepoints(ptr noalias sret({ i64, i16, [6 x i8] }) nonnull %0, ptr align 1 readonly nonnull %1, i64 %2) unnamed_addr #0 { 3: %4 = alloca [8 x i8], align 4 %5 = alloca [16 x i8], align 8 %6 = alloca [4 x i8], align 2 %7 = alloca [16 x i8], align 8 %8 = alloca [8 x i8], align 8 %9 = alloca [8 x i8], align 8 %10 = insertvalue { ptr, i64 } poison, ptr %1, 0 %11 = insertvalue { ptr, i64 } %10, i64 %2, 1 store i64 0, ptr %9, align 8 store i64 0, ptr %8, align 8 br label %16 12: %13 = load i64, ptr %9, align 8 %14 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %0, i32 0, i32 1 store i16 0, ptr %14, align 2 %15 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %0, i32 0, i32 0 store i64 %13, ptr %15, align 8 ret void 16: %17 = load i64, ptr %8, align 8 %18 = extractvalue { ptr, i64 } %11, 1 %19 = icmp ult i64 %17, %18 br i1 %19, label %21, label %22 20: br label %16 21: br label %27 22: br label %12 23: %24 = load i64, ptr %8, align 8 %25 = extractvalue { ptr, i64 } %11, 1 %26 = icmp ult i64 %24, %25 br i1 %26, label %50, label %58 27: %28 = load i64, ptr %8, align 8 %29 = add nuw i64 %28, 8 %30 = extractvalue { ptr, i64 } %11, 1 %31 = icmp ule i64 %29, %30 br i1 %31, label %33, label %41 32: br label %27 33: store { ptr, i64 } %11, ptr %7, align 8 %34 = load i64, ptr %8, align 8 %35 = load { ptr, i64 }, ptr %7, align 8 %36 = extractvalue { ptr, i64 } %35, 0 %37 = getelementptr inbounds i8, ptr %36, i64 %34 %38 = load i64, ptr %37, align 1 %39 = and i64 %38, -9187201950435737472 %40 = icmp ne i64 %39, 0 br i1 %40, label %47, label %48 41: br label %23 42: %43 = load i64, ptr %9, align 8 %44 = add nuw i64 %43, 8 store i64 %44, ptr %9, align 8 %45 = load i64, ptr %8, align 8 %46 = add nuw i64 %45, 8 store i64 %46, ptr %8, align 8 br label %32 47: br label %23 48: br label %42 49: br label %20 50: %51 = load i64, ptr %8, align 8 %52 = extractvalue { ptr, i64 } %11, 0 %53 = getelementptr inbounds i8, ptr %52, i64 %51 %54 = load i8, ptr %53, align 1 call fastcc void @unicode.utf8ByteSequenceLength(ptr sret({ i16, i3, [1 x i8] }) %6, i8 %54) %55 = getelementptr inbounds { i16, i3, [1 x i8] }, ptr %6, i32 0, i32 0 %56 = load i16, ptr %55 %57 = icmp ne i16 %56, 0 br i1 %57, label %59, label %64 58: br label %49 59: %60 = getelementptr inbounds { i16, i3, [1 x i8] }, ptr %6, i32 0, i32 0 %61 = load i16, ptr %60 %62 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %0, i32 0, i32 1 store i16 %61, ptr %62, align 2 %63 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %0, i32 0, i32 0 ret void 64: %65 = getelementptr inbounds { i16, i3, [1 x i8] }, ptr %6, i32 0, i32 1 %66 = load i3, ptr %65, align 1 %67 = load i64, ptr %8, align 8 %68 = zext i3 %66 to i64 %69 = add nuw i64 %67, %68 %70 = extractvalue { ptr, i64 } %11, 1 %71 = icmp ugt i64 %69, %70 br i1 %71, label %73, label %74 72: switch i3 %66, label %81 [ i3 1, label %94 ] 73: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 @21, i64 16, i1 false) ret void 74: br label %72 75: %76 = load i64, ptr %8, align 8 %77 = zext i3 %66 to i64 %78 = add nuw i64 %76, %77 store i64 %78, ptr %8, align 8 %79 = load i64, ptr %9, align 8 %80 = add nuw i64 %79, 1 store i64 %80, ptr %9, align 8 br label %49 81: store { ptr, i64 } %11, ptr %5, align 8 %82 = load i64, ptr %8, align 8 %83 = load { ptr, i64 }, ptr %5, align 8 %84 = extractvalue { ptr, i64 } %83, 0 %85 = getelementptr inbounds i8, ptr %84, i64 %82 %86 = zext i3 %66 to i64 %87 = insertvalue { ptr, i64 } poison, ptr %85, 0 %88 = insertvalue { ptr, i64 } %87, i64 %86, 1 %89 = extractvalue { ptr, i64 } %88, 0 %90 = extractvalue { ptr, i64 } %88, 1 call fastcc void @unicode.utf8Decode(ptr sret({ i21, i16, [2 x i8] }) %4, ptr align 1 readonly nonnull %89, i64 %90) %91 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %4, i32 0, i32 1 %92 = load i16, ptr %91 %93 = icmp ne i16 %92, 0 br i1 %93, label %95, label %100 94: br label %75 95: %96 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %4, i32 0, i32 1 %97 = load i16, ptr %96 %98 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %0, i32 0, i32 1 store i16 %97, ptr %98, align 2 %99 = getelementptr inbounds { i64, i16, [6 x i8] }, ptr %0, i32 0, i32 0 ret void 100: br label %75 } ; Function Attrs: nounwind uwtable define internal fastcc void @unicode.utf8Decode(ptr noalias sret({ i21, i16, [2 x i8] }) nonnull %0, ptr align 1 readonly nonnull %1, i64 %2) unnamed_addr #0 { 3: %4 = alloca [8 x i8], align 4 %5 = alloca [8 x i8], align 4 %6 = alloca [8 x i8], align 4 %7 = alloca [8 x i8], align 4 %8 = insertvalue { ptr, i64 } poison, ptr %1, 0 %9 = insertvalue { ptr, i64 } %8, i64 %2, 1 %10 = extractvalue { ptr, i64 } %9, 1 switch i64 %10, label %13 [ i64 1, label %14 i64 2, label %21 i64 3, label %24 i64 4, label %27 ] 11: %12 = phi ptr [ %7, %14 ], [ %6, %21 ], [ %5, %24 ], [ %4, %27 ] call void @llvm.memcpy.p0.p0.i64(ptr align 4 %0, ptr align 4 %12, i64 8, i1 false) ret void 13: unreachable 14: %15 = extractvalue { ptr, i64 } %9, 0 %16 = getelementptr inbounds i8, ptr %15, i64 0 %17 = load i8, ptr %16, align 1 %18 = zext i8 %17 to i21 %19 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %7, i32 0, i32 1 store i16 0, ptr %19, align 2 %20 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %7, i32 0, i32 0 store i21 %18, ptr %20, align 4 br label %11 21: %22 = extractvalue { ptr, i64 } %9, 0 %23 = extractvalue { ptr, i64 } %9, 1 call fastcc void @unicode.utf8Decode2(ptr sret({ i21, i16, [2 x i8] }) %6, ptr align 1 readonly nonnull %22, i64 %23) br label %11 24: %25 = extractvalue { ptr, i64 } %9, 0 %26 = extractvalue { ptr, i64 } %9, 1 call fastcc void @unicode.utf8Decode3(ptr sret({ i21, i16, [2 x i8] }) %5, ptr align 1 readonly nonnull %25, i64 %26) br label %11 27: %28 = extractvalue { ptr, i64 } %9, 0 %29 = extractvalue { ptr, i64 } %9, 1 call fastcc void @unicode.utf8Decode4(ptr sret({ i21, i16, [2 x i8] }) %4, ptr align 1 readonly nonnull %28, i64 %29) br label %11 } ; Function Attrs: nounwind uwtable define internal fastcc void @unicode.utf8Encode(ptr noalias sret({ i16, i3, [1 x i8] }) nonnull %0, i21 %1, ptr align 1 nonnull %2, i64 %3) unnamed_addr #0 { 4: %5 = alloca [4 x i8], align 2 %6 = insertvalue { ptr, i64 } poison, ptr %2, 0 %7 = insertvalue { ptr, i64 } %6, i64 %3, 1 %8 = extractvalue { ptr, i64 } %7, 0 %9 = extractvalue { ptr, i64 } %7, 1 call fastcc void @unicode.utf8EncodeImpl__anon_4051(ptr sret({ i16, i3, [1 x i8] }) %5, i21 %1, ptr align 1 nonnull %8, i64 %9) call void @llvm.memcpy.p0.p0.i64(ptr align 2 %0, ptr align 2 %5, i64 4, i1 false) ret void } ; Function Attrs: nounwind uwtable define internal fastcc i16 @io.Writer.writeBytesNTimes(ptr align 8 readonly nonnull %0, ptr align 1 readonly nonnull %1, i64 %2, i64 %3) unnamed_addr #0 { 4: %5 = alloca [16 x i8], align 8 %6 = alloca [8 x i8], align 8 %7 = insertvalue { ptr, i64 } poison, ptr %1, 0 %8 = insertvalue { ptr, i64 } %7, i64 %2, 1 store i64 0, ptr %6, align 8 br label %10 9: ret i16 0 10: %11 = load i64, ptr %6, align 8 %12 = icmp ult i64 %11, %3 br i1 %12, label %14, label %19 13: br label %10 14: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %0, i64 16, i1 false) %15 = extractvalue { ptr, i64 } %8, 0 %16 = extractvalue { ptr, i64 } %8, 1 %17 = call fastcc i16 @io.Writer.writeAll(ptr align 8 readonly nonnull %5, ptr align 1 readonly nonnull %15, i64 %16) %18 = icmp ne i16 %17, 0 br i1 %18, label %20, label %21 19: br label %9 20: ret i16 %17 21: %22 = load i64, ptr %6, align 8 %23 = add nuw i64 %22, 1 store i64 %23, ptr %6, align 8 br label %13 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.formatInt__anon_4016(i16508 %0, i8 %1, i1 %2, ptr align 8 readonly nonnull %3, ptr align 8 readonly nonnull %4) unnamed_addr #0 { 5: %6 = alloca [16 x i8], align 8 %7 = alloca [2 x i8], align 1 %8 = alloca [2 x i8], align 1 %9 = alloca [8 x i8], align 8 %10 = alloca [2064 x i8], align 16 %11 = alloca [16509 x i8], align 1 %12 = icmp uge i8 %1, 2 call fastcc void @debug.assert(i1 %12) call void @llvm.memset.p0.i64(ptr align 1 %11, i8 undef, i64 16509, i1 false) store i16508 %0, ptr %10, align 16 store i64 16509, ptr %9, align 8 %13 = icmp eq i8 %1, 10 br i1 %13, label %24, label %25 14: %15 = load i64, ptr %9, align 8 %16 = getelementptr inbounds i8, ptr %11, i64 %15 %17 = sub nuw i64 16509, %15 %18 = insertvalue { ptr, i64 } poison, ptr %16, 0 %19 = insertvalue { ptr, i64 } %18, i64 %17, 1 store { ptr, i64 } %19, ptr %6, align 8 %20 = load { ptr, i64 }, ptr %6, align 8 %21 = extractvalue { ptr, i64 } %20, 0 %22 = extractvalue { ptr, i64 } %20, 1 %23 = call fastcc i16 @fmt.formatBuf__anon_3980(ptr align 1 readonly nonnull %21, i64 %22, ptr align 8 readonly nonnull %3, ptr align 8 readonly nonnull %4) ret i16 %23 24: br label %30 25: br label %67 26: %27 = load i16512, ptr %10, align 16 %28 = trunc i16512 %27 to i16508 %29 = icmp ult i16508 %28, 10 br i1 %29, label %49, label %58 30: %31 = load i16512, ptr %10, align 16 %32 = trunc i16512 %31 to i16508 %33 = icmp uge i16508 %32, 100 br i1 %33, label %35, label %47 34: br label %30 35: %36 = load i64, ptr %9, align 8 %37 = sub nuw i64 %36, 2 store i64 %37, ptr %9, align 8 %38 = load i64, ptr %9, align 8 %39 = getelementptr inbounds i8, ptr %11, i64 %38 %40 = load i16512, ptr %10, align 16 %41 = trunc i16512 %40 to i16508 %42 = urem i16508 %41, 100 %43 = trunc i16508 %42 to i64 call fastcc void @fmt.digits2(ptr sret([2 x i8]) %8, i64 %43) call void @llvm.memcpy.p0.p0.i64(ptr align 1 %39, ptr align 1 %8, i64 2, i1 false) %44 = load i16512, ptr %10, align 16 %45 = trunc i16512 %44 to i16508 %46 = udiv i16508 %45, 100 store i16508 %46, ptr %10, align 16 br label %34 47: br label %26 48: br label %14 49: %50 = load i64, ptr %9, align 8 %51 = sub nuw i64 %50, 1 store i64 %51, ptr %9, align 8 %52 = load i64, ptr %9, align 8 %53 = getelementptr inbounds [16509 x i8], ptr %11, i64 0, i64 %52 %54 = load i16512, ptr %10, align 16 %55 = trunc i16512 %54 to i16508 %56 = trunc i16508 %55 to i8 %57 = add nuw i8 48, %56 store i8 %57, ptr %53, align 1 br label %48 58: %59 = load i64, ptr %9, align 8 %60 = sub nuw i64 %59, 2 store i64 %60, ptr %9, align 8 %61 = load i64, ptr %9, align 8 %62 = getelementptr inbounds i8, ptr %11, i64 %61 %63 = load i16512, ptr %10, align 16 %64 = trunc i16512 %63 to i16508 %65 = trunc i16508 %64 to i64 call fastcc void @fmt.digits2(ptr sret([2 x i8]) %7, i64 %65) call void @llvm.memcpy.p0.p0.i64(ptr align 1 %62, ptr align 1 %7, i64 2, i1 false) br label %48 66: br label %14 67: %68 = load i16512, ptr %10, align 16 %69 = trunc i16512 %68 to i16508 %70 = zext i8 %1 to i16508 %71 = urem i16508 %69, %70 %72 = load i64, ptr %9, align 8 %73 = sub nuw i64 %72, 1 store i64 %73, ptr %9, align 8 %74 = load i64, ptr %9, align 8 %75 = getelementptr inbounds [16509 x i8], ptr %11, i64 0, i64 %74 %76 = trunc i16508 %71 to i8 %77 = call fastcc i8 @fmt.digitToChar(i8 %76, i1 %2) store i8 %77, ptr %75, align 1 %78 = load i16512, ptr %10, align 16 %79 = trunc i16512 %78 to i16508 %80 = zext i8 %1 to i16508 %81 = udiv i16508 %79, %80 store i16508 %81, ptr %10, align 16 %82 = load i16512, ptr %10, align 16 %83 = trunc i16512 %82 to i16508 %84 = icmp eq i16508 %83, 0 br i1 %84, label %86, label %87 85: br label %67 86: br label %66 87: br label %85 } ; Function Attrs: nounwind uwtable define internal fastcc void @fmt.digits2(ptr noalias sret([2 x i8]) nonnull %0, i64 %1) unnamed_addr #0 { 2: %3 = mul nuw i64 %1, 2 %4 = getelementptr inbounds i8, ptr getelementptr inbounds (i8, ptr @__anon_3790, i64 0), i64 %3 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %0, ptr align 1 %4, i64 2, i1 false) ret void } ; Function Attrs: nounwind uwtable define internal fastcc i8 @fmt.digitToChar(i8 %0, i1 %1) unnamed_addr #0 { 2: switch i8 %0, label %5 [ ] 3: %4 = phi i8 [ %10, %9 ], [ %21, %18 ] ret i8 %4 5: %6 = icmp uge i8 %0, 0 %7 = icmp ule i8 %0, 9 %8 = and i1 %6, %7 br i1 %8, label %9, label %11 9: %10 = add nuw i8 %0, 48 br label %3 11: %12 = icmp uge i8 %0, 10 %13 = icmp ule i8 %0, 35 %14 = and i1 %12, %13 br i1 %14, label %15, label %17 15: %16 = icmp eq i1 %1, true br i1 %16, label %22, label %23 17: unreachable 18: %19 = phi i8 [ 65, %22 ], [ 97, %23 ] %20 = sub nuw i8 %19, 10 %21 = add nuw i8 %0, %20 br label %3 22: br label %18 23: br label %18 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.formatIntValue__anon_4007(ptr align 8 readonly nonnull %0, ptr align 8 readonly nonnull %1) unnamed_addr #0 { 2: %3 = call fastcc i16 @fmt.formatInt__anon_4016(i16508 -10170291864599254685376928579451837474849162567202793202210005589829000001078205320552418457072995021665081016751661498373627049384699318424501181692820593184504087730148641241678808042364595648099335954245308528979249571015745002826186590929629881504912826401439521673436761967613685880371807232457262686567424590031041380673713995838060943073894429776039677102519416452786696299358972088899041919622869132413389847315698310753997445809635163863167518537049953145856120898487515084175003600571605920732046428967026145392827337980304413004181016851665875688004233509871598760500818920715799014335111801474484357883706457620708194488463786749410052154637190792137233742013162514773385877134386262850484887912034511384718707031119901541770568014454622534818196961900563346643897899550007564212094603016505689908364328097828672894286906663226798373444845834693955014696786963085485271317392968218570506297665977171100553475630578002558846609566914043356188967361610411543136798575744314602254384950974207577412792436485393343681447431637237619645239077207141954593409191577470854214214527062603987504056592716485429461337411416260411326122358005905006316691630702571168235469072537497205173435015314507595727846352208189390532350213091213800972487586332217101318593346932069519217231589404890187395493634737698008526992188059185372314824731375396348191019878904912839508442756350390540735539252897915733820543408757569669698347612105479742809551939160392021065832065405409081730683324439021651649491831037679012669450154646742117936765042759895960577820982932866878502251386683008049011770676146352569948875377603710833473891506210586138680283010472789540500225895060555108201701992727326595781983950669964075131259737163476094947430634318943636928287372962645431712200260631668466327845535662057485535837794525134023839265097149357341392598116869488624424785202638945781617525507938417812908847621126603840809577946471124135694835361573590901992187275827560839788808337132342294924890375309400257342009263852446339871433421676949846863282574082039977414219589803793916512909477524042210110800691164503650743380087245557641026211814759138938988902861017910466035027098468734696374409423704953462131615276035702698679732554136720945239658165359508037173360372815496654167204006231237426043465954430397642367117232930610595436866781711749420539266607239120223586178746215762403241013292054006749667406788906806805592302769876093682670642350035696145740990073504781641729792954366610972925522628335087544802633805690233302012159090369683206299864779369074527397582813287667049841022155179568481557777835146467492996478983466483796095978619494437171038193055428615448303476987170979391130540042796021914260857669773809570737629831468265070925527793456242603671249643407962165278914705488149199414094623300052410504342594660990694744188830372516809980695115283847259973757644302706098476458582967338215789704831373221098805862179408470429000015253437609814427186345113105380913865183211103854173139668163034753687379160010280613421026023890596514366114135274946001300700194910144693521056529983593765001894538632102620168685513626721747547826694134393963446602620483818228897392219995580293504842587667052922133905724401820039637095826339208144068128377429384676352007091773106260804817125447038141483776457981313958958092108328282828053626226628090709775490475240442376407471420986088375725056540403885755395629035905003996346421829048422358054746864793871834883615300995578921735883258386042117891005285543107032952574305665807856936503308918143218775773797369587210043046599546768617072387732655869462532049808040881980586736124414441700729276886084859965622473856577848273644660887511279610766981550723531537893109091954772728621697718590103892582178423141920898008271694828510750734262472584519256218653510185043492778801555081506017195136331276343395988406747764213253662884510302885907963443294007599360288788267089632492610674522627379722948196647439768648579013784052729708248828866232668193464937159485130054818011877242971754480988588904950251544526947897977338033018106506447157602740037907962641818493560785107234932326553825207764543212594416681681823492669465597871034101589352735991725895285081352274192696182365962855972508506787548097373692081044103866483153776147626484118284798381649312916432153698693244624539921281359272516104764491311933680047951327243268187343845278680242472956504586941343915803694364446442435372361783481084800047708582833218561233645375187287580425881439984086029571534196348134033146101419942736419641888862430531852148834144585678127762684826323916687596634753290731198722290470721336516647215194644802980928563903497893503658792688705282357034713790871476544032008607911697136089003142015145531481746494131435796427849458279257616606660487172062438048287573657170255549994951125054212584895866729458830403990657106990989224437000964710449092864360449583564842610076950491711517265333959716772707478792311035106252904185320928056511, i8 10, i1 false, ptr align 8 readonly nonnull %0, ptr align 8 readonly nonnull %1) ret i16 %3 } ; Function Attrs: nounwind uwtable define internal fastcc void @Thread.Mutex.DarwinImpl.unlock(ptr align 4 nonnull %0) unnamed_addr #0 { 1: %2 = alloca [8 x i8], align 8 store ptr %0, ptr %2, align 8 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds %Thread.Mutex.DarwinImpl, ptr %3, i32 0, i32 0 call void @os_unfair_lock_unlock(ptr align 4 nonnull %4) ret void } ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.format__anon_4018(ptr align 8 readonly nonnull %0, ptr align 8 readonly nonnull %1) unnamed_addr #0 { 2: %3 = alloca [16 x i8], align 8 %4 = alloca [16 x i8], align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4, ptr align 8 %0, i64 16, i1 false) %5 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_3287, i64 0), i64 7 }, 0 %6 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_3287, i64 0), i64 7 }, 1 %7 = call fastcc i16 @io.Writer.writeAll(ptr align 8 readonly nonnull %4, ptr align 1 readonly nonnull %5, i64 %6) %8 = icmp ne i16 %7, 0 br i1 %8, label %9, label %10 9: ret i16 %7 10: %11 = getelementptr inbounds { i64 }, ptr %1, i32 0, i32 0 %12 = load i64, ptr %11, align 8 %13 = call fastcc i16 @fmt.formatType__anon_4052(i64 %12, ptr align 8 readonly nonnull @30, ptr align 8 readonly nonnull %0, i64 3) %14 = icmp ne i16 %13, 0 br i1 %14, label %15, label %16 15: ret i16 %13 16: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3, ptr align 8 %0, i64 16, i1 false) %17 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_3287, i64 9), i64 8 }, 0 %18 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_3287, i64 9), i64 8 }, 1 %19 = call fastcc i16 @io.Writer.writeAll(ptr align 8 readonly nonnull %3, ptr align 1 readonly nonnull %17, i64 %18) %20 = icmp ne i16 %19, 0 br i1 %20, label %21, label %22 21: ret i16 %19 22: ret i16 0 } ; Function Attrs: noreturn nounwind uwtable declare void @abort() #6 ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.format__anon_4019(ptr align 8 readonly nonnull %0, ptr align 8 readonly nonnull %1) unnamed_addr #0 { 2: %3 = alloca [16 x i8], align 8 %4 = getelementptr inbounds { { ptr, i64 } }, ptr %1, i32 0, i32 0 %5 = load { ptr, i64 }, ptr %4, align 8 %6 = extractvalue { ptr, i64 } %5, 0 %7 = extractvalue { ptr, i64 } %5, 1 %8 = call fastcc i16 @fmt.formatType__anon_4053(ptr align 1 readonly nonnull %6, i64 %7, ptr align 8 readonly nonnull @31, ptr align 8 readonly nonnull %0, i64 3) %9 = icmp ne i16 %8, 0 br i1 %9, label %10, label %11 10: ret i16 %8 11: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3, ptr align 8 %0, i64 16, i1 false) %12 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_3300, i64 3), i64 1 }, 0 %13 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_3300, i64 3), i64 1 }, 1 %14 = call fastcc i16 @io.Writer.writeAll(ptr align 8 readonly nonnull %3, ptr align 1 readonly nonnull %12, i64 %13) %15 = icmp ne i16 %14, 0 br i1 %15, label %16, label %17 16: ret i16 %14 17: ret i16 0 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @io.Writer.print__anon_4020(ptr align 8 readonly nonnull %0) unnamed_addr #0 { 1: %2 = call fastcc i16 @fmt.format__anon_4054(ptr align 8 readonly nonnull %0) ret i16 %2 } ; Function Attrs: nounwind uwtable define internal fastcc void @"atomic.Value(u32).init"(ptr noalias sret(%"atomic.Value(u32)") nonnull %0, i32 %1) unnamed_addr #0 { 2: %3 = getelementptr inbounds %"atomic.Value(u32)", ptr %0, i32 0, i32 0 store i32 %1, ptr %3, align 4 ret void } ; Function Attrs: nounwind uwtable cold define internal fastcc void @Thread.Futex.wait(ptr align 4 readonly nonnull %0, i32 %1) unnamed_addr #7 { 2: %3 = call fastcc i16 @Thread.Futex.DarwinImpl.wait(ptr align 4 readonly nonnull %0, i32 %1, ptr align 8 readonly nonnull @32) %4 = icmp eq i16 %3, 0 br i1 %4, label %6, label %7 5: ret void 6: br label %5 7: switch i16 %3, label %8 [ i16 27, label %9 ] 8: unreachable 9: unreachable } ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.format__anon_4050(ptr align 8 readonly nonnull %0) unnamed_addr #0 { 1: %2 = alloca [16 x i8], align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2, ptr align 8 %0, i64 16, i1 false) %3 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_3318, i64 0), i64 35 }, 0 %4 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_3318, i64 0), i64 35 }, 1 %5 = call fastcc i16 @io.Writer.writeAll(ptr align 8 readonly nonnull %2, ptr align 1 readonly nonnull %3, i64 %4) %6 = icmp ne i16 %5, 0 br i1 %6, label %7, label %8 7: ret i16 %5 8: ret i16 0 } ; Function Attrs: nounwind uwtable declare i32 @pthread_threadid_np(ptr align 1 %0, ptr align 8 nonnull %1) #0 ; Function Attrs: nounwind uwtable declare void @os_unfair_lock_lock(ptr align 4 nonnull %0) #0 ; Function Attrs: nounwind uwtable define internal fastcc void @unicode.utf8Decode2(ptr noalias sret({ i21, i16, [2 x i8] }) nonnull %0, ptr align 1 readonly nonnull %1, i64 %2) unnamed_addr #0 { 3: %4 = alloca [4 x i8], align 4 %5 = insertvalue { ptr, i64 } poison, ptr %1, 0 %6 = insertvalue { ptr, i64 } %5, i64 %2, 1 %7 = extractvalue { ptr, i64 } %6, 1 %8 = icmp eq i64 %7, 2 call fastcc void @debug.assert(i1 %8) %9 = extractvalue { ptr, i64 } %6, 0 %10 = getelementptr inbounds i8, ptr %9, i64 0 %11 = load i8, ptr %10, align 1 %12 = and i8 %11, -32 %13 = icmp eq i8 %12, -64 call fastcc void @debug.assert(i1 %13) %14 = extractvalue { ptr, i64 } %6, 0 %15 = getelementptr inbounds i8, ptr %14, i64 0 %16 = load i8, ptr %15, align 1 %17 = and i8 %16, 31 %18 = zext i8 %17 to i21 store i21 %18, ptr %4, align 4 %19 = extractvalue { ptr, i64 } %6, 0 %20 = getelementptr inbounds i8, ptr %19, i64 1 %21 = load i8, ptr %20, align 1 %22 = and i8 %21, -64 %23 = icmp ne i8 %22, -128 br i1 %23, label %40, label %41 24: %25 = load i32, ptr %4, align 4 %26 = trunc i32 %25 to i21 %27 = zext i5 6 to i21 %28 = shl i21 %26, %27 store i21 %28, ptr %4, align 4 %29 = load i32, ptr %4, align 4 %30 = trunc i32 %29 to i21 %31 = extractvalue { ptr, i64 } %6, 0 %32 = getelementptr inbounds i8, ptr %31, i64 1 %33 = load i8, ptr %32, align 1 %34 = and i8 %33, 63 %35 = zext i8 %34 to i21 %36 = or i21 %30, %35 store i21 %36, ptr %4, align 4 %37 = load i32, ptr %4, align 4 %38 = trunc i32 %37 to i21 %39 = icmp ult i21 %38, 128 br i1 %39, label %47, label %48 40: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %0, ptr align 4 @33, i64 8, i1 false) ret void 41: br label %24 42: %43 = load i32, ptr %4, align 4 %44 = trunc i32 %43 to i21 %45 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %0, i32 0, i32 1 store i16 0, ptr %45, align 2 %46 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %0, i32 0, i32 0 store i21 %44, ptr %46, align 4 ret void 47: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %0, ptr align 4 @34, i64 8, i1 false) ret void 48: br label %42 } ; Function Attrs: nounwind uwtable define internal fastcc void @unicode.utf8Decode3(ptr noalias sret({ i21, i16, [2 x i8] }) nonnull %0, ptr align 1 readonly nonnull %1, i64 %2) unnamed_addr #0 { 3: %4 = alloca [8 x i8], align 4 %5 = insertvalue { ptr, i64 } poison, ptr %1, 0 %6 = insertvalue { ptr, i64 } %5, i64 %2, 1 %7 = extractvalue { ptr, i64 } %6, 0 %8 = extractvalue { ptr, i64 } %6, 1 call fastcc void @unicode.utf8Decode3AllowSurrogateHalf(ptr sret({ i21, i16, [2 x i8] }) %4, ptr align 1 readonly nonnull %7, i64 %8) %9 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %4, i32 0, i32 1 %10 = load i16, ptr %9 %11 = icmp ne i16 %10, 0 br i1 %11, label %12, label %17 12: %13 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %4, i32 0, i32 1 %14 = load i16, ptr %13 %15 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %0, i32 0, i32 1 store i16 %14, ptr %15, align 2 %16 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %0, i32 0, i32 0 ret void 17: %18 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %4, i32 0, i32 0 %19 = load i21, ptr %18, align 4 %20 = icmp ule i21 55296, %19 br i1 %20, label %26, label %28 21: %22 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %0, i32 0, i32 1 store i16 0, ptr %22, align 2 %23 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %0, i32 0, i32 0 store i21 %19, ptr %23, align 4 ret void 24: %25 = phi i1 [ %27, %26 ], [ false, %28 ] br i1 %25, label %29, label %30 26: %27 = icmp ule i21 %19, 57343 br label %24 28: br label %24 29: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %0, ptr align 4 @35, i64 8, i1 false) ret void 30: br label %21 } ; Function Attrs: nounwind uwtable define internal fastcc void @unicode.utf8Decode4(ptr noalias sret({ i21, i16, [2 x i8] }) nonnull %0, ptr align 1 readonly nonnull %1, i64 %2) unnamed_addr #0 { 3: %4 = alloca [4 x i8], align 4 %5 = insertvalue { ptr, i64 } poison, ptr %1, 0 %6 = insertvalue { ptr, i64 } %5, i64 %2, 1 %7 = extractvalue { ptr, i64 } %6, 1 %8 = icmp eq i64 %7, 4 call fastcc void @debug.assert(i1 %8) %9 = extractvalue { ptr, i64 } %6, 0 %10 = getelementptr inbounds i8, ptr %9, i64 0 %11 = load i8, ptr %10, align 1 %12 = and i8 %11, -8 %13 = icmp eq i8 %12, -16 call fastcc void @debug.assert(i1 %13) %14 = extractvalue { ptr, i64 } %6, 0 %15 = getelementptr inbounds i8, ptr %14, i64 0 %16 = load i8, ptr %15, align 1 %17 = and i8 %16, 7 %18 = zext i8 %17 to i21 store i21 %18, ptr %4, align 4 %19 = extractvalue { ptr, i64 } %6, 0 %20 = getelementptr inbounds i8, ptr %19, i64 1 %21 = load i8, ptr %20, align 1 %22 = and i8 %21, -64 %23 = icmp ne i8 %22, -128 br i1 %23, label %42, label %43 24: %25 = load i32, ptr %4, align 4 %26 = trunc i32 %25 to i21 %27 = zext i5 6 to i21 %28 = shl i21 %26, %27 store i21 %28, ptr %4, align 4 %29 = load i32, ptr %4, align 4 %30 = trunc i32 %29 to i21 %31 = extractvalue { ptr, i64 } %6, 0 %32 = getelementptr inbounds i8, ptr %31, i64 1 %33 = load i8, ptr %32, align 1 %34 = and i8 %33, 63 %35 = zext i8 %34 to i21 %36 = or i21 %30, %35 store i21 %36, ptr %4, align 4 %37 = extractvalue { ptr, i64 } %6, 0 %38 = getelementptr inbounds i8, ptr %37, i64 2 %39 = load i8, ptr %38, align 1 %40 = and i8 %39, -64 %41 = icmp ne i8 %40, -128 br i1 %41, label %62, label %63 42: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %0, ptr align 4 @36, i64 8, i1 false) ret void 43: br label %24 44: %45 = load i32, ptr %4, align 4 %46 = trunc i32 %45 to i21 %47 = zext i5 6 to i21 %48 = shl i21 %46, %47 store i21 %48, ptr %4, align 4 %49 = load i32, ptr %4, align 4 %50 = trunc i32 %49 to i21 %51 = extractvalue { ptr, i64 } %6, 0 %52 = getelementptr inbounds i8, ptr %51, i64 2 %53 = load i8, ptr %52, align 1 %54 = and i8 %53, 63 %55 = zext i8 %54 to i21 %56 = or i21 %50, %55 store i21 %56, ptr %4, align 4 %57 = extractvalue { ptr, i64 } %6, 0 %58 = getelementptr inbounds i8, ptr %57, i64 3 %59 = load i8, ptr %58, align 1 %60 = and i8 %59, -64 %61 = icmp ne i8 %60, -128 br i1 %61, label %80, label %81 62: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %0, ptr align 4 @36, i64 8, i1 false) ret void 63: br label %44 64: %65 = load i32, ptr %4, align 4 %66 = trunc i32 %65 to i21 %67 = zext i5 6 to i21 %68 = shl i21 %66, %67 store i21 %68, ptr %4, align 4 %69 = load i32, ptr %4, align 4 %70 = trunc i32 %69 to i21 %71 = extractvalue { ptr, i64 } %6, 0 %72 = getelementptr inbounds i8, ptr %71, i64 3 %73 = load i8, ptr %72, align 1 %74 = and i8 %73, 63 %75 = zext i8 %74 to i21 %76 = or i21 %70, %75 store i21 %76, ptr %4, align 4 %77 = load i32, ptr %4, align 4 %78 = trunc i32 %77 to i21 %79 = icmp ult i21 %78, 65536 br i1 %79, label %86, label %87 80: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %0, ptr align 4 @36, i64 8, i1 false) ret void 81: br label %64 82: %83 = load i32, ptr %4, align 4 %84 = trunc i32 %83 to i21 %85 = icmp ugt i21 %84, -983041 br i1 %85, label %93, label %94 86: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %0, ptr align 4 @37, i64 8, i1 false) ret void 87: br label %82 88: %89 = load i32, ptr %4, align 4 %90 = trunc i32 %89 to i21 %91 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %0, i32 0, i32 1 store i16 0, ptr %91, align 2 %92 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %0, i32 0, i32 0 store i21 %90, ptr %92, align 4 ret void 93: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %0, ptr align 4 @38, i64 8, i1 false) ret void 94: br label %88 } ; Function Attrs: nounwind uwtable define internal fastcc void @unicode.utf8CodepointSequenceLength(ptr noalias sret({ i16, i3, [1 x i8] }) nonnull %0, i21 %1) unnamed_addr #0 { 2: %3 = icmp ult i21 %1, 128 br i1 %3, label %6, label %7 4: %5 = icmp ult i21 %1, 2048 br i1 %5, label %10, label %11 6: call void @llvm.memcpy.p0.p0.i64(ptr align 2 %0, ptr align 2 @24, i64 4, i1 false) ret void 7: br label %4 8: %9 = icmp ult i21 %1, 65536 br i1 %9, label %14, label %15 10: call void @llvm.memcpy.p0.p0.i64(ptr align 2 %0, ptr align 2 @25, i64 4, i1 false) ret void 11: br label %8 12: %13 = icmp ult i21 %1, -983040 br i1 %13, label %17, label %18 14: call void @llvm.memcpy.p0.p0.i64(ptr align 2 %0, ptr align 2 @26, i64 4, i1 false) ret void 15: br label %12 16: call void @llvm.memcpy.p0.p0.i64(ptr align 2 %0, ptr align 2 @28, i64 4, i1 false) ret void 17: call void @llvm.memcpy.p0.p0.i64(ptr align 2 %0, ptr align 2 @27, i64 4, i1 false) ret void 18: br label %16 } ; Function Attrs: nounwind uwtable define internal fastcc void @unicode.utf8EncodeImpl__anon_4051(ptr noalias sret({ i16, i3, [1 x i8] }) nonnull %0, i21 %1, ptr align 1 nonnull %2, i64 %3) unnamed_addr #0 { 4: %5 = alloca [16 x i8], align 8 %6 = alloca [16 x i8], align 8 %7 = alloca [16 x i8], align 8 %8 = alloca [16 x i8], align 8 %9 = alloca [16 x i8], align 8 %10 = alloca [16 x i8], align 8 %11 = alloca [16 x i8], align 8 %12 = alloca [16 x i8], align 8 %13 = alloca [16 x i8], align 8 %14 = alloca [16 x i8], align 8 %15 = alloca [4 x i8], align 2 %16 = insertvalue { ptr, i64 } poison, ptr %2, 0 %17 = insertvalue { ptr, i64 } %16, i64 %3, 1 call fastcc void @unicode.utf8CodepointSequenceLength(ptr sret({ i16, i3, [1 x i8] }) %15, i21 %1) %18 = getelementptr inbounds { i16, i3, [1 x i8] }, ptr %15, i32 0, i32 0 %19 = load i16, ptr %18 %20 = icmp ne i16 %19, 0 br i1 %20, label %21, label %26 21: %22 = getelementptr inbounds { i16, i3, [1 x i8] }, ptr %15, i32 0, i32 0 %23 = load i16, ptr %22 %24 = getelementptr inbounds { i16, i3, [1 x i8] }, ptr %0, i32 0, i32 0 store i16 %23, ptr %24, align 2 %25 = getelementptr inbounds { i16, i3, [1 x i8] }, ptr %0, i32 0, i32 1 ret void 26: %27 = getelementptr inbounds { i16, i3, [1 x i8] }, ptr %15, i32 0, i32 1 %28 = load i3, ptr %27, align 1 %29 = extractvalue { ptr, i64 } %17, 1 %30 = zext i3 %28 to i64 %31 = icmp uge i64 %29, %30 call fastcc void @debug.assert(i1 %31) switch i3 %28, label %35 [ i3 1, label %36 i3 2, label %41 i3 3, label %55 i3 -4, label %81 ] 32: %33 = getelementptr inbounds { i16, i3, [1 x i8] }, ptr %0, i32 0, i32 0 store i16 0, ptr %33, align 2 %34 = getelementptr inbounds { i16, i3, [1 x i8] }, ptr %0, i32 0, i32 1 store i3 %28, ptr %34, align 1 ret void 35: unreachable 36: store { ptr, i64 } %17, ptr %14, align 8 %37 = load { ptr, i64 }, ptr %14, align 8 %38 = extractvalue { ptr, i64 } %37, 0 %39 = getelementptr inbounds i8, ptr %38, i64 0 %40 = trunc i21 %1 to i8 store i8 %40, ptr %39, align 1 br label %32 41: store { ptr, i64 } %17, ptr %13, align 8 %42 = load { ptr, i64 }, ptr %13, align 8 %43 = extractvalue { ptr, i64 } %42, 0 %44 = getelementptr inbounds i8, ptr %43, i64 0 %45 = zext i5 6 to i21 %46 = lshr i21 %1, %45 %47 = or i21 192, %46 %48 = trunc i21 %47 to i8 store i8 %48, ptr %44, align 1 store { ptr, i64 } %17, ptr %12, align 8 %49 = load { ptr, i64 }, ptr %12, align 8 %50 = extractvalue { ptr, i64 } %49, 0 %51 = getelementptr inbounds i8, ptr %50, i64 1 %52 = and i21 %1, 63 %53 = or i21 128, %52 %54 = trunc i21 %53 to i8 store i8 %54, ptr %51, align 1 br label %32 55: %56 = call fastcc i1 @unicode.isSurrogateCodepoint(i21 %1) br i1 %56, label %79, label %80 57: store { ptr, i64 } %17, ptr %11, align 8 %58 = load { ptr, i64 }, ptr %11, align 8 %59 = extractvalue { ptr, i64 } %58, 0 %60 = getelementptr inbounds i8, ptr %59, i64 0 %61 = zext i5 12 to i21 %62 = lshr i21 %1, %61 %63 = or i21 224, %62 %64 = trunc i21 %63 to i8 store i8 %64, ptr %60, align 1 store { ptr, i64 } %17, ptr %10, align 8 %65 = load { ptr, i64 }, ptr %10, align 8 %66 = extractvalue { ptr, i64 } %65, 0 %67 = getelementptr inbounds i8, ptr %66, i64 1 %68 = zext i5 6 to i21 %69 = lshr i21 %1, %68 %70 = and i21 %69, 63 %71 = or i21 128, %70 %72 = trunc i21 %71 to i8 store i8 %72, ptr %67, align 1 store { ptr, i64 } %17, ptr %9, align 8 %73 = load { ptr, i64 }, ptr %9, align 8 %74 = extractvalue { ptr, i64 } %73, 0 %75 = getelementptr inbounds i8, ptr %74, i64 2 %76 = and i21 %1, 63 %77 = or i21 128, %76 %78 = trunc i21 %77 to i8 store i8 %78, ptr %75, align 1 br label %32 79: call void @llvm.memcpy.p0.p0.i64(ptr align 2 %0, ptr align 2 @29, i64 4, i1 false) ret void 80: br label %57 81: store { ptr, i64 } %17, ptr %8, align 8 %82 = load { ptr, i64 }, ptr %8, align 8 %83 = extractvalue { ptr, i64 } %82, 0 %84 = getelementptr inbounds i8, ptr %83, i64 0 %85 = zext i5 -14 to i21 %86 = lshr i21 %1, %85 %87 = or i21 240, %86 %88 = trunc i21 %87 to i8 store i8 %88, ptr %84, align 1 store { ptr, i64 } %17, ptr %7, align 8 %89 = load { ptr, i64 }, ptr %7, align 8 %90 = extractvalue { ptr, i64 } %89, 0 %91 = getelementptr inbounds i8, ptr %90, i64 1 %92 = zext i5 12 to i21 %93 = lshr i21 %1, %92 %94 = and i21 %93, 63 %95 = or i21 128, %94 %96 = trunc i21 %95 to i8 store i8 %96, ptr %91, align 1 store { ptr, i64 } %17, ptr %6, align 8 %97 = load { ptr, i64 }, ptr %6, align 8 %98 = extractvalue { ptr, i64 } %97, 0 %99 = getelementptr inbounds i8, ptr %98, i64 2 %100 = zext i5 6 to i21 %101 = lshr i21 %1, %100 %102 = and i21 %101, 63 %103 = or i21 128, %102 %104 = trunc i21 %103 to i8 store i8 %104, ptr %99, align 1 store { ptr, i64 } %17, ptr %5, align 8 %105 = load { ptr, i64 }, ptr %5, align 8 %106 = extractvalue { ptr, i64 } %105, 0 %107 = getelementptr inbounds i8, ptr %106, i64 3 %108 = and i21 %1, 63 %109 = or i21 128, %108 %110 = trunc i21 %109 to i8 store i8 %110, ptr %107, align 1 br label %32 } ; Function Attrs: nounwind uwtable define internal fastcc i1 @unicode.isSurrogateCodepoint(i21 %0) unnamed_addr #0 { 1: switch i21 %0, label %4 [ ] 2: %3 = phi i1 [ true, %8 ], [ false, %9 ] ret i1 %3 4: %5 = icmp uge i21 %0, 55296 %6 = icmp ule i21 %0, 57343 %7 = and i1 %5, %6 br i1 %7, label %8, label %9 8: br label %2 9: br label %2 } ; Function Attrs: nounwind uwtable declare void @os_unfair_lock_unlock(ptr align 4 nonnull %0) #0 ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.formatType__anon_4052(i64 %0, ptr align 8 readonly nonnull %1, ptr align 8 readonly nonnull %2, i64 %3) unnamed_addr #0 { 4: %5 = call fastcc i16 @fmt.formatValue__anon_4058(i64 %0, ptr align 8 readonly nonnull %1, ptr align 8 readonly nonnull %2) ret i16 %5 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.formatType__anon_4053(ptr align 1 readonly nonnull %0, i64 %1, ptr align 8 readonly nonnull %2, ptr align 8 readonly nonnull %3, i64 %4) unnamed_addr #0 { 5: %6 = alloca [16 x i8], align 8 %7 = insertvalue { ptr, i64 } poison, ptr %0, 0 %8 = insertvalue { ptr, i64 } %7, i64 %1, 1 %9 = icmp eq i64 %4, 0 br i1 %9, label %14, label %18 10: %11 = extractvalue { ptr, i64 } %8, 0 %12 = extractvalue { ptr, i64 } %8, 1 %13 = call fastcc i16 @fmt.formatBuf__anon_3980(ptr align 1 readonly nonnull %11, i64 %12, ptr align 8 readonly nonnull %2, ptr align 8 readonly nonnull %3) ret i16 %13 14: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %3, i64 16, i1 false) %15 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_3237, i64 0), i64 7 }, 0 %16 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_3237, i64 0), i64 7 }, 1 %17 = call fastcc i16 @io.Writer.writeAll(ptr align 8 readonly nonnull %6, ptr align 1 readonly nonnull %15, i64 %16) ret i16 %17 18: br label %10 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.format__anon_4054(ptr align 8 readonly nonnull %0) unnamed_addr #0 { 1: %2 = alloca [16 x i8], align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2, ptr align 8 %0, i64 16, i1 false) %3 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_3724, i64 0), i64 48 }, 0 %4 = extractvalue { ptr, i64 } { ptr getelementptr inbounds (i8, ptr @__anon_3724, i64 0), i64 48 }, 1 %5 = call fastcc i16 @io.Writer.writeAll(ptr align 8 readonly nonnull %2, ptr align 1 readonly nonnull %3, i64 %4) %6 = icmp ne i16 %5, 0 br i1 %6, label %7, label %8 7: ret i16 %5 8: ret i16 0 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @Thread.Futex.DarwinImpl.wait(ptr align 4 readonly nonnull %0, i32 %1, ptr align 8 readonly nonnull %2) unnamed_addr #0 { 3: %4 = alloca [1 x i8], align 1 %5 = alloca [8 x i8], align 8 store i64 0, ptr %5, align 8 %6 = getelementptr inbounds { i64, i8, [7 x i8] }, ptr %2, i32 0, i32 1 %7 = load i8, ptr %6 %8 = icmp ne i8 %7, 0 br i1 %8, label %14, label %18 9: store i1 false, ptr %4, align 1 %10 = zext i32 %1 to i64 %11 = load i64, ptr %5, align 8 %12 = call i32 @__ulock_wait2(i32 16777217, ptr align 1 readonly %0, i64 %10, i64 %11, i64 0) %13 = icmp sge i32 %12, 0 br i1 %13, label %22, label %23 14: %15 = getelementptr inbounds { i64, i8, [7 x i8] }, ptr %2, i32 0, i32 0 %16 = load i64, ptr %15, align 8 %17 = icmp ne i64 %16, 0 call fastcc void @debug.assert(i1 %17) store i64 %16, ptr %5, align 8 br label %9 18: br label %9 19: %20 = sub nsw i32 0, %12 %21 = trunc i32 %20 to i16 switch i16 %21, label %25 [ i16 4, label %26 i16 14, label %27 i16 60, label %28 ] 22: ret i16 0 23: br label %19 24: ret i16 0 25: unreachable 26: br label %24 27: br label %24 28: %29 = getelementptr inbounds { i64, i8, [7 x i8] }, ptr %2, i32 0, i32 1 %30 = load i8, ptr %29 %31 = icmp ne i8 %30, 0 call fastcc void @debug.assert(i1 %31) %32 = load i1, ptr %4, align 1 %33 = xor i1 %32, true br i1 %33, label %35, label %36 34: br label %24 35: ret i16 27 36: br label %34 } ; Function Attrs: nounwind uwtable define internal fastcc void @unicode.utf8Decode3AllowSurrogateHalf(ptr noalias sret({ i21, i16, [2 x i8] }) nonnull %0, ptr align 1 readonly nonnull %1, i64 %2) unnamed_addr #0 { 3: %4 = alloca [4 x i8], align 4 %5 = insertvalue { ptr, i64 } poison, ptr %1, 0 %6 = insertvalue { ptr, i64 } %5, i64 %2, 1 %7 = extractvalue { ptr, i64 } %6, 1 %8 = icmp eq i64 %7, 3 call fastcc void @debug.assert(i1 %8) %9 = extractvalue { ptr, i64 } %6, 0 %10 = getelementptr inbounds i8, ptr %9, i64 0 %11 = load i8, ptr %10, align 1 %12 = and i8 %11, -16 %13 = icmp eq i8 %12, -32 call fastcc void @debug.assert(i1 %13) %14 = extractvalue { ptr, i64 } %6, 0 %15 = getelementptr inbounds i8, ptr %14, i64 0 %16 = load i8, ptr %15, align 1 %17 = and i8 %16, 15 %18 = zext i8 %17 to i21 store i21 %18, ptr %4, align 4 %19 = extractvalue { ptr, i64 } %6, 0 %20 = getelementptr inbounds i8, ptr %19, i64 1 %21 = load i8, ptr %20, align 1 %22 = and i8 %21, -64 %23 = icmp ne i8 %22, -128 br i1 %23, label %42, label %43 24: %25 = load i32, ptr %4, align 4 %26 = trunc i32 %25 to i21 %27 = zext i5 6 to i21 %28 = shl i21 %26, %27 store i21 %28, ptr %4, align 4 %29 = load i32, ptr %4, align 4 %30 = trunc i32 %29 to i21 %31 = extractvalue { ptr, i64 } %6, 0 %32 = getelementptr inbounds i8, ptr %31, i64 1 %33 = load i8, ptr %32, align 1 %34 = and i8 %33, 63 %35 = zext i8 %34 to i21 %36 = or i21 %30, %35 store i21 %36, ptr %4, align 4 %37 = extractvalue { ptr, i64 } %6, 0 %38 = getelementptr inbounds i8, ptr %37, i64 2 %39 = load i8, ptr %38, align 1 %40 = and i8 %39, -64 %41 = icmp ne i8 %40, -128 br i1 %41, label %60, label %61 42: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %0, ptr align 4 @39, i64 8, i1 false) ret void 43: br label %24 44: %45 = load i32, ptr %4, align 4 %46 = trunc i32 %45 to i21 %47 = zext i5 6 to i21 %48 = shl i21 %46, %47 store i21 %48, ptr %4, align 4 %49 = load i32, ptr %4, align 4 %50 = trunc i32 %49 to i21 %51 = extractvalue { ptr, i64 } %6, 0 %52 = getelementptr inbounds i8, ptr %51, i64 2 %53 = load i8, ptr %52, align 1 %54 = and i8 %53, 63 %55 = zext i8 %54 to i21 %56 = or i21 %50, %55 store i21 %56, ptr %4, align 4 %57 = load i32, ptr %4, align 4 %58 = trunc i32 %57 to i21 %59 = icmp ult i21 %58, 2048 br i1 %59, label %67, label %68 60: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %0, ptr align 4 @39, i64 8, i1 false) ret void 61: br label %44 62: %63 = load i32, ptr %4, align 4 %64 = trunc i32 %63 to i21 %65 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %0, i32 0, i32 1 store i16 0, ptr %65, align 2 %66 = getelementptr inbounds { i21, i16, [2 x i8] }, ptr %0, i32 0, i32 0 store i21 %64, ptr %66, align 4 ret void 67: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %0, ptr align 4 @40, i64 8, i1 false) ret void 68: br label %62 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.formatValue__anon_4058(i64 %0, ptr align 8 readonly nonnull %1, ptr align 8 readonly nonnull %2) unnamed_addr #0 { 3: %4 = call fastcc i16 @fmt.formatIntValue__anon_4059(i64 %0, ptr align 8 readonly nonnull %1, ptr align 8 readonly nonnull %2) ret i16 %4 } ; Function Attrs: nounwind uwtable declare i32 @__ulock_wait2(i32 %0, ptr align 1 readonly %1, i64 %2, i64 %3, i64 %4) #0 ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.formatInt__anon_4060(i64 %0, i8 %1, i1 %2, ptr align 8 readonly nonnull %3, ptr align 8 readonly nonnull %4) unnamed_addr #0 { 5: %6 = alloca [16 x i8], align 8 %7 = alloca [2 x i8], align 1 %8 = alloca [2 x i8], align 1 %9 = alloca [8 x i8], align 8 %10 = alloca [8 x i8], align 8 %11 = alloca [65 x i8], align 1 %12 = icmp uge i8 %1, 2 call fastcc void @debug.assert(i1 %12) call void @llvm.memset.p0.i64(ptr align 1 %11, i8 undef, i64 65, i1 false) store i64 %0, ptr %10, align 8 store i64 65, ptr %9, align 8 %13 = icmp eq i8 %1, 10 br i1 %13, label %24, label %25 14: %15 = load i64, ptr %9, align 8 %16 = getelementptr inbounds i8, ptr %11, i64 %15 %17 = sub nuw i64 65, %15 %18 = insertvalue { ptr, i64 } poison, ptr %16, 0 %19 = insertvalue { ptr, i64 } %18, i64 %17, 1 store { ptr, i64 } %19, ptr %6, align 8 %20 = load { ptr, i64 }, ptr %6, align 8 %21 = extractvalue { ptr, i64 } %20, 0 %22 = extractvalue { ptr, i64 } %20, 1 %23 = call fastcc i16 @fmt.formatBuf__anon_3980(ptr align 1 readonly nonnull %21, i64 %22, ptr align 8 readonly nonnull %3, ptr align 8 readonly nonnull %4) ret i16 %23 24: br label %29 25: br label %59 26: %27 = load i64, ptr %10, align 8 %28 = icmp ult i64 %27, 10 br i1 %28, label %44, label %52 29: %30 = load i64, ptr %10, align 8 %31 = icmp uge i64 %30, 100 br i1 %31, label %33, label %42 32: br label %29 33: %34 = load i64, ptr %9, align 8 %35 = sub nuw i64 %34, 2 store i64 %35, ptr %9, align 8 %36 = load i64, ptr %9, align 8 %37 = getelementptr inbounds i8, ptr %11, i64 %36 %38 = load i64, ptr %10, align 8 %39 = urem i64 %38, 100 call fastcc void @fmt.digits2(ptr sret([2 x i8]) %8, i64 %39) call void @llvm.memcpy.p0.p0.i64(ptr align 1 %37, ptr align 1 %8, i64 2, i1 false) %40 = load i64, ptr %10, align 8 %41 = udiv i64 %40, 100 store i64 %41, ptr %10, align 8 br label %32 42: br label %26 43: br label %14 44: %45 = load i64, ptr %9, align 8 %46 = sub nuw i64 %45, 1 store i64 %46, ptr %9, align 8 %47 = load i64, ptr %9, align 8 %48 = getelementptr inbounds [65 x i8], ptr %11, i64 0, i64 %47 %49 = load i64, ptr %10, align 8 %50 = trunc i64 %49 to i8 %51 = add nuw i8 48, %50 store i8 %51, ptr %48, align 1 br label %43 52: %53 = load i64, ptr %9, align 8 %54 = sub nuw i64 %53, 2 store i64 %54, ptr %9, align 8 %55 = load i64, ptr %9, align 8 %56 = getelementptr inbounds i8, ptr %11, i64 %55 %57 = load i64, ptr %10, align 8 call fastcc void @fmt.digits2(ptr sret([2 x i8]) %7, i64 %57) call void @llvm.memcpy.p0.p0.i64(ptr align 1 %56, ptr align 1 %7, i64 2, i1 false) br label %43 58: br label %14 59: %60 = load i64, ptr %10, align 8 %61 = zext i8 %1 to i64 %62 = urem i64 %60, %61 %63 = load i64, ptr %9, align 8 %64 = sub nuw i64 %63, 1 store i64 %64, ptr %9, align 8 %65 = load i64, ptr %9, align 8 %66 = getelementptr inbounds [65 x i8], ptr %11, i64 0, i64 %65 %67 = trunc i64 %62 to i8 %68 = call fastcc i8 @fmt.digitToChar(i8 %67, i1 %2) store i8 %68, ptr %66, align 1 %69 = load i64, ptr %10, align 8 %70 = zext i8 %1 to i64 %71 = udiv i64 %69, %70 store i64 %71, ptr %10, align 8 %72 = load i64, ptr %10, align 8 %73 = icmp eq i64 %72, 0 br i1 %73, label %75, label %76 74: br label %59 75: br label %58 76: br label %74 } ; Function Attrs: nounwind uwtable define internal fastcc i16 @fmt.formatIntValue__anon_4059(i64 %0, ptr align 8 readonly nonnull %1, ptr align 8 readonly nonnull %2) unnamed_addr #0 { 3: %4 = call fastcc i16 @fmt.formatInt__anon_4060(i64 %0, i8 10, i1 false, ptr align 8 readonly nonnull %1, ptr align 8 readonly nonnull %2) ret i16 %4 } attributes #0 = { nounwind uwtable "frame-pointer"="none" "target-cpu"="skylake" "target-features"="-16bit-mode,-32bit-mode,-3dnow,-3dnowa,+64bit,+adx,+aes,+allow-light-256-bit,-amx-bf16,-amx-complex,-amx-fp16,-amx-int8,-amx-tile,+avx,-avx10.1-256,-avx10.1-512,+avx2,-avx512bf16,-avx512bitalg,-avx512bw,-avx512cd,-avx512dq,-avx512er,-avx512f,-avx512fp16,-avx512ifma,-avx512pf,-avx512vbmi,-avx512vbmi2,-avx512vl,-avx512vnni,-avx512vp2intersect,-avx512vpopcntdq,-avxifma,-avxneconvert,-avxvnni,-avxvnniint16,-avxvnniint8,+bmi,+bmi2,-branchfusion,-ccmp,-cf,-cldemote,+clflushopt,-clwb,-clzero,+cmov,-cmpccxadd,+crc32,+cx16,+cx8,-egpr,-enqcmd,+ermsb,-evex512,+f16c,-false-deps-getmant,-false-deps-lzcnt-tzcnt,-false-deps-mulc,-false-deps-mullq,-false-deps-perm,+false-deps-popcnt,-false-deps-range,-fast-11bytenop,+fast-15bytenop,-fast-7bytenop,-fast-bextr,+fast-gather,-fast-hops,-fast-lzcnt,-fast-movbe,+fast-scalar-fsqrt,-fast-scalar-shift-masks,+fast-shld-rotate,+fast-variable-crosslane-shuffle,+fast-variable-perlane-shuffle,+fast-vector-fsqrt,-fast-vector-shift-masks,-faster-shift-than-shuffle,+fma,-fma4,+fsgsbase,-fsrm,+fxsr,-gfni,-harden-sls-ijmp,-harden-sls-ret,-hreset,-idivl-to-divb,+idivq-to-divl,+invpcid,-kl,-lea-sp,-lea-uses-ag,-lvi-cfi,-lvi-load-hardening,-lwp,+lzcnt,+macrofusion,+mmx,+movbe,-movdir64b,-movdiri,-mwaitx,-ndd,-no-bypass-delay,+no-bypass-delay-blend,+no-bypass-delay-mov,+no-bypass-delay-shuffle,+nopl,-pad-short-functions,+pclmul,-pconfig,-pku,+popcnt,-ppx,-prefer-128-bit,-prefer-256-bit,-prefer-mask-registers,-prefer-movmsk-over-vtest,-prefer-no-gather,-prefer-no-scatter,-prefetchi,-prefetchwt1,+prfchw,-ptwrite,-push2pop2,-raoint,-rdpid,-rdpru,+rdrnd,+rdseed,-retpoline,-retpoline-external-thunk,-retpoline-indirect-branches,-retpoline-indirect-calls,-rtm,+sahf,-sbb-dep-breaking,-serialize,-seses,+sgx,-sha,-sha512,-shstk,+slow-3ops-lea,-slow-incdec,-slow-lea,-slow-pmaddwd,-slow-pmulld,-slow-shld,-slow-two-mem-ops,-slow-unaligned-mem-16,-slow-unaligned-mem-32,-sm3,-sm4,-soft-float,+sse,+sse2,+sse3,+sse4.1,+sse4.2,-sse4a,-sse-unaligned-mem,+ssse3,-tagged-globals,-tbm,-tsxldtrk,-tuning-fast-imm-vector-shift,-uintr,-use-glm-div-sqrt-costs,-use-slm-arith-costs,-usermsr,-vaes,-vpclmulqdq,+vzeroupper,-waitpkg,-wbnoinvd,-widekl,+x87,-xop,+xsave,+xsavec,+xsaveopt,+xsaves" } attributes #1 = { noreturn nounwind uwtable cold "frame-pointer"="none" "target-cpu"="skylake" "target-features"="-16bit-mode,-32bit-mode,-3dnow,-3dnowa,+64bit,+adx,+aes,+allow-light-256-bit,-amx-bf16,-amx-complex,-amx-fp16,-amx-int8,-amx-tile,+avx,-avx10.1-256,-avx10.1-512,+avx2,-avx512bf16,-avx512bitalg,-avx512bw,-avx512cd,-avx512dq,-avx512er,-avx512f,-avx512fp16,-avx512ifma,-avx512pf,-avx512vbmi,-avx512vbmi2,-avx512vl,-avx512vnni,-avx512vp2intersect,-avx512vpopcntdq,-avxifma,-avxneconvert,-avxvnni,-avxvnniint16,-avxvnniint8,+bmi,+bmi2,-branchfusion,-ccmp,-cf,-cldemote,+clflushopt,-clwb,-clzero,+cmov,-cmpccxadd,+crc32,+cx16,+cx8,-egpr,-enqcmd,+ermsb,-evex512,+f16c,-false-deps-getmant,-false-deps-lzcnt-tzcnt,-false-deps-mulc,-false-deps-mullq,-false-deps-perm,+false-deps-popcnt,-false-deps-range,-fast-11bytenop,+fast-15bytenop,-fast-7bytenop,-fast-bextr,+fast-gather,-fast-hops,-fast-lzcnt,-fast-movbe,+fast-scalar-fsqrt,-fast-scalar-shift-masks,+fast-shld-rotate,+fast-variable-crosslane-shuffle,+fast-variable-perlane-shuffle,+fast-vector-fsqrt,-fast-vector-shift-masks,-faster-shift-than-shuffle,+fma,-fma4,+fsgsbase,-fsrm,+fxsr,-gfni,-harden-sls-ijmp,-harden-sls-ret,-hreset,-idivl-to-divb,+idivq-to-divl,+invpcid,-kl,-lea-sp,-lea-uses-ag,-lvi-cfi,-lvi-load-hardening,-lwp,+lzcnt,+macrofusion,+mmx,+movbe,-movdir64b,-movdiri,-mwaitx,-ndd,-no-bypass-delay,+no-bypass-delay-blend,+no-bypass-delay-mov,+no-bypass-delay-shuffle,+nopl,-pad-short-functions,+pclmul,-pconfig,-pku,+popcnt,-ppx,-prefer-128-bit,-prefer-256-bit,-prefer-mask-registers,-prefer-movmsk-over-vtest,-prefer-no-gather,-prefer-no-scatter,-prefetchi,-prefetchwt1,+prfchw,-ptwrite,-push2pop2,-raoint,-rdpid,-rdpru,+rdrnd,+rdseed,-retpoline,-retpoline-external-thunk,-retpoline-indirect-branches,-retpoline-indirect-calls,-rtm,+sahf,-sbb-dep-breaking,-serialize,-seses,+sgx,-sha,-sha512,-shstk,+slow-3ops-lea,-slow-incdec,-slow-lea,-slow-pmaddwd,-slow-pmulld,-slow-shld,-slow-two-mem-ops,-slow-unaligned-mem-16,-slow-unaligned-mem-32,-sm3,-sm4,-soft-float,+sse,+sse2,+sse3,+sse4.1,+sse4.2,-sse4a,-sse-unaligned-mem,+ssse3,-tagged-globals,-tbm,-tsxldtrk,-tuning-fast-imm-vector-shift,-uintr,-use-glm-div-sqrt-costs,-use-slm-arith-costs,-usermsr,-vaes,-vpclmulqdq,+vzeroupper,-waitpkg,-wbnoinvd,-widekl,+x87,-xop,+xsave,+xsavec,+xsaveopt,+xsaves" } attributes #2 = { nounwind willreturn nofree nocallback memory(argmem: readwrite) } attributes #3 = { nounwind willreturn nofree nosync nocallback memory(none) } attributes #4 = { nounwind willreturn nofree nocallback memory(argmem: write) } attributes #5 = { nounwind speculatable willreturn nofree nosync nocallback memory(none) } attributes #6 = { noreturn nounwind uwtable "frame-pointer"="none" "target-cpu"="skylake" "target-features"="-16bit-mode,-32bit-mode,-3dnow,-3dnowa,+64bit,+adx,+aes,+allow-light-256-bit,-amx-bf16,-amx-complex,-amx-fp16,-amx-int8,-amx-tile,+avx,-avx10.1-256,-avx10.1-512,+avx2,-avx512bf16,-avx512bitalg,-avx512bw,-avx512cd,-avx512dq,-avx512er,-avx512f,-avx512fp16,-avx512ifma,-avx512pf,-avx512vbmi,-avx512vbmi2,-avx512vl,-avx512vnni,-avx512vp2intersect,-avx512vpopcntdq,-avxifma,-avxneconvert,-avxvnni,-avxvnniint16,-avxvnniint8,+bmi,+bmi2,-branchfusion,-ccmp,-cf,-cldemote,+clflushopt,-clwb,-clzero,+cmov,-cmpccxadd,+crc32,+cx16,+cx8,-egpr,-enqcmd,+ermsb,-evex512,+f16c,-false-deps-getmant,-false-deps-lzcnt-tzcnt,-false-deps-mulc,-false-deps-mullq,-false-deps-perm,+false-deps-popcnt,-false-deps-range,-fast-11bytenop,+fast-15bytenop,-fast-7bytenop,-fast-bextr,+fast-gather,-fast-hops,-fast-lzcnt,-fast-movbe,+fast-scalar-fsqrt,-fast-scalar-shift-masks,+fast-shld-rotate,+fast-variable-crosslane-shuffle,+fast-variable-perlane-shuffle,+fast-vector-fsqrt,-fast-vector-shift-masks,-faster-shift-than-shuffle,+fma,-fma4,+fsgsbase,-fsrm,+fxsr,-gfni,-harden-sls-ijmp,-harden-sls-ret,-hreset,-idivl-to-divb,+idivq-to-divl,+invpcid,-kl,-lea-sp,-lea-uses-ag,-lvi-cfi,-lvi-load-hardening,-lwp,+lzcnt,+macrofusion,+mmx,+movbe,-movdir64b,-movdiri,-mwaitx,-ndd,-no-bypass-delay,+no-bypass-delay-blend,+no-bypass-delay-mov,+no-bypass-delay-shuffle,+nopl,-pad-short-functions,+pclmul,-pconfig,-pku,+popcnt,-ppx,-prefer-128-bit,-prefer-256-bit,-prefer-mask-registers,-prefer-movmsk-over-vtest,-prefer-no-gather,-prefer-no-scatter,-prefetchi,-prefetchwt1,+prfchw,-ptwrite,-push2pop2,-raoint,-rdpid,-rdpru,+rdrnd,+rdseed,-retpoline,-retpoline-external-thunk,-retpoline-indirect-branches,-retpoline-indirect-calls,-rtm,+sahf,-sbb-dep-breaking,-serialize,-seses,+sgx,-sha,-sha512,-shstk,+slow-3ops-lea,-slow-incdec,-slow-lea,-slow-pmaddwd,-slow-pmulld,-slow-shld,-slow-two-mem-ops,-slow-unaligned-mem-16,-slow-unaligned-mem-32,-sm3,-sm4,-soft-float,+sse,+sse2,+sse3,+sse4.1,+sse4.2,-sse4a,-sse-unaligned-mem,+ssse3,-tagged-globals,-tbm,-tsxldtrk,-tuning-fast-imm-vector-shift,-uintr,-use-glm-div-sqrt-costs,-use-slm-arith-costs,-usermsr,-vaes,-vpclmulqdq,+vzeroupper,-waitpkg,-wbnoinvd,-widekl,+x87,-xop,+xsave,+xsavec,+xsaveopt,+xsaves" } attributes #7 = { nounwind uwtable cold "frame-pointer"="none" "target-cpu"="skylake" "target-features"="-16bit-mode,-32bit-mode,-3dnow,-3dnowa,+64bit,+adx,+aes,+allow-light-256-bit,-amx-bf16,-amx-complex,-amx-fp16,-amx-int8,-amx-tile,+avx,-avx10.1-256,-avx10.1-512,+avx2,-avx512bf16,-avx512bitalg,-avx512bw,-avx512cd,-avx512dq,-avx512er,-avx512f,-avx512fp16,-avx512ifma,-avx512pf,-avx512vbmi,-avx512vbmi2,-avx512vl,-avx512vnni,-avx512vp2intersect,-avx512vpopcntdq,-avxifma,-avxneconvert,-avxvnni,-avxvnniint16,-avxvnniint8,+bmi,+bmi2,-branchfusion,-ccmp,-cf,-cldemote,+clflushopt,-clwb,-clzero,+cmov,-cmpccxadd,+crc32,+cx16,+cx8,-egpr,-enqcmd,+ermsb,-evex512,+f16c,-false-deps-getmant,-false-deps-lzcnt-tzcnt,-false-deps-mulc,-false-deps-mullq,-false-deps-perm,+false-deps-popcnt,-false-deps-range,-fast-11bytenop,+fast-15bytenop,-fast-7bytenop,-fast-bextr,+fast-gather,-fast-hops,-fast-lzcnt,-fast-movbe,+fast-scalar-fsqrt,-fast-scalar-shift-masks,+fast-shld-rotate,+fast-variable-crosslane-shuffle,+fast-variable-perlane-shuffle,+fast-vector-fsqrt,-fast-vector-shift-masks,-faster-shift-than-shuffle,+fma,-fma4,+fsgsbase,-fsrm,+fxsr,-gfni,-harden-sls-ijmp,-harden-sls-ret,-hreset,-idivl-to-divb,+idivq-to-divl,+invpcid,-kl,-lea-sp,-lea-uses-ag,-lvi-cfi,-lvi-load-hardening,-lwp,+lzcnt,+macrofusion,+mmx,+movbe,-movdir64b,-movdiri,-mwaitx,-ndd,-no-bypass-delay,+no-bypass-delay-blend,+no-bypass-delay-mov,+no-bypass-delay-shuffle,+nopl,-pad-short-functions,+pclmul,-pconfig,-pku,+popcnt,-ppx,-prefer-128-bit,-prefer-256-bit,-prefer-mask-registers,-prefer-movmsk-over-vtest,-prefer-no-gather,-prefer-no-scatter,-prefetchi,-prefetchwt1,+prfchw,-ptwrite,-push2pop2,-raoint,-rdpid,-rdpru,+rdrnd,+rdseed,-retpoline,-retpoline-external-thunk,-retpoline-indirect-branches,-retpoline-indirect-calls,-rtm,+sahf,-sbb-dep-breaking,-serialize,-seses,+sgx,-sha,-sha512,-shstk,+slow-3ops-lea,-slow-incdec,-slow-lea,-slow-pmaddwd,-slow-pmulld,-slow-shld,-slow-two-mem-ops,-slow-unaligned-mem-16,-slow-unaligned-mem-32,-sm3,-sm4,-soft-float,+sse,+sse2,+sse3,+sse4.1,+sse4.2,-sse4a,-sse-unaligned-mem,+ssse3,-tagged-globals,-tbm,-tsxldtrk,-tuning-fast-imm-vector-shift,-uintr,-use-glm-div-sqrt-costs,-use-slm-arith-costs,-usermsr,-vaes,-vpclmulqdq,+vzeroupper,-waitpkg,-wbnoinvd,-widekl,+x87,-xop,+xsave,+xsavec,+xsaveopt,+xsaves" }
비교하기