Thanks for using Compiler Explorer
Sponsors
Jakt
C++
Ada
Analysis
Android Java
Android Kotlin
Assembly
C
C3
Carbon
C++ (Circle)
CIRCT
Clean
CMake
CMakeScript
COBOL
C++ for OpenCL
MLIR
Cppx
Cppx-Blue
Cppx-Gold
Cpp2-cppfront
Crystal
C#
CUDA C++
D
Dart
Elixir
Erlang
Fortran
F#
GLSL
Go
Haskell
HLSL
Hook
Hylo
IL
ispc
Java
Julia
Kotlin
LLVM IR
LLVM MIR
Modula-2
Nim
Objective-C
Objective-C++
OCaml
Odin
OpenCL C
Pascal
Pony
Python
Racket
Ruby
Rust
Snowball
Scala
Slang
Solidity
Spice
SPIR-V
Swift
LLVM TableGen
Toit
TypeScript Native
V
Vala
Visual Basic
Vyper
WASM
Zig
Javascript
GIMPLE
Ygen
llvm source #1
Output
Compile to binary object
Link to binary
Execute the code
Intel asm syntax
Demangle identifiers
Verbose demangling
Filters
Unused labels
Library functions
Directives
Comments
Horizontal whitespace
Debug intrinsics
Compiler
clang (assertions trunk)
clang (trunk)
clang 10.0.0
clang 10.0.1
clang 11.0.0
clang 11.0.1
clang 12.0.0
clang 12.0.1
clang 13.0.0
clang 14.0.0
clang 15.0.0
clang 16.0.0
clang 17.0.1
clang 18.1.0
clang 19.1.0
clang 4.0.1
clang 5.0.0
clang 6.0.0
clang 7.0.0
clang 8.0.0
clang 9.0.0
llc (assertions trunk)
llc (trunk)
llc 10.0.0
llc 10.0.1
llc 11.0.0
llc 11.0.1
llc 12.0.0
llc 12.0.1
llc 13.0.0
llc 14.0.0
llc 15.0.0
llc 16.0.0
llc 17.0.1
llc 18.1.0
llc 19.1.0
llc 3.2
llc 3.3
llc 3.9.1
llc 4.0.0
llc 4.0.1
llc 5.0.0
llc 6.0.0
llc 7.0.0
llc 8.0.0
llc 9.0.0
opt (assertions trunk)
opt (trunk)
opt 10.0.0
opt 10.0.1
opt 11.0.0
opt 11.0.1
opt 12.0.0
opt 12.0.1
opt 13.0.0
opt 14.0.0
opt 15.0.0
opt 16.0.0
opt 17.0.1
opt 18.1.0
opt 19.1.0
opt 3.2
opt 3.3
opt 3.9.1
opt 4.0.0
opt 4.0.1
opt 5.0.0
opt 6.0.0
opt 7.0.0
opt 8.0.0
opt 9.0.0
Options
Source code
; ModuleID = '/home/lebedevri/rawspeed/src/utilities/rstest/md5.cpp' source_filename = "/home/lebedevri/rawspeed/src/utilities/rstest/md5.cpp" target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-pc-linux-gnu" %"struct.std::array" = type { [4 x i32] } %"class.rawspeed::md5::MD5" = type { %"struct.std::array", %"struct.std::array.0", i32, i32 } %"struct.std::array.0" = type { [64 x i8] } %"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon } %"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr } %union.anon = type { i64, [8 x i8] } %"struct.std::array.1" = type { [33 x i8] } %"class.std::allocator" = type { i8 } %"struct.std::forward_iterator_tag" = type { i8 } %"struct.std::array.2" = type { [16 x i32] } %class.anon = type { ptr, ptr } %class.anon.3 = type { i8 } %class.anon.4 = type { %class.anon.3, ptr } %class.anon.5 = type { %class.anon.4 } %class.anon.6 = type { %class.anon.4 } %class.anon.7 = type { %class.anon.4 } %class.anon.8 = type { %class.anon.4 } %struct._Guard = type { ptr } %"struct.std::random_access_iterator_tag" = type { i8 } $_ZN8rawspeed3md53MD5C2Ev = comdat any $_ZN8rawspeed3md53MD5lsIhEERS1_RKT_ = comdat any $_ZN8rawspeed3md53MD55flushEv = comdat any $_ZNKSt5arrayIjLm4EEixEm = comdat any $_ZNSt5arrayIcLm33EEixEm = comdat any $_ZNSt5arrayIcLm33EE4dataEv = comdat any $_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_ = comdat any $__clang_call_terminate = comdat any $_ZN8rawspeed3md53MD55resetEv = comdat any $_ZNK8rawspeed3md53MD521bytesAvaliableInBlockEv = comdat any $_ZN8rawspeed3md53MD513compressBlockEv = comdat any $_ZNSt5arrayIhLm64EEixEm = comdat any $_ZZN8rawspeed3md53MD513compressBlockEvENKUliE_clEi = comdat any $_ZNSt5arrayIjLm4EEixEm = comdat any $_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE_clES2_jjjjjj = comdat any $_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE0_clES2_jjjjjj = comdat any $_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE1_clES2_jjjjjj = comdat any $_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE2_clES2_jjjjjj = comdat any $_ZNSt5arrayIjLm16EEixEm = comdat any $_ZNSt14__array_traitsIjLm16EE6_S_refERA16_Kjm = comdat any $_ZNSt14__array_traitsIjLm4EE6_S_refERA4_Kjm = comdat any $_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjE_clES2_jjjjj = comdat any $_ZZN8rawspeed3md53MD513compressBlockEvENKUljiE_clEji = comdat any $_ZNSt14__array_traitsIhLm64EE6_S_refERA64_Khm = comdat any $_ZNSt14__array_traitsIcLm33EE6_S_refERA33_Kcm = comdat any $_ZNSt14__array_traitsIcLm33EE6_S_ptrERA33_Kc = comdat any $_ZNSt15__new_allocatorIcEC2Ev = comdat any $_ZNSt15__new_allocatorIcED2Ev = comdat any $_ZNSt5arrayIhLm64EE5beginEv = comdat any $_ZNSt5arrayIhLm64EE4dataEv = comdat any $_ZNSt14__array_traitsIhLm64EE6_S_ptrERA64_Kh = comdat any $_ZNSt11char_traitsIcE6lengthEPKc = comdat any $_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag = comdat any $_ZNSt19__ptr_traits_ptr_toIPccLb0EE10pointer_toERc = comdat any $_ZNSt15__new_allocatorIcEC2ERKS0_ = comdat any $_ZSt8distanceIPKcENSt15iterator_traitsIT_E15difference_typeES3_S3_ = comdat any $_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tagEN6_GuardC2EPS4_ = comdat any $_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tagEN6_GuardD2Ev = comdat any $_ZSt10__distanceIPKcENSt15iterator_traitsIT_E15difference_typeES3_S3_St26random_access_iterator_tag = comdat any $_ZSt19__iterator_categoryIPKcENSt15iterator_traitsIT_E17iterator_categoryERKS3_ = comdat any $_ZNSt11char_traitsIcE6assignERcRKc = comdat any $_ZNSt11char_traitsIcE4copyEPcPKcm = comdat any $_ZNSt19__ptr_traits_ptr_toIPKcS0_Lb0EE10pointer_toERS0_ = comdat any $_ZNSt16allocator_traitsISaIcEE10deallocateERS0_Pcm = comdat any $_ZNSt15__new_allocatorIcE10deallocateEPcm = comdat any $_ZN8rawspeed3md53MD58md5_initE = comdat any @.str = private unnamed_addr constant [5 x i8] c"%02x\00", align 1 @_ZN8rawspeed3md53MD58md5_initE = linkonce_odr hidden constant %"struct.std::array" { [4 x i32] [i32 1732584193, i32 -271733879, i32 -1732584194, i32 271733878] }, comdat, align 4 @.str.1 = private unnamed_addr constant [50 x i8] c"basic_string: construction from null is not valid\00", align 1 ; Function Attrs: mustprogress nounwind uwtable define hidden void @_ZN8rawspeed3md58md5_hashEPKhmPSt5arrayIjLm4EE(ptr noundef %message, i64 noundef %len, ptr noundef %hash) #0 { entry: %message.addr = alloca ptr, align 8 %len.addr = alloca i64, align 8 %hash.addr = alloca ptr, align 8 %hasher = alloca %"class.rawspeed::md5::MD5", align 4 %i = alloca i64, align 8 %ref.tmp = alloca %"struct.std::array", align 4 store ptr %message, ptr %message.addr, align 8, !tbaa !6 store i64 %len, ptr %len.addr, align 8, !tbaa !10 store ptr %hash, ptr %hash.addr, align 8, !tbaa !6 call void @llvm.lifetime.start.p0(i64 88, ptr %hasher) #18 call void @_ZN8rawspeed3md53MD5C2Ev(ptr noundef nonnull align 4 dereferenceable(88) %hasher) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %i) #18 store i64 0, ptr %i, align 8, !tbaa !10 br label %for.cond for.cond: ; preds = %for.inc, %entry %0 = load i64, ptr %i, align 8, !tbaa !10 %1 = load i64, ptr %len.addr, align 8, !tbaa !10 %cmp = icmp ne i64 %0, %1 br i1 %cmp, label %for.body, label %for.cond.cleanup for.cond.cleanup: ; preds = %for.cond call void @llvm.lifetime.end.p0(i64 8, ptr %i) #18 br label %for.end for.body: ; preds = %for.cond %2 = load ptr, ptr %message.addr, align 8, !tbaa !6 %3 = load i64, ptr %i, align 8, !tbaa !10 %arrayidx = getelementptr inbounds i8, ptr %2, i64 %3 %call = call noundef nonnull align 4 dereferenceable(88) ptr @_ZN8rawspeed3md53MD5lsIhEERS1_RKT_(ptr noundef nonnull align 4 dereferenceable(88) %hasher, ptr noundef nonnull align 1 dereferenceable(1) %arrayidx) #18 br label %for.inc for.inc: ; preds = %for.body %4 = load i64, ptr %i, align 8, !tbaa !10 %inc = add i64 %4, 1 store i64 %inc, ptr %i, align 8, !tbaa !10 br label %for.cond, !llvm.loop !12 for.end: ; preds = %for.cond.cleanup call void @llvm.lifetime.start.p0(i64 16, ptr %ref.tmp) #18 %call1 = call { i64, i64 } @_ZN8rawspeed3md53MD55flushEv(ptr noundef nonnull align 4 dereferenceable(88) %hasher) #18 %coerce.dive = getelementptr inbounds %"struct.std::array", ptr %ref.tmp, i32 0, i32 0 %5 = getelementptr inbounds { i64, i64 }, ptr %coerce.dive, i32 0, i32 0 %6 = extractvalue { i64, i64 } %call1, 0 store i64 %6, ptr %5, align 4 %7 = getelementptr inbounds { i64, i64 }, ptr %coerce.dive, i32 0, i32 1 %8 = extractvalue { i64, i64 } %call1, 1 store i64 %8, ptr %7, align 4 %9 = load ptr, ptr %hash.addr, align 8, !tbaa !6 call void @llvm.memcpy.p0.p0.i64(ptr align 4 %9, ptr align 4 %ref.tmp, i64 16, i1 false), !tbaa.struct !14 call void @llvm.lifetime.end.p0(i64 16, ptr %ref.tmp) #18 call void @llvm.lifetime.end.p0(i64 88, ptr %hasher) #18 ret void } ; Function Attrs: argmemonly nocallback nofree nosync nounwind willreturn declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1 ; Function Attrs: nounwind uwtable define linkonce_odr hidden void @_ZN8rawspeed3md53MD5C2Ev(ptr noundef nonnull align 4 dereferenceable(88) %this) unnamed_addr #2 comdat align 2 { entry: %this.addr = alloca ptr, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 %this1 = load ptr, ptr %this.addr, align 8 %state = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 0 %block = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 1 call void @_ZN8rawspeed3md53MD55resetEv(ptr noundef nonnull align 4 dereferenceable(88) %this1) #18 ret void } ; Function Attrs: alwaysinline mustprogress nounwind uwtable define linkonce_odr hidden noundef nonnull align 4 dereferenceable(88) ptr @_ZN8rawspeed3md53MD5lsIhEERS1_RKT_(ptr noundef nonnull align 4 dereferenceable(88) %this, ptr noundef nonnull align 1 dereferenceable(1) %v) #3 comdat align 2 { entry: %this.addr = alloca ptr, align 8 %v.addr = alloca ptr, align 8 %numBytesToProcess = alloca i32, align 4 store ptr %this, ptr %this.addr, align 8, !tbaa !6 store ptr %v, ptr %v.addr, align 8, !tbaa !6 %this1 = load ptr, ptr %this.addr, align 8 call void @llvm.lifetime.start.p0(i64 4, ptr %numBytesToProcess) #18 store i32 1, ptr %numBytesToProcess, align 4, !tbaa !16 %call = call noundef i32 @_ZNK8rawspeed3md53MD521bytesAvaliableInBlockEv(ptr noundef nonnull align 4 dereferenceable(88) %this1) #18 %cmp = icmp eq i32 %call, 0 br i1 %cmp, label %if.then, label %if.end if.then: ; preds = %entry call void @_ZN8rawspeed3md53MD513compressBlockEv(ptr noundef nonnull align 4 dereferenceable(88) %this1) #18 br label %if.end if.end: ; preds = %if.then, %entry %block = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 1 %call2 = call noundef ptr @_ZNSt5arrayIhLm64EE5beginEv(ptr noundef nonnull align 1 dereferenceable(64) %block) #19 %block_length = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 2 %0 = load i32, ptr %block_length, align 4, !tbaa !18 %idx.ext = sext i32 %0 to i64 %add.ptr = getelementptr inbounds i8, ptr %call2, i64 %idx.ext %1 = load ptr, ptr %v.addr, align 8, !tbaa !6 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %add.ptr, ptr align 1 %1, i64 1, i1 false) %block_length3 = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 2 %2 = load i32, ptr %block_length3, align 4, !tbaa !18 %add = add nsw i32 %2, 1 store i32 %add, ptr %block_length3, align 4, !tbaa !18 %bytes_total = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 3 %3 = load i32, ptr %bytes_total, align 4, !tbaa !22 %add4 = add nsw i32 %3, 1 store i32 %add4, ptr %bytes_total, align 4, !tbaa !22 call void @llvm.lifetime.end.p0(i64 4, ptr %numBytesToProcess) #18 ret ptr %this1 } ; Function Attrs: argmemonly nocallback nofree nosync nounwind willreturn declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1 ; Function Attrs: alwaysinline mustprogress nounwind uwtable define linkonce_odr hidden { i64, i64 } @_ZN8rawspeed3md53MD55flushEv(ptr noundef nonnull align 4 dereferenceable(88) %this) #3 comdat align 2 { entry: %retval = alloca %"struct.std::array", align 4 %this.addr = alloca ptr, align 8 %i = alloca i64, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 %this1 = load ptr, ptr %this.addr, align 8 %call = call noundef i32 @_ZNK8rawspeed3md53MD521bytesAvaliableInBlockEv(ptr noundef nonnull align 4 dereferenceable(88) %this1) #18 %cmp = icmp eq i32 %call, 0 br i1 %cmp, label %if.then, label %if.end if.then: ; preds = %entry call void @_ZN8rawspeed3md53MD513compressBlockEv(ptr noundef nonnull align 4 dereferenceable(88) %this1) #18 br label %if.end if.end: ; preds = %if.then, %entry %block = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 1 %block_length = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 2 %0 = load i32, ptr %block_length, align 4, !tbaa !18 %conv = sext i32 %0 to i64 %call2 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm64EEixEm(ptr noundef nonnull align 1 dereferenceable(64) %block, i64 noundef %conv) #18 store i8 -128, ptr %call2, align 1, !tbaa !15 %block_length3 = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 2 %1 = load i32, ptr %block_length3, align 4, !tbaa !18 %inc = add nsw i32 %1, 1 store i32 %inc, ptr %block_length3, align 4, !tbaa !18 %block4 = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 1 %block_length5 = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 2 %2 = load i32, ptr %block_length5, align 4, !tbaa !18 %conv6 = sext i32 %2 to i64 %call7 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm64EEixEm(ptr noundef nonnull align 1 dereferenceable(64) %block4, i64 noundef %conv6) #18 %call8 = call noundef i32 @_ZNK8rawspeed3md53MD521bytesAvaliableInBlockEv(ptr noundef nonnull align 4 dereferenceable(88) %this1) #18 %conv9 = sext i32 %call8 to i64 call void @llvm.memset.p0.i64(ptr align 1 %call7, i8 0, i64 %conv9, i1 false) %call10 = call noundef i32 @_ZNK8rawspeed3md53MD521bytesAvaliableInBlockEv(ptr noundef nonnull align 4 dereferenceable(88) %this1) #18 %cmp11 = icmp slt i32 %call10, 8 br i1 %cmp11, label %if.then12, label %if.end20 if.then12: ; preds = %if.end %block_length13 = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 2 store i32 64, ptr %block_length13, align 4, !tbaa !18 call void @_ZN8rawspeed3md53MD513compressBlockEv(ptr noundef nonnull align 4 dereferenceable(88) %this1) #18 %block14 = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 1 %block_length15 = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 2 %3 = load i32, ptr %block_length15, align 4, !tbaa !18 %conv16 = sext i32 %3 to i64 %call17 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm64EEixEm(ptr noundef nonnull align 1 dereferenceable(64) %block14, i64 noundef %conv16) #18 %call18 = call noundef i32 @_ZNK8rawspeed3md53MD521bytesAvaliableInBlockEv(ptr noundef nonnull align 4 dereferenceable(88) %this1) #18 %conv19 = sext i32 %call18 to i64 call void @llvm.memset.p0.i64(ptr align 1 %call17, i8 0, i64 %conv19, i1 false) br label %if.end20 if.end20: ; preds = %if.then12, %if.end %bytes_total = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 3 %4 = load i32, ptr %bytes_total, align 4, !tbaa !22 %and = and i32 %4, 31 %shl = shl i32 %and, 3 %conv21 = trunc i32 %shl to i8 %block22 = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 1 %call23 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm64EEixEm(ptr noundef nonnull align 1 dereferenceable(64) %block22, i64 noundef 56) #18 store i8 %conv21, ptr %call23, align 1, !tbaa !15 %bytes_total24 = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 3 %5 = load i32, ptr %bytes_total24, align 4, !tbaa !22 %shr = ashr i32 %5, 5 store i32 %shr, ptr %bytes_total24, align 4, !tbaa !22 call void @llvm.lifetime.start.p0(i64 8, ptr %i) #18 store i64 1, ptr %i, align 8, !tbaa !10 br label %for.cond for.cond: ; preds = %for.inc, %if.end20 %6 = load i64, ptr %i, align 8, !tbaa !10 %cmp25 = icmp ult i64 %6, 8 br i1 %cmp25, label %for.body, label %for.cond.cleanup for.cond.cleanup: ; preds = %for.cond call void @llvm.lifetime.end.p0(i64 8, ptr %i) #18 br label %for.end for.body: ; preds = %for.cond %bytes_total26 = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 3 %7 = load i32, ptr %bytes_total26, align 4, !tbaa !22 %conv27 = trunc i32 %7 to i8 %block28 = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 1 %8 = load i64, ptr %i, align 8, !tbaa !10 %add = add i64 56, %8 %call29 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm64EEixEm(ptr noundef nonnull align 1 dereferenceable(64) %block28, i64 noundef %add) #18 store i8 %conv27, ptr %call29, align 1, !tbaa !15 %bytes_total30 = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 3 %9 = load i32, ptr %bytes_total30, align 4, !tbaa !22 %shr31 = ashr i32 %9, 8 store i32 %shr31, ptr %bytes_total30, align 4, !tbaa !22 br label %for.inc for.inc: ; preds = %for.body %10 = load i64, ptr %i, align 8, !tbaa !10 %inc32 = add i64 %10, 1 store i64 %inc32, ptr %i, align 8, !tbaa !10 br label %for.cond, !llvm.loop !23 for.end: ; preds = %for.cond.cleanup %block_length33 = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 2 store i32 64, ptr %block_length33, align 4, !tbaa !18 call void @_ZN8rawspeed3md53MD513compressBlockEv(ptr noundef nonnull align 4 dereferenceable(88) %this1) #18 %state = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 0 call void @llvm.memcpy.p0.p0.i64(ptr align 4 %retval, ptr align 4 %state, i64 16, i1 false), !tbaa.struct !14 call void @_ZN8rawspeed3md53MD55resetEv(ptr noundef nonnull align 4 dereferenceable(88) %this1) #18 %coerce.dive = getelementptr inbounds %"struct.std::array", ptr %retval, i32 0, i32 0 %11 = load { i64, i64 }, ptr %coerce.dive, align 4 ret { i64, i64 } %11 } ; Function Attrs: argmemonly nocallback nofree nounwind willreturn declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #4 ; Function Attrs: mustprogress nounwind uwtable define hidden void @_ZN8rawspeed3md514hash_to_stringB5cxx11ERKSt5arrayIjLm4EE(ptr noalias sret(%"class.std::__cxx11::basic_string") align 8 %agg.result, ptr noundef nonnull align 4 dereferenceable(16) %hash) #0 personality ptr @__gxx_personality_v0 { entry: %result.ptr = alloca ptr, align 8 %hash.addr = alloca ptr, align 8 %res = alloca %"struct.std::array.1", align 1 %h = alloca ptr, align 8 %i = alloca i32, align 4 %ref.tmp = alloca %"class.std::allocator", align 1 store ptr %agg.result, ptr %result.ptr, align 8 store ptr %hash, ptr %hash.addr, align 8, !tbaa !6 call void @llvm.lifetime.start.p0(i64 33, ptr %res) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %h) #18 %0 = load ptr, ptr %hash.addr, align 8, !tbaa !6 %call = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt5arrayIjLm4EEixEm(ptr noundef nonnull align 4 dereferenceable(16) %0, i64 noundef 0) #18 store ptr %call, ptr %h, align 8, !tbaa !6 call void @llvm.lifetime.start.p0(i64 4, ptr %i) #18 store i32 0, ptr %i, align 4, !tbaa !16 br label %for.cond for.cond: ; preds = %for.inc, %entry %1 = load i32, ptr %i, align 4, !tbaa !16 %cmp = icmp slt i32 %1, 16 br i1 %cmp, label %for.body, label %for.cond.cleanup for.cond.cleanup: ; preds = %for.cond call void @llvm.lifetime.end.p0(i64 4, ptr %i) #18 br label %for.end for.body: ; preds = %for.cond %2 = load i32, ptr %i, align 4, !tbaa !16 %mul = mul nsw i32 2, %2 %conv = sext i32 %mul to i64 %call1 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIcLm33EEixEm(ptr noundef nonnull align 1 dereferenceable(33) %res, i64 noundef %conv) #18 %3 = load ptr, ptr %h, align 8, !tbaa !6 %4 = load i32, ptr %i, align 4, !tbaa !16 %idxprom = sext i32 %4 to i64 %arrayidx = getelementptr inbounds i8, ptr %3, i64 %idxprom %5 = load i8, ptr %arrayidx, align 1, !tbaa !15 %conv2 = zext i8 %5 to i32 %call3 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef %call1, i64 noundef 3, ptr noundef @.str, i32 noundef %conv2) #18 br label %for.inc for.inc: ; preds = %for.body %6 = load i32, ptr %i, align 4, !tbaa !16 %inc = add nsw i32 %6, 1 store i32 %inc, ptr %i, align 4, !tbaa !16 br label %for.cond, !llvm.loop !24 for.end: ; preds = %for.cond.cleanup %call4 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIcLm33EEixEm(ptr noundef nonnull align 1 dereferenceable(33) %res, i64 noundef 32) #18 store i8 0, ptr %call4, align 1, !tbaa !15 %call5 = call noundef ptr @_ZNSt5arrayIcLm33EE4dataEv(ptr noundef nonnull align 1 dereferenceable(33) %res) #19 call void @llvm.lifetime.start.p0(i64 1, ptr %ref.tmp) #18 call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp) #18 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %agg.result, ptr noundef %call5, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp) to label %invoke.cont unwind label %terminate.lpad invoke.cont: ; preds = %for.end call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %ref.tmp) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %h) #18 call void @llvm.lifetime.end.p0(i64 33, ptr %res) #18 ret void terminate.lpad: ; preds = %for.end %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 call void @__clang_call_terminate(ptr %8) #20 unreachable } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr hidden noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt5arrayIjLm4EEixEm(ptr noundef nonnull align 4 dereferenceable(16) %this, i64 noundef %__n) #0 comdat align 2 { entry: %this.addr = alloca ptr, align 8 %__n.addr = alloca i64, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 store i64 %__n, ptr %__n.addr, align 8, !tbaa !10 %this1 = load ptr, ptr %this.addr, align 8 %_M_elems = getelementptr inbounds %"struct.std::array", ptr %this1, i32 0, i32 0 %0 = load i64, ptr %__n.addr, align 8, !tbaa !10 %call = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt14__array_traitsIjLm4EE6_S_refERA4_Kjm(ptr noundef nonnull align 4 dereferenceable(16) %_M_elems, i64 noundef %0) #18 ret ptr %call } ; Function Attrs: nounwind declare i32 @snprintf(ptr noundef, i64 noundef, ptr noundef, ...) #5 ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr hidden noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIcLm33EEixEm(ptr noundef nonnull align 1 dereferenceable(33) %this, i64 noundef %__n) #0 comdat align 2 { entry: %this.addr = alloca ptr, align 8 %__n.addr = alloca i64, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 store i64 %__n, ptr %__n.addr, align 8, !tbaa !10 %this1 = load ptr, ptr %this.addr, align 8 %_M_elems = getelementptr inbounds %"struct.std::array.1", ptr %this1, i32 0, i32 0 %0 = load i64, ptr %__n.addr, align 8, !tbaa !10 %call = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt14__array_traitsIcLm33EE6_S_refERA33_Kcm(ptr noundef nonnull align 1 dereferenceable(33) %_M_elems, i64 noundef %0) #18 ret ptr %call } ; Function Attrs: mustprogress nounwind readnone willreturn uwtable define linkonce_odr hidden noundef ptr @_ZNSt5arrayIcLm33EE4dataEv(ptr noundef nonnull align 1 dereferenceable(33) %this) #6 comdat align 2 { entry: %this.addr = alloca ptr, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 %this1 = load ptr, ptr %this.addr, align 8 %_M_elems = getelementptr inbounds %"struct.std::array.1", ptr %this1, i32 0, i32 0 %call = call noundef ptr @_ZNSt14__array_traitsIcLm33EE6_S_ptrERA33_Kc(ptr noundef nonnull align 1 dereferenceable(33) %_M_elems) #18 ret ptr %call } ; Function Attrs: nounwind uwtable define available_externally void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %this) unnamed_addr #2 align 2 { entry: %this.addr = alloca ptr, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 %this1 = load ptr, ptr %this.addr, align 8 call void @_ZNSt15__new_allocatorIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %this1) #18 ret void } ; Function Attrs: uwtable define linkonce_odr hidden void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %this, ptr noundef %__s, ptr noundef nonnull align 1 dereferenceable(1) %__a) unnamed_addr #7 comdat align 2 personality ptr @__gxx_personality_v0 { entry: %this.addr = alloca ptr, align 8 %__s.addr = alloca ptr, align 8 %__a.addr = alloca ptr, align 8 %exn.slot = alloca ptr, align 8 %ehselector.slot = alloca i32, align 4 %__end = alloca ptr, align 8 %agg.tmp = alloca %"struct.std::forward_iterator_tag", align 1 store ptr %this, ptr %this.addr, align 8, !tbaa !6 store ptr %__s, ptr %__s.addr, align 8, !tbaa !6 store ptr %__a, ptr %__a.addr, align 8, !tbaa !6 %this1 = load ptr, ptr %this.addr, align 8 %_M_dataplus = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %this1, i32 0, i32 0 %call = call noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %this1) %0 = load ptr, ptr %__a.addr, align 8, !tbaa !6 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_(ptr noundef nonnull align 8 dereferenceable(8) %_M_dataplus, ptr noundef %call, ptr noundef nonnull align 1 dereferenceable(1) %0) %1 = load ptr, ptr %__s.addr, align 8, !tbaa !6 %cmp = icmp eq ptr %1, null br i1 %cmp, label %if.then, label %if.end if.then: ; preds = %entry invoke void @_ZSt19__throw_logic_errorPKc(ptr noundef @.str.1) #21 to label %invoke.cont unwind label %lpad invoke.cont: ; preds = %if.then unreachable lpad: ; preds = %if.then %2 = landingpad { ptr, i32 } cleanup %3 = extractvalue { ptr, i32 } %2, 0 store ptr %3, ptr %exn.slot, align 8 %4 = extractvalue { ptr, i32 } %2, 1 store i32 %4, ptr %ehselector.slot, align 4 br label %ehcleanup if.end: ; preds = %entry call void @llvm.lifetime.start.p0(i64 8, ptr %__end) #18 %5 = load ptr, ptr %__s.addr, align 8, !tbaa !6 %6 = load ptr, ptr %__s.addr, align 8, !tbaa !6 %call4 = invoke noundef i64 @_ZNSt11char_traitsIcE6lengthEPKc(ptr noundef %6) to label %invoke.cont3 unwind label %lpad2 invoke.cont3: ; preds = %if.end %add.ptr = getelementptr inbounds i8, ptr %5, i64 %call4 store ptr %add.ptr, ptr %__end, align 8, !tbaa !6 %7 = load ptr, ptr %__s.addr, align 8, !tbaa !6 %8 = load ptr, ptr %__end, align 8, !tbaa !6 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(32) %this1, ptr noundef %7, ptr noundef %8) to label %invoke.cont5 unwind label %lpad2 invoke.cont5: ; preds = %invoke.cont3 call void @llvm.lifetime.end.p0(i64 8, ptr %__end) #18 ret void lpad2: ; preds = %invoke.cont3, %if.end %9 = landingpad { ptr, i32 } cleanup %10 = extractvalue { ptr, i32 } %9, 0 store ptr %10, ptr %exn.slot, align 8 %11 = extractvalue { ptr, i32 } %9, 1 store i32 %11, ptr %ehselector.slot, align 4 call void @llvm.lifetime.end.p0(i64 8, ptr %__end) #18 br label %ehcleanup ehcleanup: ; preds = %lpad2, %lpad call void @_ZNSaIcED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %_M_dataplus) #18 br label %eh.resume eh.resume: ; preds = %ehcleanup %exn = load ptr, ptr %exn.slot, align 8 %sel = load i32, ptr %ehselector.slot, align 4 %lpad.val = insertvalue { ptr, i32 } undef, ptr %exn, 0 %lpad.val6 = insertvalue { ptr, i32 } %lpad.val, i32 %sel, 1 resume { ptr, i32 } %lpad.val6 } declare i32 @__gxx_personality_v0(...) ; Function Attrs: noinline noreturn nounwind define linkonce_odr hidden void @__clang_call_terminate(ptr %0) #8 comdat { %2 = call ptr @__cxa_begin_catch(ptr %0) #18 call void @_ZSt9terminatev() #20 unreachable } declare ptr @__cxa_begin_catch(ptr) declare void @_ZSt9terminatev() ; Function Attrs: mustprogress nounwind uwtable define hidden void @_ZN8rawspeed3md58md5_hashB5cxx11EPKhm(ptr noalias sret(%"class.std::__cxx11::basic_string") align 8 %agg.result, ptr noundef %message, i64 noundef %len) #0 { entry: %result.ptr = alloca ptr, align 8 %message.addr = alloca ptr, align 8 %len.addr = alloca i64, align 8 %hash = alloca %"struct.std::array", align 4 store ptr %agg.result, ptr %result.ptr, align 8 store ptr %message, ptr %message.addr, align 8, !tbaa !6 store i64 %len, ptr %len.addr, align 8, !tbaa !10 call void @llvm.lifetime.start.p0(i64 16, ptr %hash) #18 %0 = load ptr, ptr %message.addr, align 8, !tbaa !6 %1 = load i64, ptr %len.addr, align 8, !tbaa !10 call void @_ZN8rawspeed3md58md5_hashEPKhmPSt5arrayIjLm4EE(ptr noundef %0, i64 noundef %1, ptr noundef %hash) #18 call void @_ZN8rawspeed3md514hash_to_stringB5cxx11ERKSt5arrayIjLm4EE(ptr sret(%"class.std::__cxx11::basic_string") align 8 %agg.result, ptr noundef nonnull align 4 dereferenceable(16) %hash) #18 call void @llvm.lifetime.end.p0(i64 16, ptr %hash) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr hidden void @_ZN8rawspeed3md53MD55resetEv(ptr noundef nonnull align 4 dereferenceable(88) %this) #0 comdat align 2 { entry: %this.addr = alloca ptr, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 %this1 = load ptr, ptr %this.addr, align 8 %state = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 0 call void @llvm.memcpy.p0.p0.i64(ptr align 4 %state, ptr align 4 @_ZN8rawspeed3md53MD58md5_initE, i64 16, i1 false), !tbaa.struct !14 %block_length = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 2 store i32 0, ptr %block_length, align 4, !tbaa !18 %bytes_total = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 3 store i32 0, ptr %bytes_total, align 4, !tbaa !22 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr hidden noundef i32 @_ZNK8rawspeed3md53MD521bytesAvaliableInBlockEv(ptr noundef nonnull align 4 dereferenceable(88) %this) #0 comdat align 2 { entry: %this.addr = alloca ptr, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 %this1 = load ptr, ptr %this.addr, align 8 %block_length = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 2 %0 = load i32, ptr %block_length, align 4, !tbaa !18 %sub = sub nsw i32 64, %0 ret i32 %sub } ; Function Attrs: mustprogress noinline nounwind uwtable define linkonce_odr hidden void @_ZN8rawspeed3md53MD513compressBlockEv(ptr noundef nonnull align 4 dereferenceable(88) %this) #9 comdat align 2 personality ptr @__gxx_personality_v0 { entry: %this.addr = alloca ptr, align 8 %schedule = alloca %"struct.std::array.2", align 4 %LOADSCHEDULE = alloca %class.anon, align 8 %i = alloca i32, align 4 %ROTL32 = alloca %class.anon.3, align 1 %ROUND_TAIL = alloca %class.anon.4, align 8 %ROUND0 = alloca %class.anon.5, align 8 %ROUND1 = alloca %class.anon.6, align 8 %ROUND2 = alloca %class.anon.7, align 8 %ROUND3 = alloca %class.anon.8, align 8 %tmp = alloca %"struct.std::array", align 4 %i2 = alloca i32, align 4 %a = alloca ptr, align 8 %b = alloca ptr, align 8 %c = alloca ptr, align 8 %d = alloca ptr, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 %this1 = load ptr, ptr %this.addr, align 8 call void @llvm.lifetime.start.p0(i64 64, ptr %schedule) #18 call void @llvm.memset.p0.i64(ptr align 4 %schedule, i8 0, i64 64, i1 false) call void @llvm.lifetime.start.p0(i64 16, ptr %LOADSCHEDULE) #18 %0 = getelementptr inbounds %class.anon, ptr %LOADSCHEDULE, i32 0, i32 0 store ptr %this1, ptr %0, align 8, !tbaa !25 %1 = getelementptr inbounds %class.anon, ptr %LOADSCHEDULE, i32 0, i32 1 store ptr %schedule, ptr %1, align 8, !tbaa !6 call void @llvm.lifetime.start.p0(i64 4, ptr %i) #18 store i32 0, ptr %i, align 4, !tbaa !16 br label %for.cond for.cond: ; preds = %for.inc, %entry %2 = load i32, ptr %i, align 4, !tbaa !16 %cmp = icmp slt i32 %2, 16 br i1 %cmp, label %for.body, label %for.cond.cleanup for.cond.cleanup: ; preds = %for.cond call void @llvm.lifetime.end.p0(i64 4, ptr %i) #18 br label %for.end for.body: ; preds = %for.cond %3 = load i32, ptr %i, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUliE_clEi(ptr noundef nonnull align 8 dereferenceable(16) %LOADSCHEDULE, i32 noundef %3) to label %invoke.cont unwind label %terminate.lpad invoke.cont: ; preds = %for.body br label %for.inc for.inc: ; preds = %invoke.cont %4 = load i32, ptr %i, align 4, !tbaa !16 %inc = add nsw i32 %4, 1 store i32 %inc, ptr %i, align 4, !tbaa !16 br label %for.cond, !llvm.loop !27 for.end: ; preds = %for.cond.cleanup %block_length = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 2 store i32 0, ptr %block_length, align 4, !tbaa !18 call void @llvm.lifetime.start.p0(i64 1, ptr %ROTL32) #18 call void @llvm.lifetime.start.p0(i64 16, ptr %ROUND_TAIL) #18 %5 = getelementptr inbounds %class.anon.4, ptr %ROUND_TAIL, i32 0, i32 0 %6 = getelementptr inbounds %class.anon.4, ptr %ROUND_TAIL, i32 0, i32 1 store ptr %schedule, ptr %6, align 8, !tbaa !6 call void @llvm.lifetime.start.p0(i64 16, ptr %ROUND0) #18 %7 = getelementptr inbounds %class.anon.5, ptr %ROUND0, i32 0, i32 0 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %ROUND_TAIL, i64 16, i1 false), !tbaa.struct !28 call void @llvm.lifetime.start.p0(i64 16, ptr %ROUND1) #18 %8 = getelementptr inbounds %class.anon.6, ptr %ROUND1, i32 0, i32 0 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %ROUND_TAIL, i64 16, i1 false), !tbaa.struct !28 call void @llvm.lifetime.start.p0(i64 16, ptr %ROUND2) #18 %9 = getelementptr inbounds %class.anon.7, ptr %ROUND2, i32 0, i32 0 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %ROUND_TAIL, i64 16, i1 false), !tbaa.struct !28 call void @llvm.lifetime.start.p0(i64 16, ptr %ROUND3) #18 %10 = getelementptr inbounds %class.anon.8, ptr %ROUND3, i32 0, i32 0 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %ROUND_TAIL, i64 16, i1 false), !tbaa.struct !28 call void @llvm.lifetime.start.p0(i64 16, ptr %tmp) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %i2) #18 store i32 0, ptr %i2, align 4, !tbaa !16 br label %for.cond3 for.cond3: ; preds = %for.inc9, %for.end %11 = load i32, ptr %i2, align 4, !tbaa !16 %cmp4 = icmp ne i32 %11, 4 br i1 %cmp4, label %for.body6, label %for.cond.cleanup5 for.cond.cleanup5: ; preds = %for.cond3 call void @llvm.lifetime.end.p0(i64 4, ptr %i2) #18 br label %for.end11 for.body6: ; preds = %for.cond3 %state = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 0 %12 = load i32, ptr %i2, align 4, !tbaa !16 %conv = sext i32 %12 to i64 %call = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt5arrayIjLm4EEixEm(ptr noundef nonnull align 4 dereferenceable(16) %state, i64 noundef %conv) #18 %13 = load i32, ptr %call, align 4, !tbaa !16 %14 = load i32, ptr %i2, align 4, !tbaa !16 %conv7 = sext i32 %14 to i64 %call8 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt5arrayIjLm4EEixEm(ptr noundef nonnull align 4 dereferenceable(16) %tmp, i64 noundef %conv7) #18 store i32 %13, ptr %call8, align 4, !tbaa !16 br label %for.inc9 for.inc9: ; preds = %for.body6 %15 = load i32, ptr %i2, align 4, !tbaa !16 %inc10 = add nsw i32 %15, 1 store i32 %inc10, ptr %i2, align 4, !tbaa !16 br label %for.cond3, !llvm.loop !29 for.end11: ; preds = %for.cond.cleanup5 call void @llvm.lifetime.start.p0(i64 8, ptr %a) #18 %call12 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt5arrayIjLm4EEixEm(ptr noundef nonnull align 4 dereferenceable(16) %tmp, i64 noundef 0) #18 store ptr %call12, ptr %a, align 8, !tbaa !6 call void @llvm.lifetime.start.p0(i64 8, ptr %b) #18 %call13 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt5arrayIjLm4EEixEm(ptr noundef nonnull align 4 dereferenceable(16) %tmp, i64 noundef 1) #18 store ptr %call13, ptr %b, align 8, !tbaa !6 call void @llvm.lifetime.start.p0(i64 8, ptr %c) #18 %call14 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt5arrayIjLm4EEixEm(ptr noundef nonnull align 4 dereferenceable(16) %tmp, i64 noundef 2) #18 store ptr %call14, ptr %c, align 8, !tbaa !6 call void @llvm.lifetime.start.p0(i64 8, ptr %d) #18 %call15 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt5arrayIjLm4EEixEm(ptr noundef nonnull align 4 dereferenceable(16) %tmp, i64 noundef 3) #18 store ptr %call15, ptr %d, align 8, !tbaa !6 %16 = load ptr, ptr %a, align 8, !tbaa !6 %17 = load ptr, ptr %b, align 8, !tbaa !6 %18 = load i32, ptr %17, align 4, !tbaa !16 %19 = load ptr, ptr %c, align 8, !tbaa !6 %20 = load i32, ptr %19, align 4, !tbaa !16 %21 = load ptr, ptr %d, align 8, !tbaa !6 %22 = load i32, ptr %21, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND0, ptr noundef nonnull align 4 dereferenceable(4) %16, i32 noundef %18, i32 noundef %20, i32 noundef %22, i32 noundef 0, i32 noundef 7, i32 noundef -680876936) to label %invoke.cont16 unwind label %terminate.lpad invoke.cont16: ; preds = %for.end11 %23 = load ptr, ptr %d, align 8, !tbaa !6 %24 = load ptr, ptr %a, align 8, !tbaa !6 %25 = load i32, ptr %24, align 4, !tbaa !16 %26 = load ptr, ptr %b, align 8, !tbaa !6 %27 = load i32, ptr %26, align 4, !tbaa !16 %28 = load ptr, ptr %c, align 8, !tbaa !6 %29 = load i32, ptr %28, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND0, ptr noundef nonnull align 4 dereferenceable(4) %23, i32 noundef %25, i32 noundef %27, i32 noundef %29, i32 noundef 1, i32 noundef 12, i32 noundef -389564586) to label %invoke.cont17 unwind label %terminate.lpad invoke.cont17: ; preds = %invoke.cont16 %30 = load ptr, ptr %c, align 8, !tbaa !6 %31 = load ptr, ptr %d, align 8, !tbaa !6 %32 = load i32, ptr %31, align 4, !tbaa !16 %33 = load ptr, ptr %a, align 8, !tbaa !6 %34 = load i32, ptr %33, align 4, !tbaa !16 %35 = load ptr, ptr %b, align 8, !tbaa !6 %36 = load i32, ptr %35, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND0, ptr noundef nonnull align 4 dereferenceable(4) %30, i32 noundef %32, i32 noundef %34, i32 noundef %36, i32 noundef 2, i32 noundef 17, i32 noundef 606105819) to label %invoke.cont18 unwind label %terminate.lpad invoke.cont18: ; preds = %invoke.cont17 %37 = load ptr, ptr %b, align 8, !tbaa !6 %38 = load ptr, ptr %c, align 8, !tbaa !6 %39 = load i32, ptr %38, align 4, !tbaa !16 %40 = load ptr, ptr %d, align 8, !tbaa !6 %41 = load i32, ptr %40, align 4, !tbaa !16 %42 = load ptr, ptr %a, align 8, !tbaa !6 %43 = load i32, ptr %42, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND0, ptr noundef nonnull align 4 dereferenceable(4) %37, i32 noundef %39, i32 noundef %41, i32 noundef %43, i32 noundef 3, i32 noundef 22, i32 noundef -1044525330) to label %invoke.cont19 unwind label %terminate.lpad invoke.cont19: ; preds = %invoke.cont18 %44 = load ptr, ptr %a, align 8, !tbaa !6 %45 = load ptr, ptr %b, align 8, !tbaa !6 %46 = load i32, ptr %45, align 4, !tbaa !16 %47 = load ptr, ptr %c, align 8, !tbaa !6 %48 = load i32, ptr %47, align 4, !tbaa !16 %49 = load ptr, ptr %d, align 8, !tbaa !6 %50 = load i32, ptr %49, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND0, ptr noundef nonnull align 4 dereferenceable(4) %44, i32 noundef %46, i32 noundef %48, i32 noundef %50, i32 noundef 4, i32 noundef 7, i32 noundef -176418897) to label %invoke.cont20 unwind label %terminate.lpad invoke.cont20: ; preds = %invoke.cont19 %51 = load ptr, ptr %d, align 8, !tbaa !6 %52 = load ptr, ptr %a, align 8, !tbaa !6 %53 = load i32, ptr %52, align 4, !tbaa !16 %54 = load ptr, ptr %b, align 8, !tbaa !6 %55 = load i32, ptr %54, align 4, !tbaa !16 %56 = load ptr, ptr %c, align 8, !tbaa !6 %57 = load i32, ptr %56, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND0, ptr noundef nonnull align 4 dereferenceable(4) %51, i32 noundef %53, i32 noundef %55, i32 noundef %57, i32 noundef 5, i32 noundef 12, i32 noundef 1200080426) to label %invoke.cont21 unwind label %terminate.lpad invoke.cont21: ; preds = %invoke.cont20 %58 = load ptr, ptr %c, align 8, !tbaa !6 %59 = load ptr, ptr %d, align 8, !tbaa !6 %60 = load i32, ptr %59, align 4, !tbaa !16 %61 = load ptr, ptr %a, align 8, !tbaa !6 %62 = load i32, ptr %61, align 4, !tbaa !16 %63 = load ptr, ptr %b, align 8, !tbaa !6 %64 = load i32, ptr %63, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND0, ptr noundef nonnull align 4 dereferenceable(4) %58, i32 noundef %60, i32 noundef %62, i32 noundef %64, i32 noundef 6, i32 noundef 17, i32 noundef -1473231341) to label %invoke.cont22 unwind label %terminate.lpad invoke.cont22: ; preds = %invoke.cont21 %65 = load ptr, ptr %b, align 8, !tbaa !6 %66 = load ptr, ptr %c, align 8, !tbaa !6 %67 = load i32, ptr %66, align 4, !tbaa !16 %68 = load ptr, ptr %d, align 8, !tbaa !6 %69 = load i32, ptr %68, align 4, !tbaa !16 %70 = load ptr, ptr %a, align 8, !tbaa !6 %71 = load i32, ptr %70, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND0, ptr noundef nonnull align 4 dereferenceable(4) %65, i32 noundef %67, i32 noundef %69, i32 noundef %71, i32 noundef 7, i32 noundef 22, i32 noundef -45705983) to label %invoke.cont23 unwind label %terminate.lpad invoke.cont23: ; preds = %invoke.cont22 %72 = load ptr, ptr %a, align 8, !tbaa !6 %73 = load ptr, ptr %b, align 8, !tbaa !6 %74 = load i32, ptr %73, align 4, !tbaa !16 %75 = load ptr, ptr %c, align 8, !tbaa !6 %76 = load i32, ptr %75, align 4, !tbaa !16 %77 = load ptr, ptr %d, align 8, !tbaa !6 %78 = load i32, ptr %77, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND0, ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef %74, i32 noundef %76, i32 noundef %78, i32 noundef 8, i32 noundef 7, i32 noundef 1770035416) to label %invoke.cont24 unwind label %terminate.lpad invoke.cont24: ; preds = %invoke.cont23 %79 = load ptr, ptr %d, align 8, !tbaa !6 %80 = load ptr, ptr %a, align 8, !tbaa !6 %81 = load i32, ptr %80, align 4, !tbaa !16 %82 = load ptr, ptr %b, align 8, !tbaa !6 %83 = load i32, ptr %82, align 4, !tbaa !16 %84 = load ptr, ptr %c, align 8, !tbaa !6 %85 = load i32, ptr %84, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND0, ptr noundef nonnull align 4 dereferenceable(4) %79, i32 noundef %81, i32 noundef %83, i32 noundef %85, i32 noundef 9, i32 noundef 12, i32 noundef -1958414417) to label %invoke.cont25 unwind label %terminate.lpad invoke.cont25: ; preds = %invoke.cont24 %86 = load ptr, ptr %c, align 8, !tbaa !6 %87 = load ptr, ptr %d, align 8, !tbaa !6 %88 = load i32, ptr %87, align 4, !tbaa !16 %89 = load ptr, ptr %a, align 8, !tbaa !6 %90 = load i32, ptr %89, align 4, !tbaa !16 %91 = load ptr, ptr %b, align 8, !tbaa !6 %92 = load i32, ptr %91, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND0, ptr noundef nonnull align 4 dereferenceable(4) %86, i32 noundef %88, i32 noundef %90, i32 noundef %92, i32 noundef 10, i32 noundef 17, i32 noundef -42063) to label %invoke.cont26 unwind label %terminate.lpad invoke.cont26: ; preds = %invoke.cont25 %93 = load ptr, ptr %b, align 8, !tbaa !6 %94 = load ptr, ptr %c, align 8, !tbaa !6 %95 = load i32, ptr %94, align 4, !tbaa !16 %96 = load ptr, ptr %d, align 8, !tbaa !6 %97 = load i32, ptr %96, align 4, !tbaa !16 %98 = load ptr, ptr %a, align 8, !tbaa !6 %99 = load i32, ptr %98, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND0, ptr noundef nonnull align 4 dereferenceable(4) %93, i32 noundef %95, i32 noundef %97, i32 noundef %99, i32 noundef 11, i32 noundef 22, i32 noundef -1990404162) to label %invoke.cont27 unwind label %terminate.lpad invoke.cont27: ; preds = %invoke.cont26 %100 = load ptr, ptr %a, align 8, !tbaa !6 %101 = load ptr, ptr %b, align 8, !tbaa !6 %102 = load i32, ptr %101, align 4, !tbaa !16 %103 = load ptr, ptr %c, align 8, !tbaa !6 %104 = load i32, ptr %103, align 4, !tbaa !16 %105 = load ptr, ptr %d, align 8, !tbaa !6 %106 = load i32, ptr %105, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND0, ptr noundef nonnull align 4 dereferenceable(4) %100, i32 noundef %102, i32 noundef %104, i32 noundef %106, i32 noundef 12, i32 noundef 7, i32 noundef 1804603682) to label %invoke.cont28 unwind label %terminate.lpad invoke.cont28: ; preds = %invoke.cont27 %107 = load ptr, ptr %d, align 8, !tbaa !6 %108 = load ptr, ptr %a, align 8, !tbaa !6 %109 = load i32, ptr %108, align 4, !tbaa !16 %110 = load ptr, ptr %b, align 8, !tbaa !6 %111 = load i32, ptr %110, align 4, !tbaa !16 %112 = load ptr, ptr %c, align 8, !tbaa !6 %113 = load i32, ptr %112, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND0, ptr noundef nonnull align 4 dereferenceable(4) %107, i32 noundef %109, i32 noundef %111, i32 noundef %113, i32 noundef 13, i32 noundef 12, i32 noundef -40341101) to label %invoke.cont29 unwind label %terminate.lpad invoke.cont29: ; preds = %invoke.cont28 %114 = load ptr, ptr %c, align 8, !tbaa !6 %115 = load ptr, ptr %d, align 8, !tbaa !6 %116 = load i32, ptr %115, align 4, !tbaa !16 %117 = load ptr, ptr %a, align 8, !tbaa !6 %118 = load i32, ptr %117, align 4, !tbaa !16 %119 = load ptr, ptr %b, align 8, !tbaa !6 %120 = load i32, ptr %119, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND0, ptr noundef nonnull align 4 dereferenceable(4) %114, i32 noundef %116, i32 noundef %118, i32 noundef %120, i32 noundef 14, i32 noundef 17, i32 noundef -1502002290) to label %invoke.cont30 unwind label %terminate.lpad invoke.cont30: ; preds = %invoke.cont29 %121 = load ptr, ptr %b, align 8, !tbaa !6 %122 = load ptr, ptr %c, align 8, !tbaa !6 %123 = load i32, ptr %122, align 4, !tbaa !16 %124 = load ptr, ptr %d, align 8, !tbaa !6 %125 = load i32, ptr %124, align 4, !tbaa !16 %126 = load ptr, ptr %a, align 8, !tbaa !6 %127 = load i32, ptr %126, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND0, ptr noundef nonnull align 4 dereferenceable(4) %121, i32 noundef %123, i32 noundef %125, i32 noundef %127, i32 noundef 15, i32 noundef 22, i32 noundef 1236535329) to label %invoke.cont31 unwind label %terminate.lpad invoke.cont31: ; preds = %invoke.cont30 %128 = load ptr, ptr %a, align 8, !tbaa !6 %129 = load ptr, ptr %b, align 8, !tbaa !6 %130 = load i32, ptr %129, align 4, !tbaa !16 %131 = load ptr, ptr %c, align 8, !tbaa !6 %132 = load i32, ptr %131, align 4, !tbaa !16 %133 = load ptr, ptr %d, align 8, !tbaa !6 %134 = load i32, ptr %133, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE0_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND1, ptr noundef nonnull align 4 dereferenceable(4) %128, i32 noundef %130, i32 noundef %132, i32 noundef %134, i32 noundef 1, i32 noundef 5, i32 noundef -165796510) to label %invoke.cont32 unwind label %terminate.lpad invoke.cont32: ; preds = %invoke.cont31 %135 = load ptr, ptr %d, align 8, !tbaa !6 %136 = load ptr, ptr %a, align 8, !tbaa !6 %137 = load i32, ptr %136, align 4, !tbaa !16 %138 = load ptr, ptr %b, align 8, !tbaa !6 %139 = load i32, ptr %138, align 4, !tbaa !16 %140 = load ptr, ptr %c, align 8, !tbaa !6 %141 = load i32, ptr %140, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE0_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND1, ptr noundef nonnull align 4 dereferenceable(4) %135, i32 noundef %137, i32 noundef %139, i32 noundef %141, i32 noundef 6, i32 noundef 9, i32 noundef -1069501632) to label %invoke.cont33 unwind label %terminate.lpad invoke.cont33: ; preds = %invoke.cont32 %142 = load ptr, ptr %c, align 8, !tbaa !6 %143 = load ptr, ptr %d, align 8, !tbaa !6 %144 = load i32, ptr %143, align 4, !tbaa !16 %145 = load ptr, ptr %a, align 8, !tbaa !6 %146 = load i32, ptr %145, align 4, !tbaa !16 %147 = load ptr, ptr %b, align 8, !tbaa !6 %148 = load i32, ptr %147, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE0_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND1, ptr noundef nonnull align 4 dereferenceable(4) %142, i32 noundef %144, i32 noundef %146, i32 noundef %148, i32 noundef 11, i32 noundef 14, i32 noundef 643717713) to label %invoke.cont34 unwind label %terminate.lpad invoke.cont34: ; preds = %invoke.cont33 %149 = load ptr, ptr %b, align 8, !tbaa !6 %150 = load ptr, ptr %c, align 8, !tbaa !6 %151 = load i32, ptr %150, align 4, !tbaa !16 %152 = load ptr, ptr %d, align 8, !tbaa !6 %153 = load i32, ptr %152, align 4, !tbaa !16 %154 = load ptr, ptr %a, align 8, !tbaa !6 %155 = load i32, ptr %154, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE0_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND1, ptr noundef nonnull align 4 dereferenceable(4) %149, i32 noundef %151, i32 noundef %153, i32 noundef %155, i32 noundef 0, i32 noundef 20, i32 noundef -373897302) to label %invoke.cont35 unwind label %terminate.lpad invoke.cont35: ; preds = %invoke.cont34 %156 = load ptr, ptr %a, align 8, !tbaa !6 %157 = load ptr, ptr %b, align 8, !tbaa !6 %158 = load i32, ptr %157, align 4, !tbaa !16 %159 = load ptr, ptr %c, align 8, !tbaa !6 %160 = load i32, ptr %159, align 4, !tbaa !16 %161 = load ptr, ptr %d, align 8, !tbaa !6 %162 = load i32, ptr %161, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE0_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND1, ptr noundef nonnull align 4 dereferenceable(4) %156, i32 noundef %158, i32 noundef %160, i32 noundef %162, i32 noundef 5, i32 noundef 5, i32 noundef -701558691) to label %invoke.cont36 unwind label %terminate.lpad invoke.cont36: ; preds = %invoke.cont35 %163 = load ptr, ptr %d, align 8, !tbaa !6 %164 = load ptr, ptr %a, align 8, !tbaa !6 %165 = load i32, ptr %164, align 4, !tbaa !16 %166 = load ptr, ptr %b, align 8, !tbaa !6 %167 = load i32, ptr %166, align 4, !tbaa !16 %168 = load ptr, ptr %c, align 8, !tbaa !6 %169 = load i32, ptr %168, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE0_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND1, ptr noundef nonnull align 4 dereferenceable(4) %163, i32 noundef %165, i32 noundef %167, i32 noundef %169, i32 noundef 10, i32 noundef 9, i32 noundef 38016083) to label %invoke.cont37 unwind label %terminate.lpad invoke.cont37: ; preds = %invoke.cont36 %170 = load ptr, ptr %c, align 8, !tbaa !6 %171 = load ptr, ptr %d, align 8, !tbaa !6 %172 = load i32, ptr %171, align 4, !tbaa !16 %173 = load ptr, ptr %a, align 8, !tbaa !6 %174 = load i32, ptr %173, align 4, !tbaa !16 %175 = load ptr, ptr %b, align 8, !tbaa !6 %176 = load i32, ptr %175, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE0_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND1, ptr noundef nonnull align 4 dereferenceable(4) %170, i32 noundef %172, i32 noundef %174, i32 noundef %176, i32 noundef 15, i32 noundef 14, i32 noundef -660478335) to label %invoke.cont38 unwind label %terminate.lpad invoke.cont38: ; preds = %invoke.cont37 %177 = load ptr, ptr %b, align 8, !tbaa !6 %178 = load ptr, ptr %c, align 8, !tbaa !6 %179 = load i32, ptr %178, align 4, !tbaa !16 %180 = load ptr, ptr %d, align 8, !tbaa !6 %181 = load i32, ptr %180, align 4, !tbaa !16 %182 = load ptr, ptr %a, align 8, !tbaa !6 %183 = load i32, ptr %182, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE0_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND1, ptr noundef nonnull align 4 dereferenceable(4) %177, i32 noundef %179, i32 noundef %181, i32 noundef %183, i32 noundef 4, i32 noundef 20, i32 noundef -405537848) to label %invoke.cont39 unwind label %terminate.lpad invoke.cont39: ; preds = %invoke.cont38 %184 = load ptr, ptr %a, align 8, !tbaa !6 %185 = load ptr, ptr %b, align 8, !tbaa !6 %186 = load i32, ptr %185, align 4, !tbaa !16 %187 = load ptr, ptr %c, align 8, !tbaa !6 %188 = load i32, ptr %187, align 4, !tbaa !16 %189 = load ptr, ptr %d, align 8, !tbaa !6 %190 = load i32, ptr %189, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE0_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND1, ptr noundef nonnull align 4 dereferenceable(4) %184, i32 noundef %186, i32 noundef %188, i32 noundef %190, i32 noundef 9, i32 noundef 5, i32 noundef 568446438) to label %invoke.cont40 unwind label %terminate.lpad invoke.cont40: ; preds = %invoke.cont39 %191 = load ptr, ptr %d, align 8, !tbaa !6 %192 = load ptr, ptr %a, align 8, !tbaa !6 %193 = load i32, ptr %192, align 4, !tbaa !16 %194 = load ptr, ptr %b, align 8, !tbaa !6 %195 = load i32, ptr %194, align 4, !tbaa !16 %196 = load ptr, ptr %c, align 8, !tbaa !6 %197 = load i32, ptr %196, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE0_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND1, ptr noundef nonnull align 4 dereferenceable(4) %191, i32 noundef %193, i32 noundef %195, i32 noundef %197, i32 noundef 14, i32 noundef 9, i32 noundef -1019803690) to label %invoke.cont41 unwind label %terminate.lpad invoke.cont41: ; preds = %invoke.cont40 %198 = load ptr, ptr %c, align 8, !tbaa !6 %199 = load ptr, ptr %d, align 8, !tbaa !6 %200 = load i32, ptr %199, align 4, !tbaa !16 %201 = load ptr, ptr %a, align 8, !tbaa !6 %202 = load i32, ptr %201, align 4, !tbaa !16 %203 = load ptr, ptr %b, align 8, !tbaa !6 %204 = load i32, ptr %203, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE0_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND1, ptr noundef nonnull align 4 dereferenceable(4) %198, i32 noundef %200, i32 noundef %202, i32 noundef %204, i32 noundef 3, i32 noundef 14, i32 noundef -187363961) to label %invoke.cont42 unwind label %terminate.lpad invoke.cont42: ; preds = %invoke.cont41 %205 = load ptr, ptr %b, align 8, !tbaa !6 %206 = load ptr, ptr %c, align 8, !tbaa !6 %207 = load i32, ptr %206, align 4, !tbaa !16 %208 = load ptr, ptr %d, align 8, !tbaa !6 %209 = load i32, ptr %208, align 4, !tbaa !16 %210 = load ptr, ptr %a, align 8, !tbaa !6 %211 = load i32, ptr %210, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE0_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND1, ptr noundef nonnull align 4 dereferenceable(4) %205, i32 noundef %207, i32 noundef %209, i32 noundef %211, i32 noundef 8, i32 noundef 20, i32 noundef 1163531501) to label %invoke.cont43 unwind label %terminate.lpad invoke.cont43: ; preds = %invoke.cont42 %212 = load ptr, ptr %a, align 8, !tbaa !6 %213 = load ptr, ptr %b, align 8, !tbaa !6 %214 = load i32, ptr %213, align 4, !tbaa !16 %215 = load ptr, ptr %c, align 8, !tbaa !6 %216 = load i32, ptr %215, align 4, !tbaa !16 %217 = load ptr, ptr %d, align 8, !tbaa !6 %218 = load i32, ptr %217, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE0_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND1, ptr noundef nonnull align 4 dereferenceable(4) %212, i32 noundef %214, i32 noundef %216, i32 noundef %218, i32 noundef 13, i32 noundef 5, i32 noundef -1444681467) to label %invoke.cont44 unwind label %terminate.lpad invoke.cont44: ; preds = %invoke.cont43 %219 = load ptr, ptr %d, align 8, !tbaa !6 %220 = load ptr, ptr %a, align 8, !tbaa !6 %221 = load i32, ptr %220, align 4, !tbaa !16 %222 = load ptr, ptr %b, align 8, !tbaa !6 %223 = load i32, ptr %222, align 4, !tbaa !16 %224 = load ptr, ptr %c, align 8, !tbaa !6 %225 = load i32, ptr %224, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE0_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND1, ptr noundef nonnull align 4 dereferenceable(4) %219, i32 noundef %221, i32 noundef %223, i32 noundef %225, i32 noundef 2, i32 noundef 9, i32 noundef -51403784) to label %invoke.cont45 unwind label %terminate.lpad invoke.cont45: ; preds = %invoke.cont44 %226 = load ptr, ptr %c, align 8, !tbaa !6 %227 = load ptr, ptr %d, align 8, !tbaa !6 %228 = load i32, ptr %227, align 4, !tbaa !16 %229 = load ptr, ptr %a, align 8, !tbaa !6 %230 = load i32, ptr %229, align 4, !tbaa !16 %231 = load ptr, ptr %b, align 8, !tbaa !6 %232 = load i32, ptr %231, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE0_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND1, ptr noundef nonnull align 4 dereferenceable(4) %226, i32 noundef %228, i32 noundef %230, i32 noundef %232, i32 noundef 7, i32 noundef 14, i32 noundef 1735328473) to label %invoke.cont46 unwind label %terminate.lpad invoke.cont46: ; preds = %invoke.cont45 %233 = load ptr, ptr %b, align 8, !tbaa !6 %234 = load ptr, ptr %c, align 8, !tbaa !6 %235 = load i32, ptr %234, align 4, !tbaa !16 %236 = load ptr, ptr %d, align 8, !tbaa !6 %237 = load i32, ptr %236, align 4, !tbaa !16 %238 = load ptr, ptr %a, align 8, !tbaa !6 %239 = load i32, ptr %238, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE0_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND1, ptr noundef nonnull align 4 dereferenceable(4) %233, i32 noundef %235, i32 noundef %237, i32 noundef %239, i32 noundef 12, i32 noundef 20, i32 noundef -1926607734) to label %invoke.cont47 unwind label %terminate.lpad invoke.cont47: ; preds = %invoke.cont46 %240 = load ptr, ptr %a, align 8, !tbaa !6 %241 = load ptr, ptr %b, align 8, !tbaa !6 %242 = load i32, ptr %241, align 4, !tbaa !16 %243 = load ptr, ptr %c, align 8, !tbaa !6 %244 = load i32, ptr %243, align 4, !tbaa !16 %245 = load ptr, ptr %d, align 8, !tbaa !6 %246 = load i32, ptr %245, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE1_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND2, ptr noundef nonnull align 4 dereferenceable(4) %240, i32 noundef %242, i32 noundef %244, i32 noundef %246, i32 noundef 5, i32 noundef 4, i32 noundef -378558) to label %invoke.cont48 unwind label %terminate.lpad invoke.cont48: ; preds = %invoke.cont47 %247 = load ptr, ptr %d, align 8, !tbaa !6 %248 = load ptr, ptr %a, align 8, !tbaa !6 %249 = load i32, ptr %248, align 4, !tbaa !16 %250 = load ptr, ptr %b, align 8, !tbaa !6 %251 = load i32, ptr %250, align 4, !tbaa !16 %252 = load ptr, ptr %c, align 8, !tbaa !6 %253 = load i32, ptr %252, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE1_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND2, ptr noundef nonnull align 4 dereferenceable(4) %247, i32 noundef %249, i32 noundef %251, i32 noundef %253, i32 noundef 8, i32 noundef 11, i32 noundef -2022574463) to label %invoke.cont49 unwind label %terminate.lpad invoke.cont49: ; preds = %invoke.cont48 %254 = load ptr, ptr %c, align 8, !tbaa !6 %255 = load ptr, ptr %d, align 8, !tbaa !6 %256 = load i32, ptr %255, align 4, !tbaa !16 %257 = load ptr, ptr %a, align 8, !tbaa !6 %258 = load i32, ptr %257, align 4, !tbaa !16 %259 = load ptr, ptr %b, align 8, !tbaa !6 %260 = load i32, ptr %259, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE1_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND2, ptr noundef nonnull align 4 dereferenceable(4) %254, i32 noundef %256, i32 noundef %258, i32 noundef %260, i32 noundef 11, i32 noundef 16, i32 noundef 1839030562) to label %invoke.cont50 unwind label %terminate.lpad invoke.cont50: ; preds = %invoke.cont49 %261 = load ptr, ptr %b, align 8, !tbaa !6 %262 = load ptr, ptr %c, align 8, !tbaa !6 %263 = load i32, ptr %262, align 4, !tbaa !16 %264 = load ptr, ptr %d, align 8, !tbaa !6 %265 = load i32, ptr %264, align 4, !tbaa !16 %266 = load ptr, ptr %a, align 8, !tbaa !6 %267 = load i32, ptr %266, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE1_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND2, ptr noundef nonnull align 4 dereferenceable(4) %261, i32 noundef %263, i32 noundef %265, i32 noundef %267, i32 noundef 14, i32 noundef 23, i32 noundef -35309556) to label %invoke.cont51 unwind label %terminate.lpad invoke.cont51: ; preds = %invoke.cont50 %268 = load ptr, ptr %a, align 8, !tbaa !6 %269 = load ptr, ptr %b, align 8, !tbaa !6 %270 = load i32, ptr %269, align 4, !tbaa !16 %271 = load ptr, ptr %c, align 8, !tbaa !6 %272 = load i32, ptr %271, align 4, !tbaa !16 %273 = load ptr, ptr %d, align 8, !tbaa !6 %274 = load i32, ptr %273, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE1_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND2, ptr noundef nonnull align 4 dereferenceable(4) %268, i32 noundef %270, i32 noundef %272, i32 noundef %274, i32 noundef 1, i32 noundef 4, i32 noundef -1530992060) to label %invoke.cont52 unwind label %terminate.lpad invoke.cont52: ; preds = %invoke.cont51 %275 = load ptr, ptr %d, align 8, !tbaa !6 %276 = load ptr, ptr %a, align 8, !tbaa !6 %277 = load i32, ptr %276, align 4, !tbaa !16 %278 = load ptr, ptr %b, align 8, !tbaa !6 %279 = load i32, ptr %278, align 4, !tbaa !16 %280 = load ptr, ptr %c, align 8, !tbaa !6 %281 = load i32, ptr %280, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE1_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND2, ptr noundef nonnull align 4 dereferenceable(4) %275, i32 noundef %277, i32 noundef %279, i32 noundef %281, i32 noundef 4, i32 noundef 11, i32 noundef 1272893353) to label %invoke.cont53 unwind label %terminate.lpad invoke.cont53: ; preds = %invoke.cont52 %282 = load ptr, ptr %c, align 8, !tbaa !6 %283 = load ptr, ptr %d, align 8, !tbaa !6 %284 = load i32, ptr %283, align 4, !tbaa !16 %285 = load ptr, ptr %a, align 8, !tbaa !6 %286 = load i32, ptr %285, align 4, !tbaa !16 %287 = load ptr, ptr %b, align 8, !tbaa !6 %288 = load i32, ptr %287, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE1_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND2, ptr noundef nonnull align 4 dereferenceable(4) %282, i32 noundef %284, i32 noundef %286, i32 noundef %288, i32 noundef 7, i32 noundef 16, i32 noundef -155497632) to label %invoke.cont54 unwind label %terminate.lpad invoke.cont54: ; preds = %invoke.cont53 %289 = load ptr, ptr %b, align 8, !tbaa !6 %290 = load ptr, ptr %c, align 8, !tbaa !6 %291 = load i32, ptr %290, align 4, !tbaa !16 %292 = load ptr, ptr %d, align 8, !tbaa !6 %293 = load i32, ptr %292, align 4, !tbaa !16 %294 = load ptr, ptr %a, align 8, !tbaa !6 %295 = load i32, ptr %294, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE1_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND2, ptr noundef nonnull align 4 dereferenceable(4) %289, i32 noundef %291, i32 noundef %293, i32 noundef %295, i32 noundef 10, i32 noundef 23, i32 noundef -1094730640) to label %invoke.cont55 unwind label %terminate.lpad invoke.cont55: ; preds = %invoke.cont54 %296 = load ptr, ptr %a, align 8, !tbaa !6 %297 = load ptr, ptr %b, align 8, !tbaa !6 %298 = load i32, ptr %297, align 4, !tbaa !16 %299 = load ptr, ptr %c, align 8, !tbaa !6 %300 = load i32, ptr %299, align 4, !tbaa !16 %301 = load ptr, ptr %d, align 8, !tbaa !6 %302 = load i32, ptr %301, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE1_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND2, ptr noundef nonnull align 4 dereferenceable(4) %296, i32 noundef %298, i32 noundef %300, i32 noundef %302, i32 noundef 13, i32 noundef 4, i32 noundef 681279174) to label %invoke.cont56 unwind label %terminate.lpad invoke.cont56: ; preds = %invoke.cont55 %303 = load ptr, ptr %d, align 8, !tbaa !6 %304 = load ptr, ptr %a, align 8, !tbaa !6 %305 = load i32, ptr %304, align 4, !tbaa !16 %306 = load ptr, ptr %b, align 8, !tbaa !6 %307 = load i32, ptr %306, align 4, !tbaa !16 %308 = load ptr, ptr %c, align 8, !tbaa !6 %309 = load i32, ptr %308, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE1_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND2, ptr noundef nonnull align 4 dereferenceable(4) %303, i32 noundef %305, i32 noundef %307, i32 noundef %309, i32 noundef 0, i32 noundef 11, i32 noundef -358537222) to label %invoke.cont57 unwind label %terminate.lpad invoke.cont57: ; preds = %invoke.cont56 %310 = load ptr, ptr %c, align 8, !tbaa !6 %311 = load ptr, ptr %d, align 8, !tbaa !6 %312 = load i32, ptr %311, align 4, !tbaa !16 %313 = load ptr, ptr %a, align 8, !tbaa !6 %314 = load i32, ptr %313, align 4, !tbaa !16 %315 = load ptr, ptr %b, align 8, !tbaa !6 %316 = load i32, ptr %315, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE1_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND2, ptr noundef nonnull align 4 dereferenceable(4) %310, i32 noundef %312, i32 noundef %314, i32 noundef %316, i32 noundef 3, i32 noundef 16, i32 noundef -722521979) to label %invoke.cont58 unwind label %terminate.lpad invoke.cont58: ; preds = %invoke.cont57 %317 = load ptr, ptr %b, align 8, !tbaa !6 %318 = load ptr, ptr %c, align 8, !tbaa !6 %319 = load i32, ptr %318, align 4, !tbaa !16 %320 = load ptr, ptr %d, align 8, !tbaa !6 %321 = load i32, ptr %320, align 4, !tbaa !16 %322 = load ptr, ptr %a, align 8, !tbaa !6 %323 = load i32, ptr %322, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE1_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND2, ptr noundef nonnull align 4 dereferenceable(4) %317, i32 noundef %319, i32 noundef %321, i32 noundef %323, i32 noundef 6, i32 noundef 23, i32 noundef 76029189) to label %invoke.cont59 unwind label %terminate.lpad invoke.cont59: ; preds = %invoke.cont58 %324 = load ptr, ptr %a, align 8, !tbaa !6 %325 = load ptr, ptr %b, align 8, !tbaa !6 %326 = load i32, ptr %325, align 4, !tbaa !16 %327 = load ptr, ptr %c, align 8, !tbaa !6 %328 = load i32, ptr %327, align 4, !tbaa !16 %329 = load ptr, ptr %d, align 8, !tbaa !6 %330 = load i32, ptr %329, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE1_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND2, ptr noundef nonnull align 4 dereferenceable(4) %324, i32 noundef %326, i32 noundef %328, i32 noundef %330, i32 noundef 9, i32 noundef 4, i32 noundef -640364487) to label %invoke.cont60 unwind label %terminate.lpad invoke.cont60: ; preds = %invoke.cont59 %331 = load ptr, ptr %d, align 8, !tbaa !6 %332 = load ptr, ptr %a, align 8, !tbaa !6 %333 = load i32, ptr %332, align 4, !tbaa !16 %334 = load ptr, ptr %b, align 8, !tbaa !6 %335 = load i32, ptr %334, align 4, !tbaa !16 %336 = load ptr, ptr %c, align 8, !tbaa !6 %337 = load i32, ptr %336, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE1_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND2, ptr noundef nonnull align 4 dereferenceable(4) %331, i32 noundef %333, i32 noundef %335, i32 noundef %337, i32 noundef 12, i32 noundef 11, i32 noundef -421815835) to label %invoke.cont61 unwind label %terminate.lpad invoke.cont61: ; preds = %invoke.cont60 %338 = load ptr, ptr %c, align 8, !tbaa !6 %339 = load ptr, ptr %d, align 8, !tbaa !6 %340 = load i32, ptr %339, align 4, !tbaa !16 %341 = load ptr, ptr %a, align 8, !tbaa !6 %342 = load i32, ptr %341, align 4, !tbaa !16 %343 = load ptr, ptr %b, align 8, !tbaa !6 %344 = load i32, ptr %343, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE1_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND2, ptr noundef nonnull align 4 dereferenceable(4) %338, i32 noundef %340, i32 noundef %342, i32 noundef %344, i32 noundef 15, i32 noundef 16, i32 noundef 530742520) to label %invoke.cont62 unwind label %terminate.lpad invoke.cont62: ; preds = %invoke.cont61 %345 = load ptr, ptr %b, align 8, !tbaa !6 %346 = load ptr, ptr %c, align 8, !tbaa !6 %347 = load i32, ptr %346, align 4, !tbaa !16 %348 = load ptr, ptr %d, align 8, !tbaa !6 %349 = load i32, ptr %348, align 4, !tbaa !16 %350 = load ptr, ptr %a, align 8, !tbaa !6 %351 = load i32, ptr %350, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE1_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND2, ptr noundef nonnull align 4 dereferenceable(4) %345, i32 noundef %347, i32 noundef %349, i32 noundef %351, i32 noundef 2, i32 noundef 23, i32 noundef -995338651) to label %invoke.cont63 unwind label %terminate.lpad invoke.cont63: ; preds = %invoke.cont62 %352 = load ptr, ptr %a, align 8, !tbaa !6 %353 = load ptr, ptr %b, align 8, !tbaa !6 %354 = load i32, ptr %353, align 4, !tbaa !16 %355 = load ptr, ptr %c, align 8, !tbaa !6 %356 = load i32, ptr %355, align 4, !tbaa !16 %357 = load ptr, ptr %d, align 8, !tbaa !6 %358 = load i32, ptr %357, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE2_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND3, ptr noundef nonnull align 4 dereferenceable(4) %352, i32 noundef %354, i32 noundef %356, i32 noundef %358, i32 noundef 0, i32 noundef 6, i32 noundef -198630844) to label %invoke.cont64 unwind label %terminate.lpad invoke.cont64: ; preds = %invoke.cont63 %359 = load ptr, ptr %d, align 8, !tbaa !6 %360 = load ptr, ptr %a, align 8, !tbaa !6 %361 = load i32, ptr %360, align 4, !tbaa !16 %362 = load ptr, ptr %b, align 8, !tbaa !6 %363 = load i32, ptr %362, align 4, !tbaa !16 %364 = load ptr, ptr %c, align 8, !tbaa !6 %365 = load i32, ptr %364, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE2_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND3, ptr noundef nonnull align 4 dereferenceable(4) %359, i32 noundef %361, i32 noundef %363, i32 noundef %365, i32 noundef 7, i32 noundef 10, i32 noundef 1126891415) to label %invoke.cont65 unwind label %terminate.lpad invoke.cont65: ; preds = %invoke.cont64 %366 = load ptr, ptr %c, align 8, !tbaa !6 %367 = load ptr, ptr %d, align 8, !tbaa !6 %368 = load i32, ptr %367, align 4, !tbaa !16 %369 = load ptr, ptr %a, align 8, !tbaa !6 %370 = load i32, ptr %369, align 4, !tbaa !16 %371 = load ptr, ptr %b, align 8, !tbaa !6 %372 = load i32, ptr %371, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE2_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND3, ptr noundef nonnull align 4 dereferenceable(4) %366, i32 noundef %368, i32 noundef %370, i32 noundef %372, i32 noundef 14, i32 noundef 15, i32 noundef -1416354905) to label %invoke.cont66 unwind label %terminate.lpad invoke.cont66: ; preds = %invoke.cont65 %373 = load ptr, ptr %b, align 8, !tbaa !6 %374 = load ptr, ptr %c, align 8, !tbaa !6 %375 = load i32, ptr %374, align 4, !tbaa !16 %376 = load ptr, ptr %d, align 8, !tbaa !6 %377 = load i32, ptr %376, align 4, !tbaa !16 %378 = load ptr, ptr %a, align 8, !tbaa !6 %379 = load i32, ptr %378, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE2_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND3, ptr noundef nonnull align 4 dereferenceable(4) %373, i32 noundef %375, i32 noundef %377, i32 noundef %379, i32 noundef 5, i32 noundef 21, i32 noundef -57434055) to label %invoke.cont67 unwind label %terminate.lpad invoke.cont67: ; preds = %invoke.cont66 %380 = load ptr, ptr %a, align 8, !tbaa !6 %381 = load ptr, ptr %b, align 8, !tbaa !6 %382 = load i32, ptr %381, align 4, !tbaa !16 %383 = load ptr, ptr %c, align 8, !tbaa !6 %384 = load i32, ptr %383, align 4, !tbaa !16 %385 = load ptr, ptr %d, align 8, !tbaa !6 %386 = load i32, ptr %385, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE2_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND3, ptr noundef nonnull align 4 dereferenceable(4) %380, i32 noundef %382, i32 noundef %384, i32 noundef %386, i32 noundef 12, i32 noundef 6, i32 noundef 1700485571) to label %invoke.cont68 unwind label %terminate.lpad invoke.cont68: ; preds = %invoke.cont67 %387 = load ptr, ptr %d, align 8, !tbaa !6 %388 = load ptr, ptr %a, align 8, !tbaa !6 %389 = load i32, ptr %388, align 4, !tbaa !16 %390 = load ptr, ptr %b, align 8, !tbaa !6 %391 = load i32, ptr %390, align 4, !tbaa !16 %392 = load ptr, ptr %c, align 8, !tbaa !6 %393 = load i32, ptr %392, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE2_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND3, ptr noundef nonnull align 4 dereferenceable(4) %387, i32 noundef %389, i32 noundef %391, i32 noundef %393, i32 noundef 3, i32 noundef 10, i32 noundef -1894986606) to label %invoke.cont69 unwind label %terminate.lpad invoke.cont69: ; preds = %invoke.cont68 %394 = load ptr, ptr %c, align 8, !tbaa !6 %395 = load ptr, ptr %d, align 8, !tbaa !6 %396 = load i32, ptr %395, align 4, !tbaa !16 %397 = load ptr, ptr %a, align 8, !tbaa !6 %398 = load i32, ptr %397, align 4, !tbaa !16 %399 = load ptr, ptr %b, align 8, !tbaa !6 %400 = load i32, ptr %399, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE2_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND3, ptr noundef nonnull align 4 dereferenceable(4) %394, i32 noundef %396, i32 noundef %398, i32 noundef %400, i32 noundef 10, i32 noundef 15, i32 noundef -1051523) to label %invoke.cont70 unwind label %terminate.lpad invoke.cont70: ; preds = %invoke.cont69 %401 = load ptr, ptr %b, align 8, !tbaa !6 %402 = load ptr, ptr %c, align 8, !tbaa !6 %403 = load i32, ptr %402, align 4, !tbaa !16 %404 = load ptr, ptr %d, align 8, !tbaa !6 %405 = load i32, ptr %404, align 4, !tbaa !16 %406 = load ptr, ptr %a, align 8, !tbaa !6 %407 = load i32, ptr %406, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE2_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND3, ptr noundef nonnull align 4 dereferenceable(4) %401, i32 noundef %403, i32 noundef %405, i32 noundef %407, i32 noundef 1, i32 noundef 21, i32 noundef -2054922799) to label %invoke.cont71 unwind label %terminate.lpad invoke.cont71: ; preds = %invoke.cont70 %408 = load ptr, ptr %a, align 8, !tbaa !6 %409 = load ptr, ptr %b, align 8, !tbaa !6 %410 = load i32, ptr %409, align 4, !tbaa !16 %411 = load ptr, ptr %c, align 8, !tbaa !6 %412 = load i32, ptr %411, align 4, !tbaa !16 %413 = load ptr, ptr %d, align 8, !tbaa !6 %414 = load i32, ptr %413, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE2_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND3, ptr noundef nonnull align 4 dereferenceable(4) %408, i32 noundef %410, i32 noundef %412, i32 noundef %414, i32 noundef 8, i32 noundef 6, i32 noundef 1873313359) to label %invoke.cont72 unwind label %terminate.lpad invoke.cont72: ; preds = %invoke.cont71 %415 = load ptr, ptr %d, align 8, !tbaa !6 %416 = load ptr, ptr %a, align 8, !tbaa !6 %417 = load i32, ptr %416, align 4, !tbaa !16 %418 = load ptr, ptr %b, align 8, !tbaa !6 %419 = load i32, ptr %418, align 4, !tbaa !16 %420 = load ptr, ptr %c, align 8, !tbaa !6 %421 = load i32, ptr %420, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE2_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND3, ptr noundef nonnull align 4 dereferenceable(4) %415, i32 noundef %417, i32 noundef %419, i32 noundef %421, i32 noundef 15, i32 noundef 10, i32 noundef -30611744) to label %invoke.cont73 unwind label %terminate.lpad invoke.cont73: ; preds = %invoke.cont72 %422 = load ptr, ptr %c, align 8, !tbaa !6 %423 = load ptr, ptr %d, align 8, !tbaa !6 %424 = load i32, ptr %423, align 4, !tbaa !16 %425 = load ptr, ptr %a, align 8, !tbaa !6 %426 = load i32, ptr %425, align 4, !tbaa !16 %427 = load ptr, ptr %b, align 8, !tbaa !6 %428 = load i32, ptr %427, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE2_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND3, ptr noundef nonnull align 4 dereferenceable(4) %422, i32 noundef %424, i32 noundef %426, i32 noundef %428, i32 noundef 6, i32 noundef 15, i32 noundef -1560198380) to label %invoke.cont74 unwind label %terminate.lpad invoke.cont74: ; preds = %invoke.cont73 %429 = load ptr, ptr %b, align 8, !tbaa !6 %430 = load ptr, ptr %c, align 8, !tbaa !6 %431 = load i32, ptr %430, align 4, !tbaa !16 %432 = load ptr, ptr %d, align 8, !tbaa !6 %433 = load i32, ptr %432, align 4, !tbaa !16 %434 = load ptr, ptr %a, align 8, !tbaa !6 %435 = load i32, ptr %434, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE2_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND3, ptr noundef nonnull align 4 dereferenceable(4) %429, i32 noundef %431, i32 noundef %433, i32 noundef %435, i32 noundef 13, i32 noundef 21, i32 noundef 1309151649) to label %invoke.cont75 unwind label %terminate.lpad invoke.cont75: ; preds = %invoke.cont74 %436 = load ptr, ptr %a, align 8, !tbaa !6 %437 = load ptr, ptr %b, align 8, !tbaa !6 %438 = load i32, ptr %437, align 4, !tbaa !16 %439 = load ptr, ptr %c, align 8, !tbaa !6 %440 = load i32, ptr %439, align 4, !tbaa !16 %441 = load ptr, ptr %d, align 8, !tbaa !6 %442 = load i32, ptr %441, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE2_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND3, ptr noundef nonnull align 4 dereferenceable(4) %436, i32 noundef %438, i32 noundef %440, i32 noundef %442, i32 noundef 4, i32 noundef 6, i32 noundef -145523070) to label %invoke.cont76 unwind label %terminate.lpad invoke.cont76: ; preds = %invoke.cont75 %443 = load ptr, ptr %d, align 8, !tbaa !6 %444 = load ptr, ptr %a, align 8, !tbaa !6 %445 = load i32, ptr %444, align 4, !tbaa !16 %446 = load ptr, ptr %b, align 8, !tbaa !6 %447 = load i32, ptr %446, align 4, !tbaa !16 %448 = load ptr, ptr %c, align 8, !tbaa !6 %449 = load i32, ptr %448, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE2_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND3, ptr noundef nonnull align 4 dereferenceable(4) %443, i32 noundef %445, i32 noundef %447, i32 noundef %449, i32 noundef 11, i32 noundef 10, i32 noundef -1120210379) to label %invoke.cont77 unwind label %terminate.lpad invoke.cont77: ; preds = %invoke.cont76 %450 = load ptr, ptr %c, align 8, !tbaa !6 %451 = load ptr, ptr %d, align 8, !tbaa !6 %452 = load i32, ptr %451, align 4, !tbaa !16 %453 = load ptr, ptr %a, align 8, !tbaa !6 %454 = load i32, ptr %453, align 4, !tbaa !16 %455 = load ptr, ptr %b, align 8, !tbaa !6 %456 = load i32, ptr %455, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE2_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND3, ptr noundef nonnull align 4 dereferenceable(4) %450, i32 noundef %452, i32 noundef %454, i32 noundef %456, i32 noundef 2, i32 noundef 15, i32 noundef 718787259) to label %invoke.cont78 unwind label %terminate.lpad invoke.cont78: ; preds = %invoke.cont77 %457 = load ptr, ptr %b, align 8, !tbaa !6 %458 = load ptr, ptr %c, align 8, !tbaa !6 %459 = load i32, ptr %458, align 4, !tbaa !16 %460 = load ptr, ptr %d, align 8, !tbaa !6 %461 = load i32, ptr %460, align 4, !tbaa !16 %462 = load ptr, ptr %a, align 8, !tbaa !6 %463 = load i32, ptr %462, align 4, !tbaa !16 invoke void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE2_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %ROUND3, ptr noundef nonnull align 4 dereferenceable(4) %457, i32 noundef %459, i32 noundef %461, i32 noundef %463, i32 noundef 9, i32 noundef 21, i32 noundef -343485551) to label %invoke.cont79 unwind label %terminate.lpad invoke.cont79: ; preds = %invoke.cont78 %state80 = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 0 %call81 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt5arrayIjLm4EEixEm(ptr noundef nonnull align 4 dereferenceable(16) %state80, i64 noundef 0) #18 %464 = load i32, ptr %call81, align 4, !tbaa !16 %conv82 = zext i32 %464 to i64 %add = add i64 0, %conv82 %465 = load ptr, ptr %a, align 8, !tbaa !6 %466 = load i32, ptr %465, align 4, !tbaa !16 %conv83 = zext i32 %466 to i64 %add84 = add i64 %add, %conv83 %conv85 = trunc i64 %add84 to i32 %state86 = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 0 %call87 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt5arrayIjLm4EEixEm(ptr noundef nonnull align 4 dereferenceable(16) %state86, i64 noundef 0) #18 store i32 %conv85, ptr %call87, align 4, !tbaa !16 %state88 = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 0 %call89 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt5arrayIjLm4EEixEm(ptr noundef nonnull align 4 dereferenceable(16) %state88, i64 noundef 1) #18 %467 = load i32, ptr %call89, align 4, !tbaa !16 %conv90 = zext i32 %467 to i64 %add91 = add i64 0, %conv90 %468 = load ptr, ptr %b, align 8, !tbaa !6 %469 = load i32, ptr %468, align 4, !tbaa !16 %conv92 = zext i32 %469 to i64 %add93 = add i64 %add91, %conv92 %conv94 = trunc i64 %add93 to i32 %state95 = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 0 %call96 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt5arrayIjLm4EEixEm(ptr noundef nonnull align 4 dereferenceable(16) %state95, i64 noundef 1) #18 store i32 %conv94, ptr %call96, align 4, !tbaa !16 %state97 = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 0 %call98 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt5arrayIjLm4EEixEm(ptr noundef nonnull align 4 dereferenceable(16) %state97, i64 noundef 2) #18 %470 = load i32, ptr %call98, align 4, !tbaa !16 %conv99 = zext i32 %470 to i64 %add100 = add i64 0, %conv99 %471 = load ptr, ptr %c, align 8, !tbaa !6 %472 = load i32, ptr %471, align 4, !tbaa !16 %conv101 = zext i32 %472 to i64 %add102 = add i64 %add100, %conv101 %conv103 = trunc i64 %add102 to i32 %state104 = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 0 %call105 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt5arrayIjLm4EEixEm(ptr noundef nonnull align 4 dereferenceable(16) %state104, i64 noundef 2) #18 store i32 %conv103, ptr %call105, align 4, !tbaa !16 %state106 = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 0 %call107 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt5arrayIjLm4EEixEm(ptr noundef nonnull align 4 dereferenceable(16) %state106, i64 noundef 3) #18 %473 = load i32, ptr %call107, align 4, !tbaa !16 %conv108 = zext i32 %473 to i64 %add109 = add i64 0, %conv108 %474 = load ptr, ptr %d, align 8, !tbaa !6 %475 = load i32, ptr %474, align 4, !tbaa !16 %conv110 = zext i32 %475 to i64 %add111 = add i64 %add109, %conv110 %conv112 = trunc i64 %add111 to i32 %state113 = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %this1, i32 0, i32 0 %call114 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt5arrayIjLm4EEixEm(ptr noundef nonnull align 4 dereferenceable(16) %state113, i64 noundef 3) #18 store i32 %conv112, ptr %call114, align 4, !tbaa !16 call void @llvm.lifetime.end.p0(i64 8, ptr %d) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %c) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %b) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %a) #18 call void @llvm.lifetime.end.p0(i64 16, ptr %tmp) #18 call void @llvm.lifetime.end.p0(i64 16, ptr %ROUND3) #18 call void @llvm.lifetime.end.p0(i64 16, ptr %ROUND2) #18 call void @llvm.lifetime.end.p0(i64 16, ptr %ROUND1) #18 call void @llvm.lifetime.end.p0(i64 16, ptr %ROUND0) #18 call void @llvm.lifetime.end.p0(i64 16, ptr %ROUND_TAIL) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %ROTL32) #18 call void @llvm.lifetime.end.p0(i64 16, ptr %LOADSCHEDULE) #18 call void @llvm.lifetime.end.p0(i64 64, ptr %schedule) #18 ret void terminate.lpad: ; preds = %invoke.cont78, %invoke.cont77, %invoke.cont76, %invoke.cont75, %invoke.cont74, %invoke.cont73, %invoke.cont72, %invoke.cont71, %invoke.cont70, %invoke.cont69, %invoke.cont68, %invoke.cont67, %invoke.cont66, %invoke.cont65, %invoke.cont64, %invoke.cont63, %invoke.cont62, %invoke.cont61, %invoke.cont60, %invoke.cont59, %invoke.cont58, %invoke.cont57, %invoke.cont56, %invoke.cont55, %invoke.cont54, %invoke.cont53, %invoke.cont52, %invoke.cont51, %invoke.cont50, %invoke.cont49, %invoke.cont48, %invoke.cont47, %invoke.cont46, %invoke.cont45, %invoke.cont44, %invoke.cont43, %invoke.cont42, %invoke.cont41, %invoke.cont40, %invoke.cont39, %invoke.cont38, %invoke.cont37, %invoke.cont36, %invoke.cont35, %invoke.cont34, %invoke.cont33, %invoke.cont32, %invoke.cont31, %invoke.cont30, %invoke.cont29, %invoke.cont28, %invoke.cont27, %invoke.cont26, %invoke.cont25, %invoke.cont24, %invoke.cont23, %invoke.cont22, %invoke.cont21, %invoke.cont20, %invoke.cont19, %invoke.cont18, %invoke.cont17, %invoke.cont16, %for.end11, %for.body %476 = landingpad { ptr, i32 } catch ptr null %477 = extractvalue { ptr, i32 } %476, 0 call void @__clang_call_terminate(ptr %477) #20 unreachable } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr hidden noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm64EEixEm(ptr noundef nonnull align 1 dereferenceable(64) %this, i64 noundef %__n) #0 comdat align 2 { entry: %this.addr = alloca ptr, align 8 %__n.addr = alloca i64, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 store i64 %__n, ptr %__n.addr, align 8, !tbaa !10 %this1 = load ptr, ptr %this.addr, align 8 %_M_elems = getelementptr inbounds %"struct.std::array.0", ptr %this1, i32 0, i32 0 %0 = load i64, ptr %__n.addr, align 8, !tbaa !10 %call = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt14__array_traitsIhLm64EE6_S_refERA64_Khm(ptr noundef nonnull align 1 dereferenceable(64) %_M_elems, i64 noundef %0) #18 ret ptr %call } ; Function Attrs: argmemonly nocallback nofree nounwind willreturn writeonly declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #10 ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr hidden void @_ZZN8rawspeed3md53MD513compressBlockEvENKUliE_clEi(ptr noundef nonnull align 8 dereferenceable(16) %this, i32 noundef %i) #11 comdat align 2 { entry: %this.addr = alloca ptr, align 8 %i.addr = alloca i32, align 4 %k = alloca i32, align 4 store ptr %this, ptr %this.addr, align 8, !tbaa !6 store i32 %i, ptr %i.addr, align 4, !tbaa !16 %this1 = load ptr, ptr %this.addr, align 8 %0 = getelementptr inbounds %class.anon, ptr %this1, i32 0, i32 0 %1 = load ptr, ptr %0, align 8, !tbaa !25 call void @llvm.lifetime.start.p0(i64 4, ptr %k) #18 store i32 3, ptr %k, align 4, !tbaa !16 br label %for.cond for.cond: ; preds = %for.inc, %entry %2 = load i32, ptr %k, align 4, !tbaa !16 %cmp = icmp sge i32 %2, 0 br i1 %cmp, label %for.body, label %for.cond.cleanup for.cond.cleanup: ; preds = %for.cond call void @llvm.lifetime.end.p0(i64 4, ptr %k) #18 br label %for.end for.body: ; preds = %for.cond %block = getelementptr inbounds %"class.rawspeed::md5::MD5", ptr %1, i32 0, i32 1 %3 = load i32, ptr %i.addr, align 4, !tbaa !16 %mul = mul nsw i32 4, %3 %4 = load i32, ptr %k, align 4, !tbaa !16 %add = add nsw i32 %mul, %4 %conv = sext i32 %add to i64 %call = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt5arrayIhLm64EEixEm(ptr noundef nonnull align 1 dereferenceable(64) %block, i64 noundef %conv) #18 %5 = load i8, ptr %call, align 1, !tbaa !15 %conv2 = zext i8 %5 to i32 %6 = load i32, ptr %k, align 4, !tbaa !16 %mul3 = mul nsw i32 8, %6 %shl = shl i32 %conv2, %mul3 %7 = getelementptr inbounds %class.anon, ptr %this1, i32 0, i32 1 %8 = load ptr, ptr %7, align 8, !tbaa !30 %9 = load i32, ptr %i.addr, align 4, !tbaa !16 %conv4 = sext i32 %9 to i64 %call5 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt5arrayIjLm16EEixEm(ptr noundef nonnull align 4 dereferenceable(64) %8, i64 noundef %conv4) #18 %10 = load i32, ptr %call5, align 4, !tbaa !16 %or = or i32 %10, %shl store i32 %or, ptr %call5, align 4, !tbaa !16 br label %for.inc for.inc: ; preds = %for.body %11 = load i32, ptr %k, align 4, !tbaa !16 %dec = add nsw i32 %11, -1 store i32 %dec, ptr %k, align 4, !tbaa !16 br label %for.cond, !llvm.loop !31 for.end: ; preds = %for.cond.cleanup ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr hidden noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt5arrayIjLm4EEixEm(ptr noundef nonnull align 4 dereferenceable(16) %this, i64 noundef %__n) #0 comdat align 2 { entry: %this.addr = alloca ptr, align 8 %__n.addr = alloca i64, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 store i64 %__n, ptr %__n.addr, align 8, !tbaa !10 %this1 = load ptr, ptr %this.addr, align 8 %_M_elems = getelementptr inbounds %"struct.std::array", ptr %this1, i32 0, i32 0 %0 = load i64, ptr %__n.addr, align 8, !tbaa !10 %call = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt14__array_traitsIjLm4EE6_S_refERA4_Kjm(ptr noundef nonnull align 4 dereferenceable(16) %_M_elems, i64 noundef %0) #18 ret ptr %call } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr hidden void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %this, ptr noundef nonnull align 4 dereferenceable(4) %a, i32 noundef %b, i32 noundef %c, i32 noundef %d, i32 noundef %k, i32 noundef %s, i32 noundef %t) #12 comdat align 2 { entry: %this.addr = alloca ptr, align 8 %a.addr = alloca ptr, align 8 %b.addr = alloca i32, align 4 %c.addr = alloca i32, align 4 %d.addr = alloca i32, align 4 %k.addr = alloca i32, align 4 %s.addr = alloca i32, align 4 %t.addr = alloca i32, align 4 store ptr %this, ptr %this.addr, align 8, !tbaa !6 store ptr %a, ptr %a.addr, align 8, !tbaa !6 store i32 %b, ptr %b.addr, align 4, !tbaa !16 store i32 %c, ptr %c.addr, align 4, !tbaa !16 store i32 %d, ptr %d.addr, align 4, !tbaa !16 store i32 %k, ptr %k.addr, align 4, !tbaa !16 store i32 %s, ptr %s.addr, align 4, !tbaa !16 store i32 %t, ptr %t.addr, align 4, !tbaa !16 %this1 = load ptr, ptr %this.addr, align 8 %0 = getelementptr inbounds %class.anon.5, ptr %this1, i32 0, i32 0 %1 = load ptr, ptr %a.addr, align 8, !tbaa !6 %2 = load i32, ptr %b.addr, align 4, !tbaa !16 %3 = load i32, ptr %d.addr, align 4, !tbaa !16 %4 = load i32, ptr %b.addr, align 4, !tbaa !16 %5 = load i32, ptr %c.addr, align 4, !tbaa !16 %6 = load i32, ptr %d.addr, align 4, !tbaa !16 %xor = xor i32 %5, %6 %and = and i32 %4, %xor %xor2 = xor i32 %3, %and %7 = load i32, ptr %k.addr, align 4, !tbaa !16 %8 = load i32, ptr %s.addr, align 4, !tbaa !16 %9 = load i32, ptr %t.addr, align 4, !tbaa !16 call void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjE_clES2_jjjjj(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef nonnull align 4 dereferenceable(4) %1, i32 noundef %2, i32 noundef %xor2, i32 noundef %7, i32 noundef %8, i32 noundef %9) ret void } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr hidden void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE0_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %this, ptr noundef nonnull align 4 dereferenceable(4) %a, i32 noundef %b, i32 noundef %c, i32 noundef %d, i32 noundef %k, i32 noundef %s, i32 noundef %t) #11 comdat align 2 { entry: %this.addr = alloca ptr, align 8 %a.addr = alloca ptr, align 8 %b.addr = alloca i32, align 4 %c.addr = alloca i32, align 4 %d.addr = alloca i32, align 4 %k.addr = alloca i32, align 4 %s.addr = alloca i32, align 4 %t.addr = alloca i32, align 4 store ptr %this, ptr %this.addr, align 8, !tbaa !6 store ptr %a, ptr %a.addr, align 8, !tbaa !6 store i32 %b, ptr %b.addr, align 4, !tbaa !16 store i32 %c, ptr %c.addr, align 4, !tbaa !16 store i32 %d, ptr %d.addr, align 4, !tbaa !16 store i32 %k, ptr %k.addr, align 4, !tbaa !16 store i32 %s, ptr %s.addr, align 4, !tbaa !16 store i32 %t, ptr %t.addr, align 4, !tbaa !16 %this1 = load ptr, ptr %this.addr, align 8 %0 = getelementptr inbounds %class.anon.6, ptr %this1, i32 0, i32 0 %1 = load ptr, ptr %a.addr, align 8, !tbaa !6 %2 = load i32, ptr %b.addr, align 4, !tbaa !16 %3 = load i32, ptr %c.addr, align 4, !tbaa !16 %4 = load i32, ptr %d.addr, align 4, !tbaa !16 %5 = load i32, ptr %b.addr, align 4, !tbaa !16 %6 = load i32, ptr %c.addr, align 4, !tbaa !16 %xor = xor i32 %5, %6 %and = and i32 %4, %xor %xor2 = xor i32 %3, %and %7 = load i32, ptr %k.addr, align 4, !tbaa !16 %8 = load i32, ptr %s.addr, align 4, !tbaa !16 %9 = load i32, ptr %t.addr, align 4, !tbaa !16 call void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjE_clES2_jjjjj(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef nonnull align 4 dereferenceable(4) %1, i32 noundef %2, i32 noundef %xor2, i32 noundef %7, i32 noundef %8, i32 noundef %9) ret void } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr hidden void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE1_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %this, ptr noundef nonnull align 4 dereferenceable(4) %a, i32 noundef %b, i32 noundef %c, i32 noundef %d, i32 noundef %k, i32 noundef %s, i32 noundef %t) #11 comdat align 2 { entry: %this.addr = alloca ptr, align 8 %a.addr = alloca ptr, align 8 %b.addr = alloca i32, align 4 %c.addr = alloca i32, align 4 %d.addr = alloca i32, align 4 %k.addr = alloca i32, align 4 %s.addr = alloca i32, align 4 %t.addr = alloca i32, align 4 store ptr %this, ptr %this.addr, align 8, !tbaa !6 store ptr %a, ptr %a.addr, align 8, !tbaa !6 store i32 %b, ptr %b.addr, align 4, !tbaa !16 store i32 %c, ptr %c.addr, align 4, !tbaa !16 store i32 %d, ptr %d.addr, align 4, !tbaa !16 store i32 %k, ptr %k.addr, align 4, !tbaa !16 store i32 %s, ptr %s.addr, align 4, !tbaa !16 store i32 %t, ptr %t.addr, align 4, !tbaa !16 %this1 = load ptr, ptr %this.addr, align 8 %0 = getelementptr inbounds %class.anon.7, ptr %this1, i32 0, i32 0 %1 = load ptr, ptr %a.addr, align 8, !tbaa !6 %2 = load i32, ptr %b.addr, align 4, !tbaa !16 %3 = load i32, ptr %b.addr, align 4, !tbaa !16 %4 = load i32, ptr %c.addr, align 4, !tbaa !16 %xor = xor i32 %3, %4 %5 = load i32, ptr %d.addr, align 4, !tbaa !16 %xor2 = xor i32 %xor, %5 %6 = load i32, ptr %k.addr, align 4, !tbaa !16 %7 = load i32, ptr %s.addr, align 4, !tbaa !16 %8 = load i32, ptr %t.addr, align 4, !tbaa !16 call void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjE_clES2_jjjjj(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef nonnull align 4 dereferenceable(4) %1, i32 noundef %2, i32 noundef %xor2, i32 noundef %6, i32 noundef %7, i32 noundef %8) ret void } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr hidden void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjjE2_clES2_jjjjjj(ptr noundef nonnull align 8 dereferenceable(16) %this, ptr noundef nonnull align 4 dereferenceable(4) %a, i32 noundef %b, i32 noundef %c, i32 noundef %d, i32 noundef %k, i32 noundef %s, i32 noundef %t) #11 comdat align 2 { entry: %this.addr = alloca ptr, align 8 %a.addr = alloca ptr, align 8 %b.addr = alloca i32, align 4 %c.addr = alloca i32, align 4 %d.addr = alloca i32, align 4 %k.addr = alloca i32, align 4 %s.addr = alloca i32, align 4 %t.addr = alloca i32, align 4 store ptr %this, ptr %this.addr, align 8, !tbaa !6 store ptr %a, ptr %a.addr, align 8, !tbaa !6 store i32 %b, ptr %b.addr, align 4, !tbaa !16 store i32 %c, ptr %c.addr, align 4, !tbaa !16 store i32 %d, ptr %d.addr, align 4, !tbaa !16 store i32 %k, ptr %k.addr, align 4, !tbaa !16 store i32 %s, ptr %s.addr, align 4, !tbaa !16 store i32 %t, ptr %t.addr, align 4, !tbaa !16 %this1 = load ptr, ptr %this.addr, align 8 %0 = getelementptr inbounds %class.anon.8, ptr %this1, i32 0, i32 0 %1 = load ptr, ptr %a.addr, align 8, !tbaa !6 %2 = load i32, ptr %b.addr, align 4, !tbaa !16 %3 = load i32, ptr %c.addr, align 4, !tbaa !16 %4 = load i32, ptr %b.addr, align 4, !tbaa !16 %5 = load i32, ptr %d.addr, align 4, !tbaa !16 %not = xor i32 %5, -1 %or = or i32 %4, %not %xor = xor i32 %3, %or %6 = load i32, ptr %k.addr, align 4, !tbaa !16 %7 = load i32, ptr %s.addr, align 4, !tbaa !16 %8 = load i32, ptr %t.addr, align 4, !tbaa !16 call void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjE_clES2_jjjjj(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef nonnull align 4 dereferenceable(4) %1, i32 noundef %2, i32 noundef %xor, i32 noundef %6, i32 noundef %7, i32 noundef %8) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr hidden noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt5arrayIjLm16EEixEm(ptr noundef nonnull align 4 dereferenceable(64) %this, i64 noundef %__n) #0 comdat align 2 { entry: %this.addr = alloca ptr, align 8 %__n.addr = alloca i64, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 store i64 %__n, ptr %__n.addr, align 8, !tbaa !10 %this1 = load ptr, ptr %this.addr, align 8 %_M_elems = getelementptr inbounds %"struct.std::array.2", ptr %this1, i32 0, i32 0 %0 = load i64, ptr %__n.addr, align 8, !tbaa !10 %call = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt14__array_traitsIjLm16EE6_S_refERA16_Kjm(ptr noundef nonnull align 4 dereferenceable(64) %_M_elems, i64 noundef %0) #18 ret ptr %call } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr hidden noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt14__array_traitsIjLm16EE6_S_refERA16_Kjm(ptr noundef nonnull align 4 dereferenceable(64) %__t, i64 noundef %__n) #0 comdat align 2 { entry: %__t.addr = alloca ptr, align 8 %__n.addr = alloca i64, align 8 store ptr %__t, ptr %__t.addr, align 8, !tbaa !6 store i64 %__n, ptr %__n.addr, align 8, !tbaa !10 %0 = load ptr, ptr %__t.addr, align 8, !tbaa !6 %1 = load i64, ptr %__n.addr, align 8, !tbaa !10 %arrayidx = getelementptr inbounds [16 x i32], ptr %0, i64 0, i64 %1 ret ptr %arrayidx } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr hidden noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt14__array_traitsIjLm4EE6_S_refERA4_Kjm(ptr noundef nonnull align 4 dereferenceable(16) %__t, i64 noundef %__n) #0 comdat align 2 { entry: %__t.addr = alloca ptr, align 8 %__n.addr = alloca i64, align 8 store ptr %__t, ptr %__t.addr, align 8, !tbaa !6 store i64 %__n, ptr %__n.addr, align 8, !tbaa !10 %0 = load ptr, ptr %__t.addr, align 8, !tbaa !6 %1 = load i64, ptr %__n.addr, align 8, !tbaa !10 %arrayidx = getelementptr inbounds [4 x i32], ptr %0, i64 0, i64 %1 ret ptr %arrayidx } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr hidden void @_ZZN8rawspeed3md53MD513compressBlockEvENKUlRjjjjjjE_clES2_jjjjj(ptr noundef nonnull align 8 dereferenceable(16) %this, ptr noundef nonnull align 4 dereferenceable(4) %a, i32 noundef %b, i32 noundef %expr, i32 noundef %k, i32 noundef %s, i32 noundef %t) #11 comdat align 2 { entry: %this.addr = alloca ptr, align 8 %a.addr = alloca ptr, align 8 %b.addr = alloca i32, align 4 %expr.addr = alloca i32, align 4 %k.addr = alloca i32, align 4 %s.addr = alloca i32, align 4 %t.addr = alloca i32, align 4 store ptr %this, ptr %this.addr, align 8, !tbaa !6 store ptr %a, ptr %a.addr, align 8, !tbaa !6 store i32 %b, ptr %b.addr, align 4, !tbaa !16 store i32 %expr, ptr %expr.addr, align 4, !tbaa !16 store i32 %k, ptr %k.addr, align 4, !tbaa !16 store i32 %s, ptr %s.addr, align 4, !tbaa !16 store i32 %t, ptr %t.addr, align 4, !tbaa !16 %this1 = load ptr, ptr %this.addr, align 8 %0 = load ptr, ptr %a.addr, align 8, !tbaa !6 %1 = load i32, ptr %0, align 4, !tbaa !16 %conv = zext i32 %1 to i64 %add = add i64 0, %conv %2 = load i32, ptr %expr.addr, align 4, !tbaa !16 %conv2 = zext i32 %2 to i64 %add3 = add i64 %add, %conv2 %3 = load i32, ptr %t.addr, align 4, !tbaa !16 %conv4 = zext i32 %3 to i64 %add5 = add i64 %add3, %conv4 %4 = getelementptr inbounds %class.anon.4, ptr %this1, i32 0, i32 1 %5 = load ptr, ptr %4, align 8, !tbaa !32 %6 = load i32, ptr %k.addr, align 4, !tbaa !16 %conv6 = zext i32 %6 to i64 %call = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt5arrayIjLm16EEixEm(ptr noundef nonnull align 4 dereferenceable(64) %5, i64 noundef %conv6) #18 %7 = load i32, ptr %call, align 4, !tbaa !16 %conv7 = zext i32 %7 to i64 %add8 = add i64 %add5, %conv7 %conv9 = trunc i64 %add8 to i32 %8 = load ptr, ptr %a.addr, align 8, !tbaa !6 store i32 %conv9, ptr %8, align 4, !tbaa !16 %9 = load i32, ptr %b.addr, align 4, !tbaa !16 %conv10 = zext i32 %9 to i64 %add11 = add i64 0, %conv10 %10 = getelementptr inbounds %class.anon.4, ptr %this1, i32 0, i32 0 %11 = load ptr, ptr %a.addr, align 8, !tbaa !6 %12 = load i32, ptr %11, align 4, !tbaa !16 %13 = load i32, ptr %s.addr, align 4, !tbaa !16 %call12 = call noundef i32 @_ZZN8rawspeed3md53MD513compressBlockEvENKUljiE_clEji(ptr noundef nonnull align 1 dereferenceable(1) %10, i32 noundef %12, i32 noundef %13) #22 %conv13 = zext i32 %call12 to i64 %add14 = add i64 %add11, %conv13 %conv15 = trunc i64 %add14 to i32 %14 = load ptr, ptr %a.addr, align 8, !tbaa !6 store i32 %conv15, ptr %14, align 4, !tbaa !16 ret void } ; Function Attrs: inlinehint mustprogress nounwind readonly willreturn uwtable define linkonce_odr hidden noundef i32 @_ZZN8rawspeed3md53MD513compressBlockEvENKUljiE_clEji(ptr noundef nonnull align 1 dereferenceable(1) %this, i32 noundef %x, i32 noundef %n) #13 comdat align 2 { entry: %this.addr = alloca ptr, align 8 %x.addr = alloca i32, align 4 %n.addr = alloca i32, align 4 store ptr %this, ptr %this.addr, align 8, !tbaa !6 store i32 %x, ptr %x.addr, align 4, !tbaa !16 store i32 %n, ptr %n.addr, align 4, !tbaa !16 %this1 = load ptr, ptr %this.addr, align 8 %0 = load i32, ptr %x.addr, align 4, !tbaa !16 %1 = load i32, ptr %n.addr, align 4, !tbaa !16 %shl = shl i32 %0, %1 %2 = load i32, ptr %x.addr, align 4, !tbaa !16 %3 = load i32, ptr %n.addr, align 4, !tbaa !16 %sub = sub nsw i32 32, %3 %shr = lshr i32 %2, %sub %or = or i32 %shl, %shr ret i32 %or } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr hidden noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt14__array_traitsIhLm64EE6_S_refERA64_Khm(ptr noundef nonnull align 1 dereferenceable(64) %__t, i64 noundef %__n) #0 comdat align 2 { entry: %__t.addr = alloca ptr, align 8 %__n.addr = alloca i64, align 8 store ptr %__t, ptr %__t.addr, align 8, !tbaa !6 store i64 %__n, ptr %__n.addr, align 8, !tbaa !10 %0 = load ptr, ptr %__t.addr, align 8, !tbaa !6 %1 = load i64, ptr %__n.addr, align 8, !tbaa !10 %arrayidx = getelementptr inbounds [64 x i8], ptr %0, i64 0, i64 %1 ret ptr %arrayidx } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr hidden noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt14__array_traitsIcLm33EE6_S_refERA33_Kcm(ptr noundef nonnull align 1 dereferenceable(33) %__t, i64 noundef %__n) #0 comdat align 2 { entry: %__t.addr = alloca ptr, align 8 %__n.addr = alloca i64, align 8 store ptr %__t, ptr %__t.addr, align 8, !tbaa !6 store i64 %__n, ptr %__n.addr, align 8, !tbaa !10 %0 = load ptr, ptr %__t.addr, align 8, !tbaa !6 %1 = load i64, ptr %__n.addr, align 8, !tbaa !10 %arrayidx = getelementptr inbounds [33 x i8], ptr %0, i64 0, i64 %1 ret ptr %arrayidx } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr hidden noundef ptr @_ZNSt14__array_traitsIcLm33EE6_S_ptrERA33_Kc(ptr noundef nonnull align 1 dereferenceable(33) %__t) #0 comdat align 2 { entry: %__t.addr = alloca ptr, align 8 store ptr %__t, ptr %__t.addr, align 8, !tbaa !6 %0 = load ptr, ptr %__t.addr, align 8, !tbaa !6 %arraydecay = getelementptr inbounds [33 x i8], ptr %0, i64 0, i64 0 ret ptr %arraydecay } ; Function Attrs: nounwind uwtable define linkonce_odr hidden void @_ZNSt15__new_allocatorIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %this) unnamed_addr #2 comdat align 2 { entry: %this.addr = alloca ptr, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 %this1 = load ptr, ptr %this.addr, align 8 ret void } ; Function Attrs: nounwind uwtable define linkonce_odr hidden void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %this) unnamed_addr #2 comdat align 2 { entry: %this.addr = alloca ptr, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 %this1 = load ptr, ptr %this.addr, align 8 ret void } ; Function Attrs: mustprogress nounwind readnone willreturn uwtable define linkonce_odr hidden noundef ptr @_ZNSt5arrayIhLm64EE5beginEv(ptr noundef nonnull align 1 dereferenceable(64) %this) #6 comdat align 2 { entry: %this.addr = alloca ptr, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 %this1 = load ptr, ptr %this.addr, align 8 %call = call noundef ptr @_ZNSt5arrayIhLm64EE4dataEv(ptr noundef nonnull align 1 dereferenceable(64) %this1) #19 ret ptr %call } ; Function Attrs: mustprogress nounwind readnone willreturn uwtable define linkonce_odr hidden noundef ptr @_ZNSt5arrayIhLm64EE4dataEv(ptr noundef nonnull align 1 dereferenceable(64) %this) #6 comdat align 2 { entry: %this.addr = alloca ptr, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 %this1 = load ptr, ptr %this.addr, align 8 %_M_elems = getelementptr inbounds %"struct.std::array.0", ptr %this1, i32 0, i32 0 %call = call noundef ptr @_ZNSt14__array_traitsIhLm64EE6_S_ptrERA64_Kh(ptr noundef nonnull align 1 dereferenceable(64) %_M_elems) #18 ret ptr %call } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr hidden noundef ptr @_ZNSt14__array_traitsIhLm64EE6_S_ptrERA64_Kh(ptr noundef nonnull align 1 dereferenceable(64) %__t) #0 comdat align 2 { entry: %__t.addr = alloca ptr, align 8 store ptr %__t, ptr %__t.addr, align 8, !tbaa !6 %0 = load ptr, ptr %__t.addr, align 8, !tbaa !6 %arraydecay = getelementptr inbounds [64 x i8], ptr %0, i64 0, i64 0 ret ptr %arraydecay } ; Function Attrs: mustprogress nounwind uwtable define available_externally noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %this) #0 align 2 { entry: %this.addr = alloca ptr, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 %this1 = load ptr, ptr %this.addr, align 8 %0 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %this1, i32 0, i32 2 %arraydecay = getelementptr inbounds [16 x i8], ptr %0, i64 0, i64 0 %call = call noundef ptr @_ZNSt19__ptr_traits_ptr_toIPccLb0EE10pointer_toERc(ptr noundef nonnull align 1 dereferenceable(1) %arraydecay) #18 ret ptr %call } ; Function Attrs: nounwind uwtable define available_externally void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_(ptr noundef nonnull align 8 dereferenceable(8) %this, ptr noundef %__dat, ptr noundef nonnull align 1 dereferenceable(1) %__a) unnamed_addr #2 align 2 { entry: %this.addr = alloca ptr, align 8 %__dat.addr = alloca ptr, align 8 %__a.addr = alloca ptr, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 store ptr %__dat, ptr %__dat.addr, align 8, !tbaa !6 store ptr %__a, ptr %__a.addr, align 8, !tbaa !6 %this1 = load ptr, ptr %this.addr, align 8 %0 = load ptr, ptr %__a.addr, align 8, !tbaa !6 call void @_ZNSaIcEC2ERKS_(ptr noundef nonnull align 1 dereferenceable(1) %this1, ptr noundef nonnull align 1 dereferenceable(1) %0) #18 %_M_p = getelementptr inbounds %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", ptr %this1, i32 0, i32 0 %1 = load ptr, ptr %__dat.addr, align 8, !tbaa !6 store ptr %1, ptr %_M_p, align 8, !tbaa !35 ret void } ; Function Attrs: noreturn declare void @_ZSt19__throw_logic_errorPKc(ptr noundef) #14 ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr hidden noundef i64 @_ZNSt11char_traitsIcE6lengthEPKc(ptr noundef %__s) #0 comdat align 2 { entry: %__s.addr = alloca ptr, align 8 store ptr %__s, ptr %__s.addr, align 8, !tbaa !6 %0 = load ptr, ptr %__s.addr, align 8, !tbaa !6 %call = call i64 @strlen(ptr noundef %0) #18 ret i64 %call } ; Function Attrs: mustprogress uwtable define linkonce_odr dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(32) %this, ptr noundef %__beg, ptr noundef %__end) #15 comdat align 2 personality ptr @__gxx_personality_v0 { entry: %0 = alloca %"struct.std::forward_iterator_tag", align 1 %this.addr = alloca ptr, align 8 %__beg.addr = alloca ptr, align 8 %__end.addr = alloca ptr, align 8 %__dnew = alloca i64, align 8 %__guard = alloca %struct._Guard, align 8 %exn.slot = alloca ptr, align 8 %ehselector.slot = alloca i32, align 4 store ptr %this, ptr %this.addr, align 8, !tbaa !6 store ptr %__beg, ptr %__beg.addr, align 8, !tbaa !6 store ptr %__end, ptr %__end.addr, align 8, !tbaa !6 %this1 = load ptr, ptr %this.addr, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %__dnew) #18 %1 = load ptr, ptr %__beg.addr, align 8, !tbaa !6 %2 = load ptr, ptr %__end.addr, align 8, !tbaa !6 %call = call noundef i64 @_ZSt8distanceIPKcENSt15iterator_traitsIT_E15difference_typeES3_S3_(ptr noundef %1, ptr noundef %2) store i64 %call, ptr %__dnew, align 8, !tbaa !10 %3 = load i64, ptr %__dnew, align 8, !tbaa !10 %cmp = icmp ugt i64 %3, 15 br i1 %cmp, label %if.then, label %if.else if.then: ; preds = %entry %call2 = call noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %this1, ptr noundef nonnull align 8 dereferenceable(8) %__dnew, i64 noundef 0) call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEPc(ptr noundef nonnull align 8 dereferenceable(32) %this1, ptr noundef %call2) %4 = load i64, ptr %__dnew, align 8, !tbaa !10 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_capacityEm(ptr noundef nonnull align 8 dereferenceable(32) %this1, i64 noundef %4) br label %if.end if.else: ; preds = %entry %call3 = call noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17_M_use_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %this1) #18 br label %if.end if.end: ; preds = %if.else, %if.then call void @llvm.lifetime.start.p0(i64 8, ptr %__guard) #18 call void @_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tagEN6_GuardC2EPS4_(ptr noundef nonnull align 8 dereferenceable(8) %__guard, ptr noundef %this1) %call4 = invoke noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %this1) to label %invoke.cont unwind label %lpad invoke.cont: ; preds = %if.end %5 = load ptr, ptr %__beg.addr, align 8, !tbaa !6 %6 = load ptr, ptr %__end.addr, align 8, !tbaa !6 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcPKcS7_(ptr noundef %call4, ptr noundef %5, ptr noundef %6) #18 %_M_guarded = getelementptr inbounds %struct._Guard, ptr %__guard, i32 0, i32 0 store ptr null, ptr %_M_guarded, align 8, !tbaa !37 %7 = load i64, ptr %__dnew, align 8, !tbaa !10 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_set_lengthEm(ptr noundef nonnull align 8 dereferenceable(32) %this1, i64 noundef %7) to label %invoke.cont5 unwind label %lpad invoke.cont5: ; preds = %invoke.cont call void @_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tagEN6_GuardD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %__guard) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %__guard) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %__dnew) #18 ret void lpad: ; preds = %invoke.cont, %if.end %8 = landingpad { ptr, i32 } cleanup %9 = extractvalue { ptr, i32 } %8, 0 store ptr %9, ptr %exn.slot, align 8 %10 = extractvalue { ptr, i32 } %8, 1 store i32 %10, ptr %ehselector.slot, align 4 call void @_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tagEN6_GuardD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %__guard) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %__guard) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %__dnew) #18 br label %eh.resume eh.resume: ; preds = %lpad %exn = load ptr, ptr %exn.slot, align 8 %sel = load i32, ptr %ehselector.slot, align 4 %lpad.val = insertvalue { ptr, i32 } undef, ptr %exn, 0 %lpad.val6 = insertvalue { ptr, i32 } %lpad.val, i32 %sel, 1 resume { ptr, i32 } %lpad.val6 } ; Function Attrs: nounwind uwtable define available_externally void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %this) unnamed_addr #2 align 2 { entry: %this.addr = alloca ptr, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 %this1 = load ptr, ptr %this.addr, align 8 call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %this1) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr hidden noundef ptr @_ZNSt19__ptr_traits_ptr_toIPccLb0EE10pointer_toERc(ptr noundef nonnull align 1 dereferenceable(1) %__r) #0 comdat align 2 { entry: %__r.addr = alloca ptr, align 8 store ptr %__r, ptr %__r.addr, align 8, !tbaa !6 %0 = load ptr, ptr %__r.addr, align 8, !tbaa !6 ret ptr %0 } ; Function Attrs: nounwind uwtable define available_externally void @_ZNSaIcEC2ERKS_(ptr noundef nonnull align 1 dereferenceable(1) %this, ptr noundef nonnull align 1 dereferenceable(1) %__a) unnamed_addr #2 align 2 { entry: %this.addr = alloca ptr, align 8 %__a.addr = alloca ptr, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 store ptr %__a, ptr %__a.addr, align 8, !tbaa !6 %this1 = load ptr, ptr %this.addr, align 8 %0 = load ptr, ptr %__a.addr, align 8, !tbaa !6 call void @_ZNSt15__new_allocatorIcEC2ERKS0_(ptr noundef nonnull align 1 dereferenceable(1) %this1, ptr noundef nonnull align 1 dereferenceable(1) %0) #18 ret void } ; Function Attrs: nounwind uwtable define linkonce_odr hidden void @_ZNSt15__new_allocatorIcEC2ERKS0_(ptr noundef nonnull align 1 dereferenceable(1) %this, ptr noundef nonnull align 1 dereferenceable(1) %0) unnamed_addr #2 comdat align 2 { entry: %this.addr = alloca ptr, align 8 %.addr = alloca ptr, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 store ptr %0, ptr %.addr, align 8, !tbaa !6 %this1 = load ptr, ptr %this.addr, align 8 ret void } ; Function Attrs: nounwind declare i64 @strlen(ptr noundef) #5 ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr dso_local noundef i64 @_ZSt8distanceIPKcENSt15iterator_traitsIT_E15difference_typeES3_S3_(ptr noundef %__first, ptr noundef %__last) #12 comdat { entry: %__first.addr = alloca ptr, align 8 %__last.addr = alloca ptr, align 8 %agg.tmp = alloca %"struct.std::random_access_iterator_tag", align 1 %undef.agg.tmp = alloca %"struct.std::random_access_iterator_tag", align 1 store ptr %__first, ptr %__first.addr, align 8, !tbaa !6 store ptr %__last, ptr %__last.addr, align 8, !tbaa !6 %0 = load ptr, ptr %__first.addr, align 8, !tbaa !6 %1 = load ptr, ptr %__last.addr, align 8, !tbaa !6 call void @_ZSt19__iterator_categoryIPKcENSt15iterator_traitsIT_E17iterator_categoryERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %__first.addr) %call = call noundef i64 @_ZSt10__distanceIPKcENSt15iterator_traitsIT_E15difference_typeES3_S3_St26random_access_iterator_tag(ptr noundef %0, ptr noundef %1) ret i64 %call } ; Function Attrs: mustprogress nounwind uwtable define available_externally void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEPc(ptr noundef nonnull align 8 dereferenceable(32) %this, ptr noundef %__p) #0 align 2 { entry: %this.addr = alloca ptr, align 8 %__p.addr = alloca ptr, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 store ptr %__p, ptr %__p.addr, align 8, !tbaa !6 %this1 = load ptr, ptr %this.addr, align 8 %0 = load ptr, ptr %__p.addr, align 8, !tbaa !6 %_M_dataplus = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %this1, i32 0, i32 0 %_M_p = getelementptr inbounds %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", ptr %_M_dataplus, i32 0, i32 0 store ptr %0, ptr %_M_p, align 8, !tbaa !39 ret void } declare noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(8), i64 noundef) #16 ; Function Attrs: mustprogress nounwind uwtable define available_externally void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_capacityEm(ptr noundef nonnull align 8 dereferenceable(32) %this, i64 noundef %__capacity) #0 align 2 { entry: %this.addr = alloca ptr, align 8 %__capacity.addr = alloca i64, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 store i64 %__capacity, ptr %__capacity.addr, align 8, !tbaa !10 %this1 = load ptr, ptr %this.addr, align 8 %0 = load i64, ptr %__capacity.addr, align 8, !tbaa !10 %1 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %this1, i32 0, i32 2 store i64 %0, ptr %1, align 8, !tbaa !15 ret void } ; Function Attrs: alwaysinline mustprogress nounwind uwtable define available_externally noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17_M_use_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %this) #3 align 2 { entry: %this.addr = alloca ptr, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 %this1 = load ptr, ptr %this.addr, align 8 %call = call noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %this1) ret ptr %call } ; Function Attrs: nounwind uwtable define linkonce_odr hidden void @_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tagEN6_GuardC2EPS4_(ptr noundef nonnull align 8 dereferenceable(8) %this, ptr noundef %__s) unnamed_addr #2 comdat align 2 { entry: %this.addr = alloca ptr, align 8 %__s.addr = alloca ptr, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 store ptr %__s, ptr %__s.addr, align 8, !tbaa !6 %this1 = load ptr, ptr %this.addr, align 8 %_M_guarded = getelementptr inbounds %struct._Guard, ptr %this1, i32 0, i32 0 %0 = load ptr, ptr %__s.addr, align 8, !tbaa !6 store ptr %0, ptr %_M_guarded, align 8, !tbaa !37 ret void } ; Function Attrs: mustprogress nounwind uwtable define available_externally void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcPKcS7_(ptr noundef %__p, ptr noundef %__k1, ptr noundef %__k2) #0 align 2 personality ptr @__gxx_personality_v0 { entry: %__p.addr = alloca ptr, align 8 %__k1.addr = alloca ptr, align 8 %__k2.addr = alloca ptr, align 8 store ptr %__p, ptr %__p.addr, align 8, !tbaa !6 store ptr %__k1, ptr %__k1.addr, align 8, !tbaa !6 store ptr %__k2, ptr %__k2.addr, align 8, !tbaa !6 %0 = load ptr, ptr %__p.addr, align 8, !tbaa !6 %1 = load ptr, ptr %__k1.addr, align 8, !tbaa !6 %2 = load ptr, ptr %__k2.addr, align 8, !tbaa !6 %3 = load ptr, ptr %__k1.addr, align 8, !tbaa !6 %sub.ptr.lhs.cast = ptrtoint ptr %2 to i64 %sub.ptr.rhs.cast = ptrtoint ptr %3 to i64 %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcm(ptr noundef %0, ptr noundef %1, i64 noundef %sub.ptr.sub) to label %invoke.cont unwind label %terminate.lpad invoke.cont: ; preds = %entry ret void terminate.lpad: ; preds = %entry %4 = landingpad { ptr, i32 } catch ptr null %5 = extractvalue { ptr, i32 } %4, 0 call void @__clang_call_terminate(ptr %5) #20 unreachable } ; Function Attrs: mustprogress nounwind uwtable define available_externally noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %this) #0 align 2 { entry: %this.addr = alloca ptr, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 %this1 = load ptr, ptr %this.addr, align 8 %_M_dataplus = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %this1, i32 0, i32 0 %_M_p = getelementptr inbounds %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", ptr %_M_dataplus, i32 0, i32 0 %0 = load ptr, ptr %_M_p, align 8, !tbaa !39 ret ptr %0 } ; Function Attrs: mustprogress uwtable define available_externally void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_set_lengthEm(ptr noundef nonnull align 8 dereferenceable(32) %this, i64 noundef %__n) #15 align 2 { entry: %this.addr = alloca ptr, align 8 %__n.addr = alloca i64, align 8 %ref.tmp = alloca i8, align 1 store ptr %this, ptr %this.addr, align 8, !tbaa !6 store i64 %__n, ptr %__n.addr, align 8, !tbaa !10 %this1 = load ptr, ptr %this.addr, align 8 %0 = load i64, ptr %__n.addr, align 8, !tbaa !10 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_lengthEm(ptr noundef nonnull align 8 dereferenceable(32) %this1, i64 noundef %0) %call = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %this1) %1 = load i64, ptr %__n.addr, align 8, !tbaa !10 %arrayidx = getelementptr inbounds i8, ptr %call, i64 %1 call void @llvm.lifetime.start.p0(i64 1, ptr %ref.tmp) #18 store i8 0, ptr %ref.tmp, align 1, !tbaa !15 call void @_ZNSt11char_traitsIcE6assignERcRKc(ptr noundef nonnull align 1 dereferenceable(1) %arrayidx, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %ref.tmp) #18 ret void } ; Function Attrs: nounwind uwtable define linkonce_odr hidden void @_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tagEN6_GuardD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #2 comdat align 2 personality ptr @__gxx_personality_v0 { entry: %this.addr = alloca ptr, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 %this1 = load ptr, ptr %this.addr, align 8 %_M_guarded = getelementptr inbounds %struct._Guard, ptr %this1, i32 0, i32 0 %0 = load ptr, ptr %_M_guarded, align 8, !tbaa !37 %tobool = icmp ne ptr %0, null br i1 %tobool, label %if.then, label %if.end if.then: ; preds = %entry %_M_guarded2 = getelementptr inbounds %struct._Guard, ptr %this1, i32 0, i32 0 %1 = load ptr, ptr %_M_guarded2, align 8, !tbaa !37 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv(ptr noundef nonnull align 8 dereferenceable(32) %1) to label %invoke.cont unwind label %terminate.lpad invoke.cont: ; preds = %if.then br label %if.end if.end: ; preds = %invoke.cont, %entry ret void terminate.lpad: ; preds = %if.then %2 = landingpad { ptr, i32 } catch ptr null %3 = extractvalue { ptr, i32 } %2, 0 call void @__clang_call_terminate(ptr %3) #20 unreachable } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr dso_local noundef i64 @_ZSt10__distanceIPKcENSt15iterator_traitsIT_E15difference_typeES3_S3_St26random_access_iterator_tag(ptr noundef %__first, ptr noundef %__last) #11 comdat { entry: %0 = alloca %"struct.std::random_access_iterator_tag", align 1 %__first.addr = alloca ptr, align 8 %__last.addr = alloca ptr, align 8 store ptr %__first, ptr %__first.addr, align 8, !tbaa !6 store ptr %__last, ptr %__last.addr, align 8, !tbaa !6 %1 = load ptr, ptr %__last.addr, align 8, !tbaa !6 %2 = load ptr, ptr %__first.addr, align 8, !tbaa !6 %sub.ptr.lhs.cast = ptrtoint ptr %1 to i64 %sub.ptr.rhs.cast = ptrtoint ptr %2 to i64 %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast ret i64 %sub.ptr.sub } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr dso_local void @_ZSt19__iterator_categoryIPKcENSt15iterator_traitsIT_E17iterator_categoryERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %0) #11 comdat { entry: %.addr = alloca ptr, align 8 store ptr %0, ptr %.addr, align 8, !tbaa !6 ret void } ; Function Attrs: mustprogress uwtable define available_externally void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcm(ptr noundef %__d, ptr noundef %__s, i64 noundef %__n) #15 align 2 { entry: %__d.addr = alloca ptr, align 8 %__s.addr = alloca ptr, align 8 %__n.addr = alloca i64, align 8 store ptr %__d, ptr %__d.addr, align 8, !tbaa !6 store ptr %__s, ptr %__s.addr, align 8, !tbaa !6 store i64 %__n, ptr %__n.addr, align 8, !tbaa !10 %0 = load i64, ptr %__n.addr, align 8, !tbaa !10 %cmp = icmp eq i64 %0, 1 br i1 %cmp, label %if.then, label %if.else if.then: ; preds = %entry %1 = load ptr, ptr %__d.addr, align 8, !tbaa !6 %2 = load ptr, ptr %__s.addr, align 8, !tbaa !6 call void @_ZNSt11char_traitsIcE6assignERcRKc(ptr noundef nonnull align 1 dereferenceable(1) %1, ptr noundef nonnull align 1 dereferenceable(1) %2) #18 br label %if.end if.else: ; preds = %entry %3 = load ptr, ptr %__d.addr, align 8, !tbaa !6 %4 = load ptr, ptr %__s.addr, align 8, !tbaa !6 %5 = load i64, ptr %__n.addr, align 8, !tbaa !10 %call = call noundef ptr @_ZNSt11char_traitsIcE4copyEPcPKcm(ptr noundef %3, ptr noundef %4, i64 noundef %5) br label %if.end if.end: ; preds = %if.else, %if.then ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr hidden void @_ZNSt11char_traitsIcE6assignERcRKc(ptr noundef nonnull align 1 dereferenceable(1) %__c1, ptr noundef nonnull align 1 dereferenceable(1) %__c2) #0 comdat align 2 { entry: %__c1.addr = alloca ptr, align 8 %__c2.addr = alloca ptr, align 8 store ptr %__c1, ptr %__c1.addr, align 8, !tbaa !6 store ptr %__c2, ptr %__c2.addr, align 8, !tbaa !6 %0 = load ptr, ptr %__c2.addr, align 8, !tbaa !6 %1 = load i8, ptr %0, align 1, !tbaa !15 %2 = load ptr, ptr %__c1.addr, align 8, !tbaa !6 store i8 %1, ptr %2, align 1, !tbaa !15 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr hidden noundef ptr @_ZNSt11char_traitsIcE4copyEPcPKcm(ptr noundef %__s1, ptr noundef %__s2, i64 noundef %__n) #0 comdat align 2 { entry: %retval = alloca ptr, align 8 %__s1.addr = alloca ptr, align 8 %__s2.addr = alloca ptr, align 8 %__n.addr = alloca i64, align 8 store ptr %__s1, ptr %__s1.addr, align 8, !tbaa !6 store ptr %__s2, ptr %__s2.addr, align 8, !tbaa !6 store i64 %__n, ptr %__n.addr, align 8, !tbaa !10 %0 = load i64, ptr %__n.addr, align 8, !tbaa !10 %cmp = icmp eq i64 %0, 0 br i1 %cmp, label %if.then, label %if.end if.then: ; preds = %entry %1 = load ptr, ptr %__s1.addr, align 8, !tbaa !6 store ptr %1, ptr %retval, align 8 br label %return if.end: ; preds = %entry %2 = load ptr, ptr %__s1.addr, align 8, !tbaa !6 %3 = load ptr, ptr %__s2.addr, align 8, !tbaa !6 %4 = load i64, ptr %__n.addr, align 8, !tbaa !10 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %2, ptr align 1 %3, i64 %4, i1 false) store ptr %2, ptr %retval, align 8 br label %return return: ; preds = %if.end, %if.then %5 = load ptr, ptr %retval, align 8 ret ptr %5 } ; Function Attrs: mustprogress nounwind uwtable define available_externally void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_lengthEm(ptr noundef nonnull align 8 dereferenceable(32) %this, i64 noundef %__length) #0 align 2 { entry: %this.addr = alloca ptr, align 8 %__length.addr = alloca i64, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 store i64 %__length, ptr %__length.addr, align 8, !tbaa !10 %this1 = load ptr, ptr %this.addr, align 8 %0 = load i64, ptr %__length.addr, align 8, !tbaa !10 %_M_string_length = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %this1, i32 0, i32 1 store i64 %0, ptr %_M_string_length, align 8, !tbaa !41 ret void } ; Function Attrs: mustprogress uwtable define available_externally void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv(ptr noundef nonnull align 8 dereferenceable(32) %this) #15 align 2 { entry: %this.addr = alloca ptr, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 %this1 = load ptr, ptr %this.addr, align 8 %call = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv(ptr noundef nonnull align 8 dereferenceable(32) %this1) br i1 %call, label %if.end, label %if.then if.then: ; preds = %entry %0 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %this1, i32 0, i32 2 %1 = load i64, ptr %0, align 8, !tbaa !15 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_destroyEm(ptr noundef nonnull align 8 dereferenceable(32) %this1, i64 noundef %1) #18 br label %if.end if.end: ; preds = %if.then, %entry ret void } ; Function Attrs: mustprogress uwtable define available_externally noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv(ptr noundef nonnull align 8 dereferenceable(32) %this) #15 align 2 { entry: %this.addr = alloca ptr, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 %this1 = load ptr, ptr %this.addr, align 8 %call = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %this1) %call2 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %this1) %cmp = icmp eq ptr %call, %call2 ret i1 %cmp } ; Function Attrs: mustprogress nounwind uwtable define available_externally void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_destroyEm(ptr noundef nonnull align 8 dereferenceable(32) %this, i64 noundef %__size) #0 align 2 personality ptr @__gxx_personality_v0 { entry: %this.addr = alloca ptr, align 8 %__size.addr = alloca i64, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 store i64 %__size, ptr %__size.addr, align 8, !tbaa !10 %this1 = load ptr, ptr %this.addr, align 8 %call = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_get_allocatorEv(ptr noundef nonnull align 8 dereferenceable(32) %this1) to label %invoke.cont unwind label %terminate.lpad invoke.cont: ; preds = %entry %call2 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %this1) %0 = load i64, ptr %__size.addr, align 8, !tbaa !10 %add = add i64 %0, 1 invoke void @_ZNSt16allocator_traitsISaIcEE10deallocateERS0_Pcm(ptr noundef nonnull align 1 dereferenceable(1) %call, ptr noundef %call2, i64 noundef %add) to label %invoke.cont3 unwind label %terminate.lpad invoke.cont3: ; preds = %invoke.cont ret void terminate.lpad: ; preds = %invoke.cont, %entry %1 = landingpad { ptr, i32 } catch ptr null %2 = extractvalue { ptr, i32 } %1, 0 call void @__clang_call_terminate(ptr %2) #20 unreachable } ; Function Attrs: mustprogress nounwind uwtable define available_externally noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %this) #0 align 2 { entry: %this.addr = alloca ptr, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 %this1 = load ptr, ptr %this.addr, align 8 %0 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %this1, i32 0, i32 2 %arraydecay = getelementptr inbounds [16 x i8], ptr %0, i64 0, i64 0 %call = call noundef ptr @_ZNSt19__ptr_traits_ptr_toIPKcS0_Lb0EE10pointer_toERS0_(ptr noundef nonnull align 1 dereferenceable(1) %arraydecay) #18 ret ptr %call } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr hidden noundef ptr @_ZNSt19__ptr_traits_ptr_toIPKcS0_Lb0EE10pointer_toERS0_(ptr noundef nonnull align 1 dereferenceable(1) %__r) #0 comdat align 2 { entry: %__r.addr = alloca ptr, align 8 store ptr %__r, ptr %__r.addr, align 8, !tbaa !6 %0 = load ptr, ptr %__r.addr, align 8, !tbaa !6 ret ptr %0 } ; Function Attrs: mustprogress uwtable define linkonce_odr hidden void @_ZNSt16allocator_traitsISaIcEE10deallocateERS0_Pcm(ptr noundef nonnull align 1 dereferenceable(1) %__a, ptr noundef %__p, i64 noundef %__n) #15 comdat align 2 { entry: %__a.addr = alloca ptr, align 8 %__p.addr = alloca ptr, align 8 %__n.addr = alloca i64, align 8 store ptr %__a, ptr %__a.addr, align 8, !tbaa !6 store ptr %__p, ptr %__p.addr, align 8, !tbaa !6 store i64 %__n, ptr %__n.addr, align 8, !tbaa !10 %0 = load ptr, ptr %__a.addr, align 8, !tbaa !6 %1 = load ptr, ptr %__p.addr, align 8, !tbaa !6 %2 = load i64, ptr %__n.addr, align 8, !tbaa !10 call void @_ZNSt15__new_allocatorIcE10deallocateEPcm(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, i64 noundef %2) ret void } ; Function Attrs: mustprogress nounwind uwtable define available_externally noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_get_allocatorEv(ptr noundef nonnull align 8 dereferenceable(32) %this) #0 align 2 { entry: %this.addr = alloca ptr, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 %this1 = load ptr, ptr %this.addr, align 8 %_M_dataplus = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %this1, i32 0, i32 0 ret ptr %_M_dataplus } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr hidden void @_ZNSt15__new_allocatorIcE10deallocateEPcm(ptr noundef nonnull align 1 dereferenceable(1) %this, ptr noundef %__p, i64 noundef %__n) #0 comdat align 2 { entry: %this.addr = alloca ptr, align 8 %__p.addr = alloca ptr, align 8 %__n.addr = alloca i64, align 8 store ptr %this, ptr %this.addr, align 8, !tbaa !6 store ptr %__p, ptr %__p.addr, align 8, !tbaa !6 store i64 %__n, ptr %__n.addr, align 8, !tbaa !10 %this1 = load ptr, ptr %this.addr, align 8 %0 = load ptr, ptr %__p.addr, align 8, !tbaa !6 call void @_ZdlPv(ptr noundef %0) #23 ret void } ; Function Attrs: nobuiltin nounwind declare void @_ZdlPv(ptr noundef) #17 attributes #0 = { mustprogress nounwind uwtable "frame-pointer"="none" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="znver3" "target-features"="+64bit,+adx,+aes,+avx,+avx2,+bmi,+bmi2,+clflushopt,+clwb,+clzero,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+mwaitx,+pclmul,+pku,+popcnt,+prfchw,+rdpid,+rdpru,+rdrnd,+rdseed,+sahf,+sha,+shstk,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+sse4a,+ssse3,+vaes,+vpclmulqdq,+wbnoinvd,+x87,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-bf16,-amx-fp16,-amx-int8,-amx-tile,-avx512bf16,-avx512bitalg,-avx512bw,-avx512cd,-avx512dq,-avx512er,-avx512f,-avx512fp16,-avx512ifma,-avx512pf,-avx512vbmi,-avx512vbmi2,-avx512vl,-avx512vnni,-avx512vp2intersect,-avx512vpopcntdq,-avxvnni,-cldemote,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-pconfig,-prefetchi,-prefetchwt1,-ptwrite,-rtm,-serialize,-sgx,-tbm,-tsxldtrk,-uintr,-waitpkg,-widekl,-xop" "warn-stack-size"="4096" } attributes #1 = { argmemonly nocallback nofree nosync nounwind willreturn } attributes #2 = { nounwind uwtable "frame-pointer"="none" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="znver3" "target-features"="+64bit,+adx,+aes,+avx,+avx2,+bmi,+bmi2,+clflushopt,+clwb,+clzero,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+mwaitx,+pclmul,+pku,+popcnt,+prfchw,+rdpid,+rdpru,+rdrnd,+rdseed,+sahf,+sha,+shstk,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+sse4a,+ssse3,+vaes,+vpclmulqdq,+wbnoinvd,+x87,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-bf16,-amx-fp16,-amx-int8,-amx-tile,-avx512bf16,-avx512bitalg,-avx512bw,-avx512cd,-avx512dq,-avx512er,-avx512f,-avx512fp16,-avx512ifma,-avx512pf,-avx512vbmi,-avx512vbmi2,-avx512vl,-avx512vnni,-avx512vp2intersect,-avx512vpopcntdq,-avxvnni,-cldemote,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-pconfig,-prefetchi,-prefetchwt1,-ptwrite,-rtm,-serialize,-sgx,-tbm,-tsxldtrk,-uintr,-waitpkg,-widekl,-xop" "warn-stack-size"="4096" } attributes #3 = { alwaysinline mustprogress nounwind uwtable "frame-pointer"="none" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="znver3" "target-features"="+64bit,+adx,+aes,+avx,+avx2,+bmi,+bmi2,+clflushopt,+clwb,+clzero,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+mwaitx,+pclmul,+pku,+popcnt,+prfchw,+rdpid,+rdpru,+rdrnd,+rdseed,+sahf,+sha,+shstk,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+sse4a,+ssse3,+vaes,+vpclmulqdq,+wbnoinvd,+x87,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-bf16,-amx-fp16,-amx-int8,-amx-tile,-avx512bf16,-avx512bitalg,-avx512bw,-avx512cd,-avx512dq,-avx512er,-avx512f,-avx512fp16,-avx512ifma,-avx512pf,-avx512vbmi,-avx512vbmi2,-avx512vl,-avx512vnni,-avx512vp2intersect,-avx512vpopcntdq,-avxvnni,-cldemote,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-pconfig,-prefetchi,-prefetchwt1,-ptwrite,-rtm,-serialize,-sgx,-tbm,-tsxldtrk,-uintr,-waitpkg,-widekl,-xop" "warn-stack-size"="4096" } attributes #4 = { argmemonly nocallback nofree nounwind willreturn } attributes #5 = { nounwind "frame-pointer"="none" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="znver3" "target-features"="+64bit,+adx,+aes,+avx,+avx2,+bmi,+bmi2,+clflushopt,+clwb,+clzero,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+mwaitx,+pclmul,+pku,+popcnt,+prfchw,+rdpid,+rdpru,+rdrnd,+rdseed,+sahf,+sha,+shstk,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+sse4a,+ssse3,+vaes,+vpclmulqdq,+wbnoinvd,+x87,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-bf16,-amx-fp16,-amx-int8,-amx-tile,-avx512bf16,-avx512bitalg,-avx512bw,-avx512cd,-avx512dq,-avx512er,-avx512f,-avx512fp16,-avx512ifma,-avx512pf,-avx512vbmi,-avx512vbmi2,-avx512vl,-avx512vnni,-avx512vp2intersect,-avx512vpopcntdq,-avxvnni,-cldemote,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-pconfig,-prefetchi,-prefetchwt1,-ptwrite,-rtm,-serialize,-sgx,-tbm,-tsxldtrk,-uintr,-waitpkg,-widekl,-xop" } attributes #6 = { mustprogress nounwind readnone willreturn uwtable "frame-pointer"="none" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="znver3" "target-features"="+64bit,+adx,+aes,+avx,+avx2,+bmi,+bmi2,+clflushopt,+clwb,+clzero,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+mwaitx,+pclmul,+pku,+popcnt,+prfchw,+rdpid,+rdpru,+rdrnd,+rdseed,+sahf,+sha,+shstk,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+sse4a,+ssse3,+vaes,+vpclmulqdq,+wbnoinvd,+x87,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-bf16,-amx-fp16,-amx-int8,-amx-tile,-avx512bf16,-avx512bitalg,-avx512bw,-avx512cd,-avx512dq,-avx512er,-avx512f,-avx512fp16,-avx512ifma,-avx512pf,-avx512vbmi,-avx512vbmi2,-avx512vl,-avx512vnni,-avx512vp2intersect,-avx512vpopcntdq,-avxvnni,-cldemote,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-pconfig,-prefetchi,-prefetchwt1,-ptwrite,-rtm,-serialize,-sgx,-tbm,-tsxldtrk,-uintr,-waitpkg,-widekl,-xop" "warn-stack-size"="4096" } attributes #7 = { uwtable "frame-pointer"="none" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="znver3" "target-features"="+64bit,+adx,+aes,+avx,+avx2,+bmi,+bmi2,+clflushopt,+clwb,+clzero,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+mwaitx,+pclmul,+pku,+popcnt,+prfchw,+rdpid,+rdpru,+rdrnd,+rdseed,+sahf,+sha,+shstk,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+sse4a,+ssse3,+vaes,+vpclmulqdq,+wbnoinvd,+x87,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-bf16,-amx-fp16,-amx-int8,-amx-tile,-avx512bf16,-avx512bitalg,-avx512bw,-avx512cd,-avx512dq,-avx512er,-avx512f,-avx512fp16,-avx512ifma,-avx512pf,-avx512vbmi,-avx512vbmi2,-avx512vl,-avx512vnni,-avx512vp2intersect,-avx512vpopcntdq,-avxvnni,-cldemote,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-pconfig,-prefetchi,-prefetchwt1,-ptwrite,-rtm,-serialize,-sgx,-tbm,-tsxldtrk,-uintr,-waitpkg,-widekl,-xop" "warn-stack-size"="4096" } attributes #8 = { noinline noreturn nounwind } attributes #9 = { mustprogress noinline nounwind uwtable "frame-pointer"="none" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="znver3" "target-features"="+64bit,+adx,+aes,+avx,+avx2,+bmi,+bmi2,+clflushopt,+clwb,+clzero,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+mwaitx,+pclmul,+pku,+popcnt,+prfchw,+rdpid,+rdpru,+rdrnd,+rdseed,+sahf,+sha,+shstk,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+sse4a,+ssse3,+vaes,+vpclmulqdq,+wbnoinvd,+x87,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-bf16,-amx-fp16,-amx-int8,-amx-tile,-avx512bf16,-avx512bitalg,-avx512bw,-avx512cd,-avx512dq,-avx512er,-avx512f,-avx512fp16,-avx512ifma,-avx512pf,-avx512vbmi,-avx512vbmi2,-avx512vl,-avx512vnni,-avx512vp2intersect,-avx512vpopcntdq,-avxvnni,-cldemote,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-pconfig,-prefetchi,-prefetchwt1,-ptwrite,-rtm,-serialize,-sgx,-tbm,-tsxldtrk,-uintr,-waitpkg,-widekl,-xop" "warn-stack-size"="4096" } attributes #10 = { argmemonly nocallback nofree nounwind willreturn writeonly } attributes #11 = { inlinehint mustprogress nounwind uwtable "frame-pointer"="none" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="znver3" "target-features"="+64bit,+adx,+aes,+avx,+avx2,+bmi,+bmi2,+clflushopt,+clwb,+clzero,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+mwaitx,+pclmul,+pku,+popcnt,+prfchw,+rdpid,+rdpru,+rdrnd,+rdseed,+sahf,+sha,+shstk,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+sse4a,+ssse3,+vaes,+vpclmulqdq,+wbnoinvd,+x87,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-bf16,-amx-fp16,-amx-int8,-amx-tile,-avx512bf16,-avx512bitalg,-avx512bw,-avx512cd,-avx512dq,-avx512er,-avx512f,-avx512fp16,-avx512ifma,-avx512pf,-avx512vbmi,-avx512vbmi2,-avx512vl,-avx512vnni,-avx512vp2intersect,-avx512vpopcntdq,-avxvnni,-cldemote,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-pconfig,-prefetchi,-prefetchwt1,-ptwrite,-rtm,-serialize,-sgx,-tbm,-tsxldtrk,-uintr,-waitpkg,-widekl,-xop" "warn-stack-size"="4096" } attributes #12 = { inlinehint mustprogress uwtable "frame-pointer"="none" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="znver3" "target-features"="+64bit,+adx,+aes,+avx,+avx2,+bmi,+bmi2,+clflushopt,+clwb,+clzero,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+mwaitx,+pclmul,+pku,+popcnt,+prfchw,+rdpid,+rdpru,+rdrnd,+rdseed,+sahf,+sha,+shstk,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+sse4a,+ssse3,+vaes,+vpclmulqdq,+wbnoinvd,+x87,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-bf16,-amx-fp16,-amx-int8,-amx-tile,-avx512bf16,-avx512bitalg,-avx512bw,-avx512cd,-avx512dq,-avx512er,-avx512f,-avx512fp16,-avx512ifma,-avx512pf,-avx512vbmi,-avx512vbmi2,-avx512vl,-avx512vnni,-avx512vp2intersect,-avx512vpopcntdq,-avxvnni,-cldemote,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-pconfig,-prefetchi,-prefetchwt1,-ptwrite,-rtm,-serialize,-sgx,-tbm,-tsxldtrk,-uintr,-waitpkg,-widekl,-xop" "warn-stack-size"="4096" } attributes #13 = { inlinehint mustprogress nounwind readonly willreturn uwtable "frame-pointer"="none" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="znver3" "target-features"="+64bit,+adx,+aes,+avx,+avx2,+bmi,+bmi2,+clflushopt,+clwb,+clzero,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+mwaitx,+pclmul,+pku,+popcnt,+prfchw,+rdpid,+rdpru,+rdrnd,+rdseed,+sahf,+sha,+shstk,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+sse4a,+ssse3,+vaes,+vpclmulqdq,+wbnoinvd,+x87,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-bf16,-amx-fp16,-amx-int8,-amx-tile,-avx512bf16,-avx512bitalg,-avx512bw,-avx512cd,-avx512dq,-avx512er,-avx512f,-avx512fp16,-avx512ifma,-avx512pf,-avx512vbmi,-avx512vbmi2,-avx512vl,-avx512vnni,-avx512vp2intersect,-avx512vpopcntdq,-avxvnni,-cldemote,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-pconfig,-prefetchi,-prefetchwt1,-ptwrite,-rtm,-serialize,-sgx,-tbm,-tsxldtrk,-uintr,-waitpkg,-widekl,-xop" "warn-stack-size"="4096" } attributes #14 = { noreturn "frame-pointer"="none" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="znver3" "target-features"="+64bit,+adx,+aes,+avx,+avx2,+bmi,+bmi2,+clflushopt,+clwb,+clzero,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+mwaitx,+pclmul,+pku,+popcnt,+prfchw,+rdpid,+rdpru,+rdrnd,+rdseed,+sahf,+sha,+shstk,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+sse4a,+ssse3,+vaes,+vpclmulqdq,+wbnoinvd,+x87,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-bf16,-amx-fp16,-amx-int8,-amx-tile,-avx512bf16,-avx512bitalg,-avx512bw,-avx512cd,-avx512dq,-avx512er,-avx512f,-avx512fp16,-avx512ifma,-avx512pf,-avx512vbmi,-avx512vbmi2,-avx512vl,-avx512vnni,-avx512vp2intersect,-avx512vpopcntdq,-avxvnni,-cldemote,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-pconfig,-prefetchi,-prefetchwt1,-ptwrite,-rtm,-serialize,-sgx,-tbm,-tsxldtrk,-uintr,-waitpkg,-widekl,-xop" } attributes #15 = { mustprogress uwtable "frame-pointer"="none" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="znver3" "target-features"="+64bit,+adx,+aes,+avx,+avx2,+bmi,+bmi2,+clflushopt,+clwb,+clzero,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+mwaitx,+pclmul,+pku,+popcnt,+prfchw,+rdpid,+rdpru,+rdrnd,+rdseed,+sahf,+sha,+shstk,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+sse4a,+ssse3,+vaes,+vpclmulqdq,+wbnoinvd,+x87,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-bf16,-amx-fp16,-amx-int8,-amx-tile,-avx512bf16,-avx512bitalg,-avx512bw,-avx512cd,-avx512dq,-avx512er,-avx512f,-avx512fp16,-avx512ifma,-avx512pf,-avx512vbmi,-avx512vbmi2,-avx512vl,-avx512vnni,-avx512vp2intersect,-avx512vpopcntdq,-avxvnni,-cldemote,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-pconfig,-prefetchi,-prefetchwt1,-ptwrite,-rtm,-serialize,-sgx,-tbm,-tsxldtrk,-uintr,-waitpkg,-widekl,-xop" "warn-stack-size"="4096" } attributes #16 = { "frame-pointer"="none" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="znver3" "target-features"="+64bit,+adx,+aes,+avx,+avx2,+bmi,+bmi2,+clflushopt,+clwb,+clzero,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+mwaitx,+pclmul,+pku,+popcnt,+prfchw,+rdpid,+rdpru,+rdrnd,+rdseed,+sahf,+sha,+shstk,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+sse4a,+ssse3,+vaes,+vpclmulqdq,+wbnoinvd,+x87,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-bf16,-amx-fp16,-amx-int8,-amx-tile,-avx512bf16,-avx512bitalg,-avx512bw,-avx512cd,-avx512dq,-avx512er,-avx512f,-avx512fp16,-avx512ifma,-avx512pf,-avx512vbmi,-avx512vbmi2,-avx512vl,-avx512vnni,-avx512vp2intersect,-avx512vpopcntdq,-avxvnni,-cldemote,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-pconfig,-prefetchi,-prefetchwt1,-ptwrite,-rtm,-serialize,-sgx,-tbm,-tsxldtrk,-uintr,-waitpkg,-widekl,-xop" } attributes #17 = { nobuiltin nounwind "frame-pointer"="none" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="znver3" "target-features"="+64bit,+adx,+aes,+avx,+avx2,+bmi,+bmi2,+clflushopt,+clwb,+clzero,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+mwaitx,+pclmul,+pku,+popcnt,+prfchw,+rdpid,+rdpru,+rdrnd,+rdseed,+sahf,+sha,+shstk,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+sse4a,+ssse3,+vaes,+vpclmulqdq,+wbnoinvd,+x87,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-bf16,-amx-fp16,-amx-int8,-amx-tile,-avx512bf16,-avx512bitalg,-avx512bw,-avx512cd,-avx512dq,-avx512er,-avx512f,-avx512fp16,-avx512ifma,-avx512pf,-avx512vbmi,-avx512vbmi2,-avx512vl,-avx512vnni,-avx512vp2intersect,-avx512vpopcntdq,-avxvnni,-cldemote,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-pconfig,-prefetchi,-prefetchwt1,-ptwrite,-rtm,-serialize,-sgx,-tbm,-tsxldtrk,-uintr,-waitpkg,-widekl,-xop" } attributes #18 = { nounwind } attributes #19 = { nounwind readnone willreturn } attributes #20 = { noreturn nounwind } attributes #21 = { noreturn } attributes #22 = { nounwind readonly willreturn } attributes #23 = { builtin nounwind } !llvm.module.flags = !{!0, !1, !2, !3, !4} !llvm.ident = !{!5} !0 = !{i32 1, !"wchar_size", i32 4} !1 = !{i32 7, !"openmp", i32 45} !2 = !{i32 8, !"PIC Level", i32 2} !3 = !{i32 7, !"PIE Level", i32 2} !4 = !{i32 7, !"uwtable", i32 2} !5 = !{!"Debian clang version 16.0.0-++20221024100939+996267d20ea0-1~exp1~20221024221046.844"} !6 = !{!7, !7, i64 0} !7 = !{!"any pointer", !8, i64 0} !8 = !{!"omnipotent char", !9, i64 0} !9 = !{!"Simple C++ TBAA"} !10 = !{!11, !11, i64 0} !11 = !{!"long", !8, i64 0} !12 = distinct !{!12, !13} !13 = !{!"llvm.loop.mustprogress"} !14 = !{i64 0, i64 16, !15} !15 = !{!8, !8, i64 0} !16 = !{!17, !17, i64 0} !17 = !{!"int", !8, i64 0} !18 = !{!19, !17, i64 80} !19 = !{!"_ZTSN8rawspeed3md53MD5E", !20, i64 0, !21, i64 16, !17, i64 80, !17, i64 84} !20 = !{!"_ZTSSt5arrayIjLm4EE", !8, i64 0} !21 = !{!"_ZTSSt5arrayIhLm64EE", !8, i64 0} !22 = !{!19, !17, i64 84} !23 = distinct !{!23, !13} !24 = distinct !{!24, !13} !25 = !{!26, !7, i64 0} !26 = !{!"_ZTSZN8rawspeed3md53MD513compressBlockEvEUliE_", !7, i64 0, !7, i64 8} !27 = distinct !{!27, !13} !28 = !{i64 8, i64 8, !6} !29 = distinct !{!29, !13} !30 = !{!26, !7, i64 8} !31 = distinct !{!31, !13} !32 = !{!33, !7, i64 8} !33 = !{!"_ZTSZN8rawspeed3md53MD513compressBlockEvEUlRjjjjjjE_", !34, i64 0, !7, i64 8} !34 = !{!"_ZTSZN8rawspeed3md53MD513compressBlockEvEUljiE_"} !35 = !{!36, !7, i64 0} !36 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !7, i64 0} !37 = !{!38, !7, i64 0} !38 = !{!"_ZTSZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tagE6_Guard", !7, i64 0} !39 = !{!40, !7, i64 0} !40 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !36, i64 0, !11, i64 8, !8, i64 16} !41 = !{!40, !11, i64 8}
Become a Patron
Sponsor on GitHub
Donate via PayPal
Source on GitHub
Mailing list
Installed libraries
Wiki
Report an issue
How it works
Contact the author
CE on Mastodon
CE on Bluesky
About the author
Statistics
Changelog
Version tree