From bc01d0f49e0cd3c452a6d6d5885f67c3b7acfead Mon Sep 17 00:00:00 2001 From: Hashim Sharif <hsharif3@tyler.cs.illinois.edu> Date: Thu, 13 Dec 2018 19:51:14 -0600 Subject: [PATCH] Starting with Convolutions in Lenet - Incomplete --- .../DNN_Benchmarks/benchmarks/lenet/Makefile | 47 + .../benchmarks/lenet/build/lenet.ll | 2645 ++++++++++++++++ .../benchmarks/lenet/build/lenet.opt.bc | Bin 0 -> 41512 bytes .../benchmarks/lenet/build/lenet.visc.ll | 2658 +++++++++++++++++ .../benchmarks/lenet/build/lenet_linked | Bin 0 -> 416608 bytes .../benchmarks/lenet/build/lenet_linked.bc | Bin 0 -> 198808 bytes .../benchmarks/lenet/src/.#fcl.cpp | 1 + .../benchmarks/lenet/src/lenet.cpp | 132 + 8 files changed, 5483 insertions(+) create mode 100644 llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet/Makefile create mode 100644 llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet/build/lenet.ll create mode 100644 llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet/build/lenet.opt.bc create mode 100644 llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet/build/lenet.visc.ll create mode 100755 llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet/build/lenet_linked create mode 100644 llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet/build/lenet_linked.bc create mode 120000 llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet/src/.#fcl.cpp create mode 100644 llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet/src/lenet.cpp diff --git a/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet/Makefile b/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet/Makefile new file mode 100644 index 0000000000..9454a1b4ce --- /dev/null +++ b/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet/Makefile @@ -0,0 +1,47 @@ +DNN_BENCHMARK_ROOT = $(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks +CC = $(LLVM_SRC_ROOT)/../build/bin/clang++ +OPT = $(LLVM_SRC_ROOT)/../build/bin/opt +LLVM_DIS = $(LLVM_SRC_ROOT)/../build/bin/llvm-dis +LLVM_LINK = $(LLVM_SRC_ROOT)/../build/bin/llvm-link +LLVM_INCLUDE_DIR = $(LLVM_SRC_ROOT)/include + +SRC_DIR = src +BUILD_DIR = build +APP = lenet + +TENSOR_INCLUDE_DIR = $(DNN_BENCHMARK_ROOT)/common/include +TENSOR_RT_INCLUDE_DIR = $(LLVM_SRC_ROOT)/projects/hpvm-tensor-rt/tensor_runtime/include +TENSOR_LIB_DIR = $(LLVM_SRC_ROOT)/projects/hpvm-tensor-rt/build/libtensor_runtime.a + +CC_FLAGS = -I $(LLVM_INCLUDE_DIR) -I $(TENSOR_INCLUDE_DIR) -I $(TENSOR_RT_INCLUDE_DIR) -I $(CUDA_INCLUDE_PATH) -fno-exceptions -ffast-math -std=c++11 -O3 +CCFLAGS += -DDEVICE=CUDNN_TARGET +LINKER_FLAGS = -lpthread -lcudart -lcurand -lcudnn -lcublas -lOpenCL + +VISC_OPTFLAGS = -load LLVMBuildDFG.so -load LLVMInPlaceDFGAnalysis.so -load LLVMDFG2LLVM_CUDNN.so -load LLVMDFG2LLVM_X86.so -load LLVMClearDFG.so -inplace -dfg2llvm-cudnn -dfg2llvm-x86 -clearDFG + +TARGET = $(BUILD_DIR)/$(APP).opt.bc +SOURCES = $(SRC_DIR)/$(APP).cpp +VISC_RT_PATH = $(LLVM_SRC_ROOT)/../build/projects/visc-rt/visc-rt.ll + +#OBJS = $(BUILD_DIR)/$(wildcabrd *.ll) +.PRECIOUS: $(BUILD_DIR)/$(APP).ll $(BUILD_DIR)/$(APP).visc.ll +default: $(BUILD_DIR) $(TARGET) + + +$(BUILD_DIR)/%.ll: $(SRC_DIR)/%.cpp + $(CC) $(CC_FLAGS) -emit-llvm -S -o $@ $< + +#-visc-timers-gen +$(BUILD_DIR)/%.visc.ll: $(BUILD_DIR)/%.ll + $(OPT) -load LLVMGenVISC.so -genvisc -globaldce $< -S -o $@ + +$(BUILD_DIR)/%.opt.bc: $(BUILD_DIR)/%.visc.ll + $(OPT) $(VISC_OPTFLAGS) $< -o $@ + $(LLVM_LINK) $@ $(VISC_RT_PATH) -o $(BUILD_DIR)/lenet_linked.bc + $(CC) $(BUILD_DIR)/lenet_linked.bc $(TENSOR_LIB_DIR) -o $(BUILD_DIR)/lenet_linked $(LINKER_FLAGS) + +$(BUILD_DIR): + mkdir -p $@ + +clean: + rm -rf $(BUILD_DIR) diff --git a/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet/build/lenet.ll b/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet/build/lenet.ll new file mode 100644 index 0000000000..c07d88c871 --- /dev/null +++ b/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet/build/lenet.ll @@ -0,0 +1,2645 @@ +; ModuleID = 'src/lenet.cpp' +source_filename = "src/lenet.cpp" +target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" +target triple = "x86_64-unknown-linux-gnu" + +%"class.std::ios_base::Init" = type { i8 } +%struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i64, i16, i8, [1 x i8], i8*, i64, i8*, i8*, i8*, i8*, i64, i32, [20 x i8] } +%struct._IO_marker = type { %struct._IO_marker*, %struct._IO_FILE*, i32 } +%struct.Tensor = type { i32, i32, i32, %struct.cudnnTensorStruct*, %struct.cudnnFilterStruct*, i8*, i8*, i64, i64, %struct.Dimension } +%struct.cudnnTensorStruct = type opaque +%struct.cudnnFilterStruct = type opaque +%struct.Dimension = type { i32, i64* } +%"class.std::__cxx11::basic_ostringstream" = type { %"class.std::basic_ostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" } +%"class.std::basic_ostream.base" = type { i32 (...)** } +%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" } +%"class.std::basic_streambuf" = type { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, %"class.std::locale" } +%"class.std::locale" = type { %"class.std::locale::_Impl"* } +%"class.std::locale::_Impl" = type { i32, %"class.std::locale::facet"**, i64, %"class.std::locale::facet"**, i8** } +%"class.std::locale::facet" = type <{ i32 (...)**, i32, [4 x i8] }> +%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider", i64, %union.anon } +%"struct.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider" = type { i8* } +%union.anon = type { i64, [8 x i8] } +%"class.std::basic_ios" = type { %"class.std::ios_base", %"class.std::basic_ostream"*, i8, i8, %"class.std::basic_streambuf"*, %"class.std::ctype"*, %"class.std::num_put"*, %"class.std::num_get"* } +%"class.std::ios_base" = type { i32 (...)**, i64, i64, i32, i32, i32, %"struct.std::ios_base::_Callback_list"*, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, %"struct.std::ios_base::_Words"*, %"class.std::locale" } +%"struct.std::ios_base::_Callback_list" = type { %"struct.std::ios_base::_Callback_list"*, void (i32, %"class.std::ios_base"*, i32)*, i32, i32 } +%"struct.std::ios_base::_Words" = type { i8*, i64 } +%"class.std::basic_ostream" = type { i32 (...)**, %"class.std::basic_ios" } +%"class.std::ctype" = type <{ %"class.std::locale::facet.base", [4 x i8], %struct.__locale_struct*, i8, [7 x i8], i32*, i32*, i16*, i8, [256 x i8], [256 x i8], i8, [6 x i8] }> +%"class.std::locale::facet.base" = type <{ i32 (...)**, i32 }> +%struct.__locale_struct = type { [13 x %struct.__locale_data*], i16*, i32*, i32*, [13 x i8*] } +%struct.__locale_data = type opaque +%"class.std::num_put" = type { %"class.std::locale::facet.base", [4 x i8] } +%"class.std::num_get" = type { %"class.std::locale::facet.base", [4 x i8] } + +@_ZStL8__ioinit = internal global %"class.std::ios_base::Init" zeroinitializer, align 1 +@__dso_handle = external global i8 +@.str.1 = private unnamed_addr constant [19 x i8] c"tensor dims = %d \0A\00", align 1 +@.str.2 = private unnamed_addr constant [18 x i8] c"dim1_size = %zu \0A\00", align 1 +@.str.3 = private unnamed_addr constant [18 x i8] c"dim2_size = %zu \0A\00", align 1 +@.str.4 = private unnamed_addr constant [18 x i8] c"num_elems = %zu \0A\00", align 1 +@.str.5 = private unnamed_addr constant [3 x i8] c"wb\00", align 1 +@.str.6 = private unnamed_addr constant [58 x i8] c"File %s could not be created. Check if directory exists \0A\00", align 1 +@.str.7 = private unnamed_addr constant [22 x i8] c"size_in_bytes = %zu \0A\00", align 1 +@.str.8 = private unnamed_addr constant [21 x i8] c"bytes_written = %zu\0A\00", align 1 +@.str.9 = private unnamed_addr constant [4 x i8] c"%f,\00", align 1 +@.str.11 = private unnamed_addr constant [18 x i8] c"Num_elems = %zu \0A\00", align 1 +@.str.12 = private unnamed_addr constant [16 x i8] c"dim[%d] = %zu \0A\00", align 1 +@.str.13 = private unnamed_addr constant [35 x i8] c"Tensor data mismatch at index %d \0A\00", align 1 +@.str.14 = private unnamed_addr constant [21 x i8] c"Tensor data mismatch\00", align 1 +@.str.15 = private unnamed_addr constant [3 x i8] c"rb\00", align 1 +@.str.16 = private unnamed_addr constant [41 x i8] c"Data file %s is not found. Aborting... \0A\00", align 1 +@.str.17 = private unnamed_addr constant [23 x i8] c"tensor_data[%d] = %f \0A\00", align 1 +@.str.18 = private unnamed_addr constant [40 x i8] c"Data file %s is not found. Aborting...\0A\00", align 1 +@.str.19 = private unnamed_addr constant [28 x i8] c"--labels bytes_read = %zu \0A\00", align 1 +@.str.20 = private unnamed_addr constant [24 x i8] c"****** Accuracy = %f \0A\0A\00", align 1 +@.str.21 = private unnamed_addr constant [15 x i8] c"final_accuracy\00", align 1 +@.str.22 = private unnamed_addr constant [3 x i8] c"w+\00", align 1 +@.str.23 = private unnamed_addr constant [55 x i8] c"../../../../../../projects/hpvm-tensor-rt/model_params\00", align 1 +@.str.24 = private unnamed_addr constant [35 x i8] c"/FC_network2/mnist_float_input.bin\00", align 1 +@.str.25 = private unnamed_addr constant [23 x i8] c"/lenet_keras/conv1.bin\00", align 1 +@.str.26 = private unnamed_addr constant [28 x i8] c"/lenet_keras/conv1_bias.bin\00", align 1 +@.str.27 = private unnamed_addr constant [23 x i8] c"/lenet_keras/conv2.bin\00", align 1 +@.str.28 = private unnamed_addr constant [28 x i8] c"/lenet_keras/conv2_bias.bin\00", align 1 +@.str.29 = private unnamed_addr constant [31 x i8] c"Reading Input Data from = %s \0A\00", align 1 +@_ZTVNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE = external unnamed_addr constant { [5 x i8*], [5 x i8*] } +@_ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE = external unnamed_addr constant [4 x i8*] +@_ZTVSt9basic_iosIcSt11char_traitsIcEE = external unnamed_addr constant { [4 x i8*] } +@_ZTVNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE = external unnamed_addr constant { [16 x i8*] } +@_ZTVSt15basic_streambufIcSt11char_traitsIcEE = external unnamed_addr constant { [16 x i8*] } +@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @_GLOBAL__sub_I_lenet.cpp, i8* null }] +@str = private unnamed_addr constant [23 x i8] c"Successful cudaMalloc \00" + +declare void @_ZNSt8ios_base4InitC1Ev(%"class.std::ios_base::Init"*) unnamed_addr #0 + +; Function Attrs: nounwind +declare void @_ZNSt8ios_base4InitD1Ev(%"class.std::ios_base::Init"*) unnamed_addr #1 + +; Function Attrs: nounwind +declare i32 @__cxa_atexit(void (i8*)*, i8*, i8*) local_unnamed_addr #2 + +; Function Attrs: nounwind uwtable +define void @_Z15printTensorInfoPv(i8* nocapture readonly %tensor_ptr) local_unnamed_addr #3 { +entry: + %gpu_data = getelementptr inbounds i8, i8* %tensor_ptr, i64 40 + %0 = bitcast i8* %gpu_data to i8** + %1 = load i8*, i8** %0, align 8, !tbaa !1 + %cmp = icmp eq i8* %1, null + br i1 %cmp, label %if.end, label %if.then + +if.then: ; preds = %entry + %puts = tail call i32 @puts(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %entry, %if.then + %dims = getelementptr inbounds i8, i8* %tensor_ptr, i64 64 + %num_dims = bitcast i8* %dims to i32* + %2 = load i32, i32* %num_dims, align 8, !tbaa !10 + %call1 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.1, i64 0, i64 0), i32 %2) + %dim_sizes = getelementptr inbounds i8, i8* %tensor_ptr, i64 72 + %3 = bitcast i8* %dim_sizes to i64** + %4 = load i64*, i64** %3, align 8, !tbaa !11 + %5 = load i64, i64* %4, align 8, !tbaa !12 + %call3 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.2, i64 0, i64 0), i64 %5) + %6 = load i64*, i64** %3, align 8, !tbaa !11 + %arrayidx6 = getelementptr inbounds i64, i64* %6, i64 1 + %7 = load i64, i64* %arrayidx6, align 8, !tbaa !12 + %call7 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.3, i64 0, i64 0), i64 %7) + %num_elems = getelementptr inbounds i8, i8* %tensor_ptr, i64 48 + %8 = bitcast i8* %num_elems to i64* + %9 = load i64, i64* %8, align 8, !tbaa !13 + %call8 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.4, i64 0, i64 0), i64 %9) + ret void +} + +; Function Attrs: argmemonly nounwind +declare void @llvm.lifetime.start(i64, i8* nocapture) #4 + +; Function Attrs: nounwind +declare i32 @printf(i8* nocapture readonly, ...) local_unnamed_addr #1 + +; Function Attrs: argmemonly nounwind +declare void @llvm.lifetime.end(i64, i8* nocapture) #4 + +; Function Attrs: nounwind uwtable +define void @_Z17dumpWeightsToFilePcPv(i8* %file_name, i8* %weights_ptr) local_unnamed_addr #3 { +entry: + tail call void @hpvm_request_tensor(i8* %weights_ptr, i32 0) #2 + %call = tail call %struct._IO_FILE* @fopen(i8* %file_name, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.5, i64 0, i64 0)) + %cmp = icmp eq %struct._IO_FILE* %call, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call1 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.6, i64 0, i64 0), i8* %file_name) + tail call void @abort() #8 + unreachable + +if.end: ; preds = %entry + %size_in_bytes = getelementptr inbounds i8, i8* %weights_ptr, i64 56 + %0 = bitcast i8* %size_in_bytes to i64* + %1 = load i64, i64* %0, align 8, !tbaa !14 + %call2 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.7, i64 0, i64 0), i64 %1) + %host_data = getelementptr inbounds i8, i8* %weights_ptr, i64 32 + %2 = bitcast i8* %host_data to i8** + %3 = load i8*, i8** %2, align 8, !tbaa !15 + %4 = load i64, i64* %0, align 8, !tbaa !14 + %call4 = tail call i64 @fwrite(i8* %3, i64 1, i64 %4, %struct._IO_FILE* nonnull %call) + %call5 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.8, i64 0, i64 0), i64 %call4) + %call6 = tail call i32 @fclose(%struct._IO_FILE* nonnull %call) + ret void +} + +declare void @hpvm_request_tensor(i8*, i32) local_unnamed_addr #0 + +; Function Attrs: nounwind +declare noalias %struct._IO_FILE* @fopen(i8* nocapture readonly, i8* nocapture readonly) local_unnamed_addr #1 + +; Function Attrs: noreturn nounwind +declare void @abort() local_unnamed_addr #5 + +; Function Attrs: nounwind +declare i64 @fwrite(i8* nocapture, i64, i64, %struct._IO_FILE* nocapture) local_unnamed_addr #1 + +; Function Attrs: nounwind +declare i32 @fclose(%struct._IO_FILE* nocapture) local_unnamed_addr #1 + +; Function Attrs: nounwind uwtable +define void @_Z18fillTensorWithOnesPv(i8* %tensor_ptr) local_unnamed_addr #3 { +entry: + tail call void @hpvm_request_tensor(i8* %tensor_ptr, i32 0) #2 + %data_type = bitcast i8* %tensor_ptr to i32* + %0 = load i32, i32* %data_type, align 8, !tbaa !16 + %cmp = icmp eq i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %host_data = getelementptr inbounds i8, i8* %tensor_ptr, i64 32 + %1 = bitcast i8* %host_data to float** + %2 = load float*, float** %1, align 8, !tbaa !15 + %num_elems = getelementptr inbounds i8, i8* %tensor_ptr, i64 48 + %3 = bitcast i8* %num_elems to i64* + %4 = load i64, i64* %3, align 8, !tbaa !13 + %cmp110 = icmp eq i64 %4, 0 + br i1 %cmp110, label %if.end, label %for.body.preheader + +for.body.preheader: ; preds = %if.then + %min.iters.check = icmp ult i64 %4, 8 + br i1 %min.iters.check, label %for.body.preheader22, label %min.iters.checked + +min.iters.checked: ; preds = %for.body.preheader + %n.vec = and i64 %4, -8 + %cmp.zero = icmp eq i64 %n.vec, 0 + br i1 %cmp.zero, label %for.body.preheader22, label %vector.scevcheck + +vector.scevcheck: ; preds = %min.iters.checked + %5 = add i64 %4, -1 + %6 = trunc i64 %5 to i32 + %7 = icmp eq i32 %6, -1 + %8 = icmp ugt i64 %5, 4294967295 + %9 = or i1 %7, %8 + %cast.crd = trunc i64 %n.vec to i32 + br i1 %9, label %for.body.preheader22, label %vector.body.preheader + +vector.body.preheader: ; preds = %vector.scevcheck + %10 = add i64 %n.vec, -8 + %11 = lshr exact i64 %10, 3 + %12 = add nuw nsw i64 %11, 1 + %xtraiter = and i64 %12, 7 + %lcmp.mod = icmp eq i64 %xtraiter, 0 + br i1 %lcmp.mod, label %vector.body.prol.loopexit, label %vector.body.prol.preheader + +vector.body.prol.preheader: ; preds = %vector.body.preheader + br label %vector.body.prol + +vector.body.prol: ; preds = %vector.body.prol, %vector.body.prol.preheader + %index.prol = phi i64 [ %index.next.prol, %vector.body.prol ], [ 0, %vector.body.prol.preheader ] + %prol.iter = phi i64 [ %prol.iter.sub, %vector.body.prol ], [ %xtraiter, %vector.body.prol.preheader ] + %13 = getelementptr inbounds float, float* %2, i64 %index.prol + %14 = bitcast float* %13 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %14, align 4, !tbaa !17 + %15 = getelementptr float, float* %13, i64 4 + %16 = bitcast float* %15 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %16, align 4, !tbaa !17 + %index.next.prol = add i64 %index.prol, 8 + %prol.iter.sub = add i64 %prol.iter, -1 + %prol.iter.cmp = icmp eq i64 %prol.iter.sub, 0 + br i1 %prol.iter.cmp, label %vector.body.prol.loopexit.unr-lcssa, label %vector.body.prol, !llvm.loop !19 + +vector.body.prol.loopexit.unr-lcssa: ; preds = %vector.body.prol + br label %vector.body.prol.loopexit + +vector.body.prol.loopexit: ; preds = %vector.body.preheader, %vector.body.prol.loopexit.unr-lcssa + %index.unr = phi i64 [ 0, %vector.body.preheader ], [ %index.next.prol, %vector.body.prol.loopexit.unr-lcssa ] + %17 = icmp ult i64 %10, 56 + br i1 %17, label %middle.block, label %vector.body.preheader.new + +vector.body.preheader.new: ; preds = %vector.body.prol.loopexit + br label %vector.body + +vector.body: ; preds = %vector.body, %vector.body.preheader.new + %index = phi i64 [ %index.unr, %vector.body.preheader.new ], [ %index.next.7, %vector.body ] + %18 = getelementptr inbounds float, float* %2, i64 %index + %19 = bitcast float* %18 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %19, align 4, !tbaa !17 + %20 = getelementptr float, float* %18, i64 4 + %21 = bitcast float* %20 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %21, align 4, !tbaa !17 + %index.next = add i64 %index, 8 + %22 = getelementptr inbounds float, float* %2, i64 %index.next + %23 = bitcast float* %22 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %23, align 4, !tbaa !17 + %24 = getelementptr float, float* %22, i64 4 + %25 = bitcast float* %24 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %25, align 4, !tbaa !17 + %index.next.1 = add i64 %index, 16 + %26 = getelementptr inbounds float, float* %2, i64 %index.next.1 + %27 = bitcast float* %26 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %27, align 4, !tbaa !17 + %28 = getelementptr float, float* %26, i64 4 + %29 = bitcast float* %28 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %29, align 4, !tbaa !17 + %index.next.2 = add i64 %index, 24 + %30 = getelementptr inbounds float, float* %2, i64 %index.next.2 + %31 = bitcast float* %30 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %31, align 4, !tbaa !17 + %32 = getelementptr float, float* %30, i64 4 + %33 = bitcast float* %32 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %33, align 4, !tbaa !17 + %index.next.3 = add i64 %index, 32 + %34 = getelementptr inbounds float, float* %2, i64 %index.next.3 + %35 = bitcast float* %34 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %35, align 4, !tbaa !17 + %36 = getelementptr float, float* %34, i64 4 + %37 = bitcast float* %36 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %37, align 4, !tbaa !17 + %index.next.4 = add i64 %index, 40 + %38 = getelementptr inbounds float, float* %2, i64 %index.next.4 + %39 = bitcast float* %38 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %39, align 4, !tbaa !17 + %40 = getelementptr float, float* %38, i64 4 + %41 = bitcast float* %40 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %41, align 4, !tbaa !17 + %index.next.5 = add i64 %index, 48 + %42 = getelementptr inbounds float, float* %2, i64 %index.next.5 + %43 = bitcast float* %42 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %43, align 4, !tbaa !17 + %44 = getelementptr float, float* %42, i64 4 + %45 = bitcast float* %44 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %45, align 4, !tbaa !17 + %index.next.6 = add i64 %index, 56 + %46 = getelementptr inbounds float, float* %2, i64 %index.next.6 + %47 = bitcast float* %46 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %47, align 4, !tbaa !17 + %48 = getelementptr float, float* %46, i64 4 + %49 = bitcast float* %48 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %49, align 4, !tbaa !17 + %index.next.7 = add i64 %index, 64 + %50 = icmp eq i64 %index.next.7, %n.vec + br i1 %50, label %middle.block.unr-lcssa, label %vector.body, !llvm.loop !21 + +middle.block.unr-lcssa: ; preds = %vector.body + br label %middle.block + +middle.block: ; preds = %vector.body.prol.loopexit, %middle.block.unr-lcssa + %cmp.n = icmp eq i64 %4, %n.vec + br i1 %cmp.n, label %if.end, label %for.body.preheader22 + +for.body.preheader22: ; preds = %middle.block, %vector.scevcheck, %min.iters.checked, %for.body.preheader + %conv12.ph = phi i64 [ 0, %vector.scevcheck ], [ 0, %min.iters.checked ], [ 0, %for.body.preheader ], [ %n.vec, %middle.block ] + %i.011.ph = phi i32 [ 0, %vector.scevcheck ], [ 0, %min.iters.checked ], [ 0, %for.body.preheader ], [ %cast.crd, %middle.block ] + br label %for.body + +for.body: ; preds = %for.body.preheader22, %for.body + %conv12 = phi i64 [ %conv, %for.body ], [ %conv12.ph, %for.body.preheader22 ] + %i.011 = phi i32 [ %inc, %for.body ], [ %i.011.ph, %for.body.preheader22 ] + %arrayidx = getelementptr inbounds float, float* %2, i64 %conv12 + store float 1.000000e+00, float* %arrayidx, align 4, !tbaa !17 + %inc = add i32 %i.011, 1 + %conv = zext i32 %inc to i64 + %cmp1 = icmp ult i64 %conv, %4 + br i1 %cmp1, label %for.body, label %if.end.loopexit, !llvm.loop !24 + +if.end.loopexit: ; preds = %for.body + br label %if.end + +if.end: ; preds = %if.end.loopexit, %middle.block, %if.then, %entry + ret void +} + +; Function Attrs: nounwind uwtable +define void @_Z19fillWithOnesAndTwosPv(i8* %tensor_ptr) local_unnamed_addr #3 { +entry: + tail call void @hpvm_request_tensor(i8* %tensor_ptr, i32 0) #2 + %data_type = bitcast i8* %tensor_ptr to i32* + %0 = load i32, i32* %data_type, align 8, !tbaa !16 + %cmp = icmp eq i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %host_data = getelementptr inbounds i8, i8* %tensor_ptr, i64 32 + %1 = bitcast i8* %host_data to float** + %2 = load float*, float** %1, align 8, !tbaa !15 + %num_elems = getelementptr inbounds i8, i8* %tensor_ptr, i64 48 + %3 = bitcast i8* %num_elems to i64* + %4 = load i64, i64* %3, align 8, !tbaa !13 + %div35 = lshr i64 %4, 1 + %cmp136 = icmp eq i64 %div35, 0 + br i1 %cmp136, label %for.cond.cleanup, label %for.body.preheader + +for.body.preheader: ; preds = %if.then + %min.iters.check = icmp ult i64 %4, 16 + br i1 %min.iters.check, label %for.body.preheader85, label %min.iters.checked + +for.body.preheader85: ; preds = %middle.block, %vector.scevcheck, %min.iters.checked, %for.body.preheader + %conv38.ph = phi i64 [ 0, %vector.scevcheck ], [ 0, %min.iters.checked ], [ 0, %for.body.preheader ], [ %n.vec, %middle.block ] + %i.037.ph = phi i32 [ 0, %vector.scevcheck ], [ 0, %min.iters.checked ], [ 0, %for.body.preheader ], [ %cast.crd, %middle.block ] + br label %for.body + +min.iters.checked: ; preds = %for.body.preheader + %n.vec = and i64 %div35, 9223372036854775800 + %cmp.zero = icmp eq i64 %n.vec, 0 + br i1 %cmp.zero, label %for.body.preheader85, label %vector.scevcheck + +vector.scevcheck: ; preds = %min.iters.checked + %5 = add nsw i64 %div35, -1 + %6 = trunc i64 %5 to i32 + %7 = icmp eq i32 %6, -1 + %8 = icmp ugt i64 %5, 4294967295 + %9 = or i1 %7, %8 + %cast.crd = trunc i64 %n.vec to i32 + br i1 %9, label %for.body.preheader85, label %vector.body.preheader + +vector.body.preheader: ; preds = %vector.scevcheck + %10 = add nsw i64 %n.vec, -8 + %11 = lshr exact i64 %10, 3 + %12 = add nuw nsw i64 %11, 1 + %xtraiter86 = and i64 %12, 7 + %lcmp.mod87 = icmp eq i64 %xtraiter86, 0 + br i1 %lcmp.mod87, label %vector.body.prol.loopexit, label %vector.body.prol.preheader + +vector.body.prol.preheader: ; preds = %vector.body.preheader + br label %vector.body.prol + +vector.body.prol: ; preds = %vector.body.prol, %vector.body.prol.preheader + %index.prol = phi i64 [ %index.next.prol, %vector.body.prol ], [ 0, %vector.body.prol.preheader ] + %prol.iter88 = phi i64 [ %prol.iter88.sub, %vector.body.prol ], [ %xtraiter86, %vector.body.prol.preheader ] + %13 = getelementptr inbounds float, float* %2, i64 %index.prol + %14 = bitcast float* %13 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %14, align 4, !tbaa !17 + %15 = getelementptr float, float* %13, i64 4 + %16 = bitcast float* %15 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %16, align 4, !tbaa !17 + %index.next.prol = add i64 %index.prol, 8 + %prol.iter88.sub = add i64 %prol.iter88, -1 + %prol.iter88.cmp = icmp eq i64 %prol.iter88.sub, 0 + br i1 %prol.iter88.cmp, label %vector.body.prol.loopexit.unr-lcssa, label %vector.body.prol, !llvm.loop !25 + +vector.body.prol.loopexit.unr-lcssa: ; preds = %vector.body.prol + br label %vector.body.prol.loopexit + +vector.body.prol.loopexit: ; preds = %vector.body.preheader, %vector.body.prol.loopexit.unr-lcssa + %index.unr = phi i64 [ 0, %vector.body.preheader ], [ %index.next.prol, %vector.body.prol.loopexit.unr-lcssa ] + %17 = icmp ult i64 %10, 56 + br i1 %17, label %middle.block, label %vector.body.preheader.new + +vector.body.preheader.new: ; preds = %vector.body.prol.loopexit + br label %vector.body + +vector.body: ; preds = %vector.body, %vector.body.preheader.new + %index = phi i64 [ %index.unr, %vector.body.preheader.new ], [ %index.next.7, %vector.body ] + %18 = getelementptr inbounds float, float* %2, i64 %index + %19 = bitcast float* %18 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %19, align 4, !tbaa !17 + %20 = getelementptr float, float* %18, i64 4 + %21 = bitcast float* %20 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %21, align 4, !tbaa !17 + %index.next = add i64 %index, 8 + %22 = getelementptr inbounds float, float* %2, i64 %index.next + %23 = bitcast float* %22 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %23, align 4, !tbaa !17 + %24 = getelementptr float, float* %22, i64 4 + %25 = bitcast float* %24 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %25, align 4, !tbaa !17 + %index.next.1 = add i64 %index, 16 + %26 = getelementptr inbounds float, float* %2, i64 %index.next.1 + %27 = bitcast float* %26 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %27, align 4, !tbaa !17 + %28 = getelementptr float, float* %26, i64 4 + %29 = bitcast float* %28 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %29, align 4, !tbaa !17 + %index.next.2 = add i64 %index, 24 + %30 = getelementptr inbounds float, float* %2, i64 %index.next.2 + %31 = bitcast float* %30 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %31, align 4, !tbaa !17 + %32 = getelementptr float, float* %30, i64 4 + %33 = bitcast float* %32 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %33, align 4, !tbaa !17 + %index.next.3 = add i64 %index, 32 + %34 = getelementptr inbounds float, float* %2, i64 %index.next.3 + %35 = bitcast float* %34 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %35, align 4, !tbaa !17 + %36 = getelementptr float, float* %34, i64 4 + %37 = bitcast float* %36 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %37, align 4, !tbaa !17 + %index.next.4 = add i64 %index, 40 + %38 = getelementptr inbounds float, float* %2, i64 %index.next.4 + %39 = bitcast float* %38 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %39, align 4, !tbaa !17 + %40 = getelementptr float, float* %38, i64 4 + %41 = bitcast float* %40 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %41, align 4, !tbaa !17 + %index.next.5 = add i64 %index, 48 + %42 = getelementptr inbounds float, float* %2, i64 %index.next.5 + %43 = bitcast float* %42 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %43, align 4, !tbaa !17 + %44 = getelementptr float, float* %42, i64 4 + %45 = bitcast float* %44 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %45, align 4, !tbaa !17 + %index.next.6 = add i64 %index, 56 + %46 = getelementptr inbounds float, float* %2, i64 %index.next.6 + %47 = bitcast float* %46 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %47, align 4, !tbaa !17 + %48 = getelementptr float, float* %46, i64 4 + %49 = bitcast float* %48 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %49, align 4, !tbaa !17 + %index.next.7 = add i64 %index, 64 + %50 = icmp eq i64 %index.next.7, %n.vec + br i1 %50, label %middle.block.unr-lcssa, label %vector.body, !llvm.loop !26 + +middle.block.unr-lcssa: ; preds = %vector.body + br label %middle.block + +middle.block: ; preds = %vector.body.prol.loopexit, %middle.block.unr-lcssa + %cmp.n = icmp eq i64 %div35, %n.vec + br i1 %cmp.n, label %for.cond.cleanup, label %for.body.preheader85 + +for.cond.cleanup.loopexit: ; preds = %for.body + br label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond.cleanup.loopexit, %middle.block, %if.then + %div.lcssa = phi i64 [ 0, %if.then ], [ %div35, %middle.block ], [ %div35, %for.cond.cleanup.loopexit ] + %conv731 = and i64 %div.lcssa, 4294967295 + %cmp932 = icmp ult i64 %conv731, %4 + br i1 %cmp932, label %for.body11.lr.ph, label %if.end + +for.body11.lr.ph: ; preds = %for.cond.cleanup + %conv5 = trunc i64 %div.lcssa to i32 + %51 = add nuw i64 %div.lcssa, 1 + %52 = and i64 %51, 4294967295 + %53 = icmp ugt i64 %4, %52 + %umax = select i1 %53, i64 %4, i64 %52 + %54 = add i64 %umax, 1 + %55 = sub i64 %54, %52 + %min.iters.check52 = icmp ult i64 %55, 8 + br i1 %min.iters.check52, label %for.body11.preheader, label %min.iters.checked53 + +for.body11.preheader: ; preds = %middle.block50, %vector.scevcheck65, %min.iters.checked53, %for.body11.lr.ph + %conv734.ph = phi i64 [ %conv731, %vector.scevcheck65 ], [ %conv731, %min.iters.checked53 ], [ %conv731, %for.body11.lr.ph ], [ %ind.end70, %middle.block50 ] + %i2.033.ph = phi i32 [ %conv5, %vector.scevcheck65 ], [ %conv5, %min.iters.checked53 ], [ %conv5, %for.body11.lr.ph ], [ %ind.end73, %middle.block50 ] + br label %for.body11 + +min.iters.checked53: ; preds = %for.body11.lr.ph + %n.vec55 = and i64 %55, -8 + %cmp.zero56 = icmp eq i64 %n.vec55, 0 + br i1 %cmp.zero56, label %for.body11.preheader, label %vector.scevcheck65 + +vector.scevcheck65: ; preds = %min.iters.checked53 + %56 = add i32 %conv5, 1 + %57 = zext i32 %56 to i64 + %58 = icmp ugt i64 %4, %57 + %umax58 = select i1 %58, i64 %4, i64 %57 + %59 = sub i64 %umax58, %57 + %60 = trunc i64 %59 to i32 + %61 = add i32 %56, %60 + %62 = icmp ult i32 %61, %56 + %63 = icmp ugt i64 %59, 4294967295 + %64 = or i1 %62, %63 + %65 = trunc i64 %59 to i32 + %66 = add i32 %conv5, %65 + %67 = icmp ult i32 %66, %conv5 + %68 = icmp ugt i64 %59, 4294967295 + %69 = or i1 %67, %68 + %70 = or i1 %64, %69 + %ind.end70 = add i64 %conv731, %n.vec55 + %cast.crd72 = trunc i64 %n.vec55 to i32 + %ind.end73 = add i32 %conv5, %cast.crd72 + br i1 %70, label %for.body11.preheader, label %vector.body49.preheader + +vector.body49.preheader: ; preds = %vector.scevcheck65 + %71 = add i64 %n.vec55, -8 + %72 = lshr exact i64 %71, 3 + %73 = add nuw nsw i64 %72, 1 + %xtraiter = and i64 %73, 3 + %lcmp.mod = icmp eq i64 %xtraiter, 0 + br i1 %lcmp.mod, label %vector.body49.prol.loopexit, label %vector.body49.prol.preheader + +vector.body49.prol.preheader: ; preds = %vector.body49.preheader + br label %vector.body49.prol + +vector.body49.prol: ; preds = %vector.body49.prol, %vector.body49.prol.preheader + %index67.prol = phi i64 [ %index.next68.prol, %vector.body49.prol ], [ 0, %vector.body49.prol.preheader ] + %prol.iter = phi i64 [ %prol.iter.sub, %vector.body49.prol ], [ %xtraiter, %vector.body49.prol.preheader ] + %74 = add i64 %conv731, %index67.prol + %75 = getelementptr inbounds float, float* %2, i64 %74 + %76 = bitcast float* %75 to <4 x float>* + store <4 x float> <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>, <4 x float>* %76, align 4, !tbaa !17 + %77 = getelementptr float, float* %75, i64 4 + %78 = bitcast float* %77 to <4 x float>* + store <4 x float> <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>, <4 x float>* %78, align 4, !tbaa !17 + %index.next68.prol = add i64 %index67.prol, 8 + %prol.iter.sub = add i64 %prol.iter, -1 + %prol.iter.cmp = icmp eq i64 %prol.iter.sub, 0 + br i1 %prol.iter.cmp, label %vector.body49.prol.loopexit.unr-lcssa, label %vector.body49.prol, !llvm.loop !27 + +vector.body49.prol.loopexit.unr-lcssa: ; preds = %vector.body49.prol + br label %vector.body49.prol.loopexit + +vector.body49.prol.loopexit: ; preds = %vector.body49.preheader, %vector.body49.prol.loopexit.unr-lcssa + %index67.unr = phi i64 [ 0, %vector.body49.preheader ], [ %index.next68.prol, %vector.body49.prol.loopexit.unr-lcssa ] + %79 = icmp ult i64 %71, 24 + br i1 %79, label %middle.block50, label %vector.body49.preheader.new + +vector.body49.preheader.new: ; preds = %vector.body49.prol.loopexit + br label %vector.body49 + +vector.body49: ; preds = %vector.body49, %vector.body49.preheader.new + %index67 = phi i64 [ %index67.unr, %vector.body49.preheader.new ], [ %index.next68.3, %vector.body49 ] + %80 = add i64 %conv731, %index67 + %81 = getelementptr inbounds float, float* %2, i64 %80 + %82 = bitcast float* %81 to <4 x float>* + store <4 x float> <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>, <4 x float>* %82, align 4, !tbaa !17 + %83 = getelementptr float, float* %81, i64 4 + %84 = bitcast float* %83 to <4 x float>* + store <4 x float> <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>, <4 x float>* %84, align 4, !tbaa !17 + %index.next68 = add i64 %index67, 8 + %85 = add i64 %conv731, %index.next68 + %86 = getelementptr inbounds float, float* %2, i64 %85 + %87 = bitcast float* %86 to <4 x float>* + store <4 x float> <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>, <4 x float>* %87, align 4, !tbaa !17 + %88 = getelementptr float, float* %86, i64 4 + %89 = bitcast float* %88 to <4 x float>* + store <4 x float> <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>, <4 x float>* %89, align 4, !tbaa !17 + %index.next68.1 = add i64 %index67, 16 + %90 = add i64 %conv731, %index.next68.1 + %91 = getelementptr inbounds float, float* %2, i64 %90 + %92 = bitcast float* %91 to <4 x float>* + store <4 x float> <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>, <4 x float>* %92, align 4, !tbaa !17 + %93 = getelementptr float, float* %91, i64 4 + %94 = bitcast float* %93 to <4 x float>* + store <4 x float> <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>, <4 x float>* %94, align 4, !tbaa !17 + %index.next68.2 = add i64 %index67, 24 + %95 = add i64 %conv731, %index.next68.2 + %96 = getelementptr inbounds float, float* %2, i64 %95 + %97 = bitcast float* %96 to <4 x float>* + store <4 x float> <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>, <4 x float>* %97, align 4, !tbaa !17 + %98 = getelementptr float, float* %96, i64 4 + %99 = bitcast float* %98 to <4 x float>* + store <4 x float> <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>, <4 x float>* %99, align 4, !tbaa !17 + %index.next68.3 = add i64 %index67, 32 + %100 = icmp eq i64 %index.next68.3, %n.vec55 + br i1 %100, label %middle.block50.unr-lcssa, label %vector.body49, !llvm.loop !28 + +middle.block50.unr-lcssa: ; preds = %vector.body49 + br label %middle.block50 + +middle.block50: ; preds = %vector.body49.prol.loopexit, %middle.block50.unr-lcssa + %cmp.n74 = icmp eq i64 %55, %n.vec55 + br i1 %cmp.n74, label %if.end, label %for.body11.preheader + +for.body: ; preds = %for.body.preheader85, %for.body + %conv38 = phi i64 [ %conv, %for.body ], [ %conv38.ph, %for.body.preheader85 ] + %i.037 = phi i32 [ %inc, %for.body ], [ %i.037.ph, %for.body.preheader85 ] + %arrayidx = getelementptr inbounds float, float* %2, i64 %conv38 + store float 1.000000e+00, float* %arrayidx, align 4, !tbaa !17 + %inc = add i32 %i.037, 1 + %conv = zext i32 %inc to i64 + %cmp1 = icmp ult i64 %conv, %div35 + br i1 %cmp1, label %for.body, label %for.cond.cleanup.loopexit, !llvm.loop !29 + +for.body11: ; preds = %for.body11.preheader, %for.body11 + %conv734 = phi i64 [ %conv7, %for.body11 ], [ %conv734.ph, %for.body11.preheader ] + %i2.033 = phi i32 [ %inc15, %for.body11 ], [ %i2.033.ph, %for.body11.preheader ] + %arrayidx13 = getelementptr inbounds float, float* %2, i64 %conv734 + store float 2.000000e+00, float* %arrayidx13, align 4, !tbaa !17 + %inc15 = add i32 %i2.033, 1 + %conv7 = zext i32 %inc15 to i64 + %cmp9 = icmp ult i64 %conv7, %4 + br i1 %cmp9, label %for.body11, label %if.end.loopexit, !llvm.loop !30 + +if.end.loopexit: ; preds = %for.body11 + br label %if.end + +if.end: ; preds = %if.end.loopexit, %middle.block50, %for.cond.cleanup, %entry + ret void +} + +; Function Attrs: nounwind uwtable +define void @_Z21fillTensorWithNegOnesPv(i8* %tensor_ptr) local_unnamed_addr #3 { +entry: + tail call void @hpvm_request_tensor(i8* %tensor_ptr, i32 0) #2 + %data_type = bitcast i8* %tensor_ptr to i32* + %0 = load i32, i32* %data_type, align 8, !tbaa !16 + %cmp = icmp eq i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %host_data = getelementptr inbounds i8, i8* %tensor_ptr, i64 32 + %1 = bitcast i8* %host_data to float** + %2 = load float*, float** %1, align 8, !tbaa !15 + %num_elems = getelementptr inbounds i8, i8* %tensor_ptr, i64 48 + %3 = bitcast i8* %num_elems to i64* + %4 = load i64, i64* %3, align 8, !tbaa !13 + %cmp110 = icmp eq i64 %4, 0 + br i1 %cmp110, label %if.end, label %for.body.preheader + +for.body.preheader: ; preds = %if.then + %min.iters.check = icmp ult i64 %4, 8 + br i1 %min.iters.check, label %for.body.preheader22, label %min.iters.checked + +min.iters.checked: ; preds = %for.body.preheader + %n.vec = and i64 %4, -8 + %cmp.zero = icmp eq i64 %n.vec, 0 + br i1 %cmp.zero, label %for.body.preheader22, label %vector.scevcheck + +vector.scevcheck: ; preds = %min.iters.checked + %5 = add i64 %4, -1 + %6 = trunc i64 %5 to i32 + %7 = icmp eq i32 %6, -1 + %8 = icmp ugt i64 %5, 4294967295 + %9 = or i1 %7, %8 + %cast.crd = trunc i64 %n.vec to i32 + br i1 %9, label %for.body.preheader22, label %vector.body.preheader + +vector.body.preheader: ; preds = %vector.scevcheck + %10 = add i64 %n.vec, -8 + %11 = lshr exact i64 %10, 3 + %12 = add nuw nsw i64 %11, 1 + %xtraiter = and i64 %12, 7 + %lcmp.mod = icmp eq i64 %xtraiter, 0 + br i1 %lcmp.mod, label %vector.body.prol.loopexit, label %vector.body.prol.preheader + +vector.body.prol.preheader: ; preds = %vector.body.preheader + br label %vector.body.prol + +vector.body.prol: ; preds = %vector.body.prol, %vector.body.prol.preheader + %index.prol = phi i64 [ %index.next.prol, %vector.body.prol ], [ 0, %vector.body.prol.preheader ] + %prol.iter = phi i64 [ %prol.iter.sub, %vector.body.prol ], [ %xtraiter, %vector.body.prol.preheader ] + %13 = getelementptr inbounds float, float* %2, i64 %index.prol + %14 = bitcast float* %13 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %14, align 4, !tbaa !17 + %15 = getelementptr float, float* %13, i64 4 + %16 = bitcast float* %15 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %16, align 4, !tbaa !17 + %index.next.prol = add i64 %index.prol, 8 + %prol.iter.sub = add i64 %prol.iter, -1 + %prol.iter.cmp = icmp eq i64 %prol.iter.sub, 0 + br i1 %prol.iter.cmp, label %vector.body.prol.loopexit.unr-lcssa, label %vector.body.prol, !llvm.loop !31 + +vector.body.prol.loopexit.unr-lcssa: ; preds = %vector.body.prol + br label %vector.body.prol.loopexit + +vector.body.prol.loopexit: ; preds = %vector.body.preheader, %vector.body.prol.loopexit.unr-lcssa + %index.unr = phi i64 [ 0, %vector.body.preheader ], [ %index.next.prol, %vector.body.prol.loopexit.unr-lcssa ] + %17 = icmp ult i64 %10, 56 + br i1 %17, label %middle.block, label %vector.body.preheader.new + +vector.body.preheader.new: ; preds = %vector.body.prol.loopexit + br label %vector.body + +vector.body: ; preds = %vector.body, %vector.body.preheader.new + %index = phi i64 [ %index.unr, %vector.body.preheader.new ], [ %index.next.7, %vector.body ] + %18 = getelementptr inbounds float, float* %2, i64 %index + %19 = bitcast float* %18 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %19, align 4, !tbaa !17 + %20 = getelementptr float, float* %18, i64 4 + %21 = bitcast float* %20 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %21, align 4, !tbaa !17 + %index.next = add i64 %index, 8 + %22 = getelementptr inbounds float, float* %2, i64 %index.next + %23 = bitcast float* %22 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %23, align 4, !tbaa !17 + %24 = getelementptr float, float* %22, i64 4 + %25 = bitcast float* %24 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %25, align 4, !tbaa !17 + %index.next.1 = add i64 %index, 16 + %26 = getelementptr inbounds float, float* %2, i64 %index.next.1 + %27 = bitcast float* %26 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %27, align 4, !tbaa !17 + %28 = getelementptr float, float* %26, i64 4 + %29 = bitcast float* %28 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %29, align 4, !tbaa !17 + %index.next.2 = add i64 %index, 24 + %30 = getelementptr inbounds float, float* %2, i64 %index.next.2 + %31 = bitcast float* %30 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %31, align 4, !tbaa !17 + %32 = getelementptr float, float* %30, i64 4 + %33 = bitcast float* %32 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %33, align 4, !tbaa !17 + %index.next.3 = add i64 %index, 32 + %34 = getelementptr inbounds float, float* %2, i64 %index.next.3 + %35 = bitcast float* %34 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %35, align 4, !tbaa !17 + %36 = getelementptr float, float* %34, i64 4 + %37 = bitcast float* %36 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %37, align 4, !tbaa !17 + %index.next.4 = add i64 %index, 40 + %38 = getelementptr inbounds float, float* %2, i64 %index.next.4 + %39 = bitcast float* %38 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %39, align 4, !tbaa !17 + %40 = getelementptr float, float* %38, i64 4 + %41 = bitcast float* %40 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %41, align 4, !tbaa !17 + %index.next.5 = add i64 %index, 48 + %42 = getelementptr inbounds float, float* %2, i64 %index.next.5 + %43 = bitcast float* %42 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %43, align 4, !tbaa !17 + %44 = getelementptr float, float* %42, i64 4 + %45 = bitcast float* %44 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %45, align 4, !tbaa !17 + %index.next.6 = add i64 %index, 56 + %46 = getelementptr inbounds float, float* %2, i64 %index.next.6 + %47 = bitcast float* %46 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %47, align 4, !tbaa !17 + %48 = getelementptr float, float* %46, i64 4 + %49 = bitcast float* %48 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %49, align 4, !tbaa !17 + %index.next.7 = add i64 %index, 64 + %50 = icmp eq i64 %index.next.7, %n.vec + br i1 %50, label %middle.block.unr-lcssa, label %vector.body, !llvm.loop !32 + +middle.block.unr-lcssa: ; preds = %vector.body + br label %middle.block + +middle.block: ; preds = %vector.body.prol.loopexit, %middle.block.unr-lcssa + %cmp.n = icmp eq i64 %4, %n.vec + br i1 %cmp.n, label %if.end, label %for.body.preheader22 + +for.body.preheader22: ; preds = %middle.block, %vector.scevcheck, %min.iters.checked, %for.body.preheader + %conv12.ph = phi i64 [ 0, %vector.scevcheck ], [ 0, %min.iters.checked ], [ 0, %for.body.preheader ], [ %n.vec, %middle.block ] + %i.011.ph = phi i32 [ 0, %vector.scevcheck ], [ 0, %min.iters.checked ], [ 0, %for.body.preheader ], [ %cast.crd, %middle.block ] + br label %for.body + +for.body: ; preds = %for.body.preheader22, %for.body + %conv12 = phi i64 [ %conv, %for.body ], [ %conv12.ph, %for.body.preheader22 ] + %i.011 = phi i32 [ %inc, %for.body ], [ %i.011.ph, %for.body.preheader22 ] + %arrayidx = getelementptr inbounds float, float* %2, i64 %conv12 + store float -1.000000e+00, float* %arrayidx, align 4, !tbaa !17 + %inc = add i32 %i.011, 1 + %conv = zext i32 %inc to i64 + %cmp1 = icmp ult i64 %conv, %4 + br i1 %cmp1, label %for.body, label %if.end.loopexit, !llvm.loop !33 + +if.end.loopexit: ; preds = %for.body + br label %if.end + +if.end: ; preds = %if.end.loopexit, %middle.block, %if.then, %entry + ret void +} + +; Function Attrs: norecurse nounwind uwtable +define void @_Z14fillTensorValsPv(i8* nocapture readonly %tensor_ptr) local_unnamed_addr #6 { +entry: + %data_type = bitcast i8* %tensor_ptr to i32* + %0 = load i32, i32* %data_type, align 8, !tbaa !16 + %cmp = icmp eq i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %host_data = getelementptr inbounds i8, i8* %tensor_ptr, i64 32 + %1 = bitcast i8* %host_data to float** + %2 = load float*, float** %1, align 8, !tbaa !15 + %num_elems = getelementptr inbounds i8, i8* %tensor_ptr, i64 48 + %3 = bitcast i8* %num_elems to i64* + %4 = load i64, i64* %3, align 8, !tbaa !13 + %cmp111 = icmp eq i64 %4, 0 + br i1 %cmp111, label %if.end, label %for.body.preheader + +for.body.preheader: ; preds = %if.then + %min.iters.check = icmp ult i64 %4, 8 + br i1 %min.iters.check, label %for.body.preheader23, label %min.iters.checked + +min.iters.checked: ; preds = %for.body.preheader + %n.vec = and i64 %4, -8 + %cmp.zero = icmp eq i64 %n.vec, 0 + br i1 %cmp.zero, label %for.body.preheader23, label %vector.scevcheck + +vector.scevcheck: ; preds = %min.iters.checked + %5 = add i64 %4, -1 + %6 = trunc i64 %5 to i32 + %7 = icmp eq i32 %6, -1 + %8 = icmp ugt i64 %5, 4294967295 + %9 = or i1 %7, %8 + %cast.crd = trunc i64 %n.vec to i32 + br i1 %9, label %for.body.preheader23, label %vector.body.preheader + +vector.body.preheader: ; preds = %vector.scevcheck + %10 = add i64 %n.vec, -8 + %11 = lshr exact i64 %10, 3 + %12 = and i64 %11, 1 + %lcmp.mod = icmp eq i64 %12, 0 + br i1 %lcmp.mod, label %vector.body.prol.preheader, label %vector.body.prol.loopexit + +vector.body.prol.preheader: ; preds = %vector.body.preheader + br label %vector.body.prol + +vector.body.prol: ; preds = %vector.body.prol.preheader + %13 = bitcast float* %2 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 2.000000e+00, float 3.000000e+00, float 4.000000e+00>, <4 x float>* %13, align 4, !tbaa !17 + %14 = getelementptr float, float* %2, i64 4 + %15 = bitcast float* %14 to <4 x float>* + store <4 x float> <float 5.000000e+00, float 6.000000e+00, float 7.000000e+00, float 8.000000e+00>, <4 x float>* %15, align 4, !tbaa !17 + br label %vector.body.prol.loopexit + +vector.body.prol.loopexit: ; preds = %vector.body.prol, %vector.body.preheader + %index.unr = phi i64 [ 0, %vector.body.preheader ], [ 8, %vector.body.prol ] + %16 = icmp eq i64 %11, 0 + br i1 %16, label %middle.block, label %vector.body.preheader.new + +vector.body.preheader.new: ; preds = %vector.body.prol.loopexit + br label %vector.body + +vector.body: ; preds = %vector.body, %vector.body.preheader.new + %index = phi i64 [ %index.unr, %vector.body.preheader.new ], [ %index.next.1, %vector.body ] + %17 = trunc i64 %index to i32 + %broadcast.splatinsert19 = insertelement <4 x i32> undef, i32 %17, i32 0 + %broadcast.splat20 = shufflevector <4 x i32> %broadcast.splatinsert19, <4 x i32> undef, <4 x i32> zeroinitializer + %18 = add <4 x i32> %broadcast.splat20, <i32 1, i32 2, i32 3, i32 4> + %19 = add <4 x i32> %broadcast.splat20, <i32 5, i32 6, i32 7, i32 8> + %20 = uitofp <4 x i32> %18 to <4 x float> + %21 = uitofp <4 x i32> %19 to <4 x float> + %22 = getelementptr inbounds float, float* %2, i64 %index + %23 = bitcast float* %22 to <4 x float>* + store <4 x float> %20, <4 x float>* %23, align 4, !tbaa !17 + %24 = getelementptr float, float* %22, i64 4 + %25 = bitcast float* %24 to <4 x float>* + store <4 x float> %21, <4 x float>* %25, align 4, !tbaa !17 + %index.next = add i64 %index, 8 + %26 = trunc i64 %index.next to i32 + %broadcast.splatinsert19.1 = insertelement <4 x i32> undef, i32 %26, i32 0 + %broadcast.splat20.1 = shufflevector <4 x i32> %broadcast.splatinsert19.1, <4 x i32> undef, <4 x i32> zeroinitializer + %27 = add <4 x i32> %broadcast.splat20.1, <i32 1, i32 2, i32 3, i32 4> + %28 = add <4 x i32> %broadcast.splat20.1, <i32 5, i32 6, i32 7, i32 8> + %29 = uitofp <4 x i32> %27 to <4 x float> + %30 = uitofp <4 x i32> %28 to <4 x float> + %31 = getelementptr inbounds float, float* %2, i64 %index.next + %32 = bitcast float* %31 to <4 x float>* + store <4 x float> %29, <4 x float>* %32, align 4, !tbaa !17 + %33 = getelementptr float, float* %31, i64 4 + %34 = bitcast float* %33 to <4 x float>* + store <4 x float> %30, <4 x float>* %34, align 4, !tbaa !17 + %index.next.1 = add i64 %index, 16 + %35 = icmp eq i64 %index.next.1, %n.vec + br i1 %35, label %middle.block.unr-lcssa, label %vector.body, !llvm.loop !34 + +middle.block.unr-lcssa: ; preds = %vector.body + br label %middle.block + +middle.block: ; preds = %vector.body.prol.loopexit, %middle.block.unr-lcssa + %cmp.n = icmp eq i64 %4, %n.vec + br i1 %cmp.n, label %if.end, label %for.body.preheader23 + +for.body.preheader23: ; preds = %middle.block, %vector.scevcheck, %min.iters.checked, %for.body.preheader + %conv13.ph = phi i64 [ 0, %vector.scevcheck ], [ 0, %min.iters.checked ], [ 0, %for.body.preheader ], [ %n.vec, %middle.block ] + %i.012.ph = phi i32 [ 0, %vector.scevcheck ], [ 0, %min.iters.checked ], [ 0, %for.body.preheader ], [ %cast.crd, %middle.block ] + br label %for.body + +for.body: ; preds = %for.body.preheader23, %for.body + %conv13 = phi i64 [ %conv, %for.body ], [ %conv13.ph, %for.body.preheader23 ] + %i.012 = phi i32 [ %add, %for.body ], [ %i.012.ph, %for.body.preheader23 ] + %add = add i32 %i.012, 1 + %conv2 = uitofp i32 %add to float + %arrayidx = getelementptr inbounds float, float* %2, i64 %conv13 + store float %conv2, float* %arrayidx, align 4, !tbaa !17 + %conv = zext i32 %add to i64 + %cmp1 = icmp ult i64 %conv, %4 + br i1 %cmp1, label %for.body, label %if.end.loopexit, !llvm.loop !35 + +if.end.loopexit: ; preds = %for.body + br label %if.end + +if.end: ; preds = %if.end.loopexit, %middle.block, %if.then, %entry + ret void +} + +; Function Attrs: nounwind uwtable +define void @_Z17printTensorValuesPv(i8* %tensor_ptr) local_unnamed_addr #3 { +entry: + tail call void @hpvm_request_tensor(i8* %tensor_ptr, i32 0) #2 + %data_type = bitcast i8* %tensor_ptr to i32* + %0 = load i32, i32* %data_type, align 8, !tbaa !16 + %cmp = icmp eq i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %host_data = getelementptr inbounds i8, i8* %tensor_ptr, i64 32 + %1 = bitcast i8* %host_data to float** + %2 = load float*, float** %1, align 8, !tbaa !15 + %num_elems = getelementptr inbounds i8, i8* %tensor_ptr, i64 48 + %3 = bitcast i8* %num_elems to i64* + %4 = load i64, i64* %3, align 8, !tbaa !13 + %cmp112 = icmp eq i64 %4, 0 + br i1 %cmp112, label %if.end, label %for.body.preheader + +for.body.preheader: ; preds = %if.then + br label %for.body + +for.body: ; preds = %for.body.preheader, %for.body + %conv14 = phi i64 [ %conv, %for.body ], [ 0, %for.body.preheader ] + %i.013 = phi i32 [ %inc, %for.body ], [ 0, %for.body.preheader ] + %arrayidx = getelementptr inbounds float, float* %2, i64 %conv14 + %5 = load float, float* %arrayidx, align 4, !tbaa !17 + %conv2 = fpext float %5 to double + %call = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.9, i64 0, i64 0), double %conv2) + %inc = add i32 %i.013, 1 + %conv = zext i32 %inc to i64 + %6 = load i64, i64* %3, align 8, !tbaa !13 + %cmp1 = icmp ult i64 %conv, %6 + br i1 %cmp1, label %for.body, label %if.end.loopexit + +if.end.loopexit: ; preds = %for.body + br label %if.end + +if.end: ; preds = %if.end.loopexit, %if.then, %entry + %putchar = tail call i32 @putchar(i32 10) #2 + ret void +} + +; Function Attrs: nounwind uwtable +define void @_Z15printTensorDimsPv(i8* nocapture readonly %tensor_ptr) local_unnamed_addr #3 { +entry: + %num_elems = getelementptr inbounds i8, i8* %tensor_ptr, i64 48 + %0 = bitcast i8* %num_elems to i64* + %1 = load i64, i64* %0, align 8, !tbaa !13 + %call = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.11, i64 0, i64 0), i64 %1) + %dims = getelementptr inbounds i8, i8* %tensor_ptr, i64 64 + %num_dims = bitcast i8* %dims to i32* + %2 = load i32, i32* %num_dims, align 8, !tbaa !10 + %cmp10 = icmp sgt i32 %2, 0 + br i1 %cmp10, label %for.body.lr.ph, label %for.cond.cleanup + +for.body.lr.ph: ; preds = %entry + %dim_sizes = getelementptr inbounds i8, i8* %tensor_ptr, i64 72 + %3 = bitcast i8* %dim_sizes to i64** + br label %for.body + +for.cond.cleanup.loopexit: ; preds = %for.body + br label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond.cleanup.loopexit, %entry + ret void + +for.body: ; preds = %for.body.lr.ph, %for.body + %indvars.iv = phi i64 [ 0, %for.body.lr.ph ], [ %indvars.iv.next, %for.body ] + %4 = load i64*, i64** %3, align 8, !tbaa !11 + %arrayidx = getelementptr inbounds i64, i64* %4, i64 %indvars.iv + %5 = load i64, i64* %arrayidx, align 8, !tbaa !12 + %6 = trunc i64 %indvars.iv to i32 + %call2 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.12, i64 0, i64 0), i32 %6, i64 %5) + %indvars.iv.next = add nuw i64 %indvars.iv, 1 + %7 = load i32, i32* %num_dims, align 8, !tbaa !10 + %8 = sext i32 %7 to i64 + %cmp = icmp slt i64 %indvars.iv.next, %8 + br i1 %cmp, label %for.body, label %for.cond.cleanup.loopexit +} + +; Function Attrs: nounwind uwtable +define void @_Z14compareTensorsPvS_(i8* %tensor1_ptr, i8* %tensor2_ptr) local_unnamed_addr #3 { +entry: + tail call void @hpvm_request_tensor(i8* %tensor1_ptr, i32 0) #2 + tail call void @hpvm_request_tensor(i8* %tensor2_ptr, i32 0) #2 + %host_data = getelementptr inbounds i8, i8* %tensor1_ptr, i64 32 + %0 = bitcast i8* %host_data to float** + %1 = load float*, float** %0, align 8, !tbaa !15 + %host_data1 = getelementptr inbounds i8, i8* %tensor2_ptr, i64 32 + %2 = bitcast i8* %host_data1 to float** + %3 = load float*, float** %2, align 8, !tbaa !15 + %num_elems = getelementptr inbounds i8, i8* %tensor1_ptr, i64 48 + %4 = bitcast i8* %num_elems to i64* + %5 = load i64, i64* %4, align 8, !tbaa !13 + %cmp17 = icmp eq i64 %5, 0 + br i1 %cmp17, label %for.cond.cleanup, label %for.body.preheader + +for.body.preheader: ; preds = %entry + br label %for.body + +for.cond.cleanup.loopexit: ; preds = %for.inc + br label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond.cleanup.loopexit, %entry + ret void + +for.body: ; preds = %for.body.preheader, %for.inc + %conv19 = phi i64 [ %conv, %for.inc ], [ 0, %for.body.preheader ] + %i.018 = phi i32 [ %inc, %for.inc ], [ 0, %for.body.preheader ] + %arrayidx = getelementptr inbounds float, float* %1, i64 %conv19 + %6 = load float, float* %arrayidx, align 4, !tbaa !17 + %arrayidx3 = getelementptr inbounds float, float* %3, i64 %conv19 + %7 = load float, float* %arrayidx3, align 4, !tbaa !17 + %cmp4 = fcmp fast une float %6, %7 + br i1 %cmp4, label %if.then, label %for.inc + +if.then: ; preds = %for.body + %call = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.13, i64 0, i64 0), i32 %i.018) + tail call void @abort() #8 + unreachable + +for.inc: ; preds = %for.body + %inc = add i32 %i.018, 1 + %conv = zext i32 %inc to i64 + %cmp = icmp ult i64 %conv, %5 + br i1 %cmp, label %for.body, label %for.cond.cleanup.loopexit +} + +; Function Attrs: nounwind uwtable +define void @_Z13compareValuesPvPfm(i8* %tensor_ptr, float* nocapture readonly %data, i64 %num_elems) local_unnamed_addr #3 { +entry: + tail call void @hpvm_request_tensor(i8* %tensor_ptr, i32 0) #2 + %host_data = getelementptr inbounds i8, i8* %tensor_ptr, i64 32 + %0 = bitcast i8* %host_data to float** + %1 = load float*, float** %0, align 8, !tbaa !15 + %cmp11 = icmp eq i64 %num_elems, 0 + br i1 %cmp11, label %for.cond.cleanup, label %for.body.preheader + +for.body.preheader: ; preds = %entry + br label %for.body + +for.cond: ; preds = %for.body + %conv = zext i32 %inc to i64 + %cmp = icmp ult i64 %conv, %num_elems + br i1 %cmp, label %for.body, label %for.cond.cleanup.loopexit + +for.cond.cleanup.loopexit: ; preds = %for.cond + br label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond.cleanup.loopexit, %entry + ret void + +for.body: ; preds = %for.body.preheader, %for.cond + %conv13 = phi i64 [ %conv, %for.cond ], [ 0, %for.body.preheader ] + %i.012 = phi i32 [ %inc, %for.cond ], [ 0, %for.body.preheader ] + %arrayidx = getelementptr inbounds float, float* %1, i64 %conv13 + %2 = load float, float* %arrayidx, align 4, !tbaa !17 + %arrayidx2 = getelementptr inbounds float, float* %data, i64 %conv13 + %3 = load float, float* %arrayidx2, align 4, !tbaa !17 + %cmp3 = fcmp fast une float %2, %3 + %inc = add i32 %i.012, 1 + br i1 %cmp3, label %if.then, label %for.cond + +if.then: ; preds = %for.body + %call = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.14, i64 0, i64 0)) + tail call void @abort() #8 + unreachable +} + +; Function Attrs: nounwind uwtable +define i8* @_Z15readInputTensorPKciiiii(i8* %file_name, i32 %data_type, i32 %dim1_size, i32 %dim2_size, i32 %dim3_size, i32 %dim4_size) local_unnamed_addr #3 { +entry: + %mul = mul nsw i32 %dim2_size, %dim1_size + %mul1 = mul nsw i32 %mul, %dim3_size + %mul2 = mul nsw i32 %mul1, %dim4_size + %mul3 = shl i32 %dim1_size, 2 + %mul4 = mul nsw i32 %mul3, %dim2_size + %mul5 = mul nsw i32 %mul4, %dim3_size + %mul6 = mul nsw i32 %mul5, %dim4_size + %conv = sext i32 %mul2 to i64 + %call = tail call noalias i8* @malloc(i64 %conv) #2 + %mul9 = shl nsw i64 %conv, 2 + %call10 = tail call noalias i8* @malloc(i64 %mul9) #2 + %0 = bitcast i8* %call10 to float* + %call11 = tail call %struct._IO_FILE* @fopen(i8* %file_name, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.15, i64 0, i64 0)) + %cmp = icmp eq %struct._IO_FILE* %call11, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call12 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.16, i64 0, i64 0), i8* %file_name) + tail call void @abort() #8 + unreachable + +if.end: ; preds = %entry + %call14 = tail call i32 @fseek(%struct._IO_FILE* nonnull %call11, i64 16, i32 1) + %call17 = tail call i64 @fread(i8* %call, i64 1, i64 %conv, %struct._IO_FILE* nonnull %call11) + %cmp1966 = icmp eq i32 %mul2, 0 + br i1 %cmp1966, label %for.cond.cleanup, label %for.body.preheader + +for.body.preheader: ; preds = %if.end + %1 = icmp ugt i64 %conv, 1 + %umax = select i1 %1, i64 %conv, i64 1 + %min.iters.check = icmp ult i64 %umax, 8 + br i1 %min.iters.check, label %for.body.preheader72, label %min.iters.checked + +for.body.preheader72: ; preds = %middle.block, %min.iters.checked, %for.body.preheader + %i.067.ph = phi i64 [ 0, %min.iters.checked ], [ 0, %for.body.preheader ], [ %n.vec, %middle.block ] + br label %for.body + +min.iters.checked: ; preds = %for.body.preheader + %n.vec = and i64 %umax, -8 + %cmp.zero = icmp eq i64 %n.vec, 0 + br i1 %cmp.zero, label %for.body.preheader72, label %vector.body.preheader + +vector.body.preheader: ; preds = %min.iters.checked + %2 = add nsw i64 %n.vec, -8 + %3 = lshr exact i64 %2, 3 + %4 = and i64 %3, 1 + %lcmp.mod = icmp eq i64 %4, 0 + br i1 %lcmp.mod, label %vector.body.prol.preheader, label %vector.body.prol.loopexit + +vector.body.prol.preheader: ; preds = %vector.body.preheader + br label %vector.body.prol + +vector.body.prol: ; preds = %vector.body.prol.preheader + %5 = bitcast i8* %call to <4 x i8>* + %wide.load.prol = load <4 x i8>, <4 x i8>* %5, align 1, !tbaa !36 + %6 = getelementptr i8, i8* %call, i64 4 + %7 = bitcast i8* %6 to <4 x i8>* + %wide.load71.prol = load <4 x i8>, <4 x i8>* %7, align 1, !tbaa !36 + %8 = uitofp <4 x i8> %wide.load.prol to <4 x float> + %9 = uitofp <4 x i8> %wide.load71.prol to <4 x float> + %10 = fmul fast <4 x float> %8, <float 0x3F70101020000000, float 0x3F70101020000000, float 0x3F70101020000000, float 0x3F70101020000000> + %11 = fmul fast <4 x float> %9, <float 0x3F70101020000000, float 0x3F70101020000000, float 0x3F70101020000000, float 0x3F70101020000000> + %12 = bitcast i8* %call10 to <4 x float>* + store <4 x float> %10, <4 x float>* %12, align 4, !tbaa !17 + %13 = getelementptr i8, i8* %call10, i64 16 + %14 = bitcast i8* %13 to <4 x float>* + store <4 x float> %11, <4 x float>* %14, align 4, !tbaa !17 + br label %vector.body.prol.loopexit + +vector.body.prol.loopexit: ; preds = %vector.body.prol, %vector.body.preheader + %index.unr = phi i64 [ 0, %vector.body.preheader ], [ 8, %vector.body.prol ] + %15 = icmp eq i64 %3, 0 + br i1 %15, label %middle.block, label %vector.body.preheader.new + +vector.body.preheader.new: ; preds = %vector.body.prol.loopexit + br label %vector.body + +vector.body: ; preds = %vector.body, %vector.body.preheader.new + %index = phi i64 [ %index.unr, %vector.body.preheader.new ], [ %index.next.1, %vector.body ] + %16 = getelementptr inbounds i8, i8* %call, i64 %index + %17 = bitcast i8* %16 to <4 x i8>* + %wide.load = load <4 x i8>, <4 x i8>* %17, align 1, !tbaa !36 + %18 = getelementptr i8, i8* %16, i64 4 + %19 = bitcast i8* %18 to <4 x i8>* + %wide.load71 = load <4 x i8>, <4 x i8>* %19, align 1, !tbaa !36 + %20 = uitofp <4 x i8> %wide.load to <4 x float> + %21 = uitofp <4 x i8> %wide.load71 to <4 x float> + %22 = fmul fast <4 x float> %20, <float 0x3F70101020000000, float 0x3F70101020000000, float 0x3F70101020000000, float 0x3F70101020000000> + %23 = fmul fast <4 x float> %21, <float 0x3F70101020000000, float 0x3F70101020000000, float 0x3F70101020000000, float 0x3F70101020000000> + %24 = getelementptr inbounds float, float* %0, i64 %index + %25 = bitcast float* %24 to <4 x float>* + store <4 x float> %22, <4 x float>* %25, align 4, !tbaa !17 + %26 = getelementptr float, float* %24, i64 4 + %27 = bitcast float* %26 to <4 x float>* + store <4 x float> %23, <4 x float>* %27, align 4, !tbaa !17 + %index.next = add i64 %index, 8 + %28 = getelementptr inbounds i8, i8* %call, i64 %index.next + %29 = bitcast i8* %28 to <4 x i8>* + %wide.load.1 = load <4 x i8>, <4 x i8>* %29, align 1, !tbaa !36 + %30 = getelementptr i8, i8* %28, i64 4 + %31 = bitcast i8* %30 to <4 x i8>* + %wide.load71.1 = load <4 x i8>, <4 x i8>* %31, align 1, !tbaa !36 + %32 = uitofp <4 x i8> %wide.load.1 to <4 x float> + %33 = uitofp <4 x i8> %wide.load71.1 to <4 x float> + %34 = fmul fast <4 x float> %32, <float 0x3F70101020000000, float 0x3F70101020000000, float 0x3F70101020000000, float 0x3F70101020000000> + %35 = fmul fast <4 x float> %33, <float 0x3F70101020000000, float 0x3F70101020000000, float 0x3F70101020000000, float 0x3F70101020000000> + %36 = getelementptr inbounds float, float* %0, i64 %index.next + %37 = bitcast float* %36 to <4 x float>* + store <4 x float> %34, <4 x float>* %37, align 4, !tbaa !17 + %38 = getelementptr float, float* %36, i64 4 + %39 = bitcast float* %38 to <4 x float>* + store <4 x float> %35, <4 x float>* %39, align 4, !tbaa !17 + %index.next.1 = add i64 %index, 16 + %40 = icmp eq i64 %index.next.1, %n.vec + br i1 %40, label %middle.block.unr-lcssa, label %vector.body, !llvm.loop !37 + +middle.block.unr-lcssa: ; preds = %vector.body + br label %middle.block + +middle.block: ; preds = %vector.body.prol.loopexit, %middle.block.unr-lcssa + %cmp.n = icmp eq i64 %umax, %n.vec + br i1 %cmp.n, label %for.cond.cleanup.loopexit, label %for.body.preheader72 + +for.cond.cleanup.loopexit.loopexit: ; preds = %for.body + br label %for.cond.cleanup.loopexit + +for.cond.cleanup.loopexit: ; preds = %for.cond.cleanup.loopexit.loopexit, %middle.block + %arrayidx22.phi.trans.insert = getelementptr inbounds i8, i8* %call10, i64 40 + %.phi.trans.insert = bitcast i8* %arrayidx22.phi.trans.insert to float* + %.pre = load float, float* %.phi.trans.insert, align 4, !tbaa !17 + %phitmp = fpext float %.pre to double + br label %for.cond.cleanup + +for.cond.cleanup: ; preds = %if.end, %for.cond.cleanup.loopexit + %41 = phi double [ %phitmp, %for.cond.cleanup.loopexit ], [ undef, %if.end ] + %call24 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.17, i64 0, i64 0), i32 10, double %41) + %conv25 = sext i32 %dim1_size to i64 + %conv26 = sext i32 %dim2_size to i64 + %conv27 = sext i32 %dim3_size to i64 + %conv28 = sext i32 %dim4_size to i64 + %call29 = tail call i8* @create4DTensor(i32 %data_type, i32 0, i64 %conv25, i64 %conv26, i64 %conv27, i64 %conv28) #2 + %conv30 = sext i32 %mul6 to i64 + tail call void @initTensorData(i8* %call29, i8* %call10, i64 %conv30) #2 + tail call void @hpvm_request_tensor(i8* %call29, i32 0) #2 + %host_data.i = getelementptr inbounds i8, i8* %call29, i64 32 + %42 = bitcast i8* %host_data.i to float** + %43 = load float*, float** %42, align 8, !tbaa !15 + br i1 %cmp1966, label %_Z13compareValuesPvPfm.exit, label %for.body.i.preheader + +for.body.i.preheader: ; preds = %for.cond.cleanup + br label %for.body.i + +for.cond.i: ; preds = %for.body.i + %conv.i = zext i32 %inc.i to i64 + %cmp.i = icmp ult i64 %conv.i, %conv + br i1 %cmp.i, label %for.body.i, label %_Z13compareValuesPvPfm.exit.loopexit + +for.body.i: ; preds = %for.body.i.preheader, %for.cond.i + %conv13.i = phi i64 [ %conv.i, %for.cond.i ], [ 0, %for.body.i.preheader ] + %i.012.i = phi i32 [ %inc.i, %for.cond.i ], [ 0, %for.body.i.preheader ] + %arrayidx.i = getelementptr inbounds float, float* %43, i64 %conv13.i + %44 = load float, float* %arrayidx.i, align 4, !tbaa !17 + %arrayidx2.i = getelementptr inbounds float, float* %0, i64 %conv13.i + %45 = load float, float* %arrayidx2.i, align 4, !tbaa !17 + %cmp3.i = fcmp fast une float %44, %45 + %inc.i = add i32 %i.012.i, 1 + br i1 %cmp3.i, label %if.then.i, label %for.cond.i + +if.then.i: ; preds = %for.body.i + %call.i = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.14, i64 0, i64 0)) #2 + tail call void @abort() #8 + unreachable + +_Z13compareValuesPvPfm.exit.loopexit: ; preds = %for.cond.i + br label %_Z13compareValuesPvPfm.exit + +_Z13compareValuesPvPfm.exit: ; preds = %_Z13compareValuesPvPfm.exit.loopexit, %for.cond.cleanup + ret i8* %call29 + +for.body: ; preds = %for.body.preheader72, %for.body + %i.067 = phi i64 [ %inc, %for.body ], [ %i.067.ph, %for.body.preheader72 ] + %arrayidx = getelementptr inbounds i8, i8* %call, i64 %i.067 + %46 = load i8, i8* %arrayidx, align 1, !tbaa !36 + %conv20 = uitofp i8 %46 to float + %div = fmul fast float %conv20, 0x3F70101020000000 + %arrayidx21 = getelementptr inbounds float, float* %0, i64 %i.067 + store float %div, float* %arrayidx21, align 4, !tbaa !17 + %inc = add nuw i64 %i.067, 1 + %cmp19 = icmp ult i64 %inc, %conv + br i1 %cmp19, label %for.body, label %for.cond.cleanup.loopexit.loopexit, !llvm.loop !38 +} + +; Function Attrs: nounwind +declare noalias i8* @malloc(i64) local_unnamed_addr #1 + +; Function Attrs: nounwind +declare i32 @fseek(%struct._IO_FILE* nocapture, i64, i32) local_unnamed_addr #1 + +; Function Attrs: nounwind +declare i64 @fread(i8* nocapture, i64, i64, %struct._IO_FILE* nocapture) local_unnamed_addr #1 + +declare i8* @create4DTensor(i32, i32, i64, i64, i64, i64) local_unnamed_addr #0 + +declare void @initTensorData(i8*, i8*, i64) local_unnamed_addr #0 + +; Function Attrs: nounwind uwtable +define %struct.Tensor* @_Z18readTrainedWeightsPKciiiii(i8* %file_name, i32 %data_type, i32 %dim1_size, i32 %dim2_size, i32 %dim3_size, i32 %dim4_size) local_unnamed_addr #3 { +entry: + %mul = mul nsw i32 %dim2_size, %dim1_size + %mul1 = mul nsw i32 %mul, %dim3_size + %mul2 = mul nsw i32 %mul1, %dim4_size + %conv = sext i32 %mul2 to i64 + %mul7 = shl nsw i64 %conv, 2 + %call = tail call noalias i8* @malloc(i64 %mul7) #2 + %call8 = tail call %struct._IO_FILE* @fopen(i8* %file_name, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.15, i64 0, i64 0)) + %cmp = icmp eq %struct._IO_FILE* %call8, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call9 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.16, i64 0, i64 0), i8* %file_name) + tail call void @abort() #8 + unreachable + +if.end: ; preds = %entry + %0 = bitcast i8* %call to float* + %mul3 = shl i32 %dim1_size, 2 + %mul4 = mul nsw i32 %mul3, %dim2_size + %mul5 = mul nsw i32 %mul4, %dim3_size + %mul6 = mul nsw i32 %mul5, %dim4_size + %call11 = tail call i32 @fseek(%struct._IO_FILE* nonnull %call8, i64 0, i32 1) + %conv12 = sext i32 %mul6 to i64 + %call13 = tail call i64 @fread(i8* %call, i64 1, i64 %conv12, %struct._IO_FILE* nonnull %call8) + %conv14 = sext i32 %dim1_size to i64 + %conv15 = sext i32 %dim2_size to i64 + %conv16 = sext i32 %dim3_size to i64 + %conv17 = sext i32 %dim4_size to i64 + %call18 = tail call i8* @create4DTensor(i32 %data_type, i32 0, i64 %conv14, i64 %conv15, i64 %conv16, i64 %conv17) #2 + %1 = bitcast i8* %call18 to %struct.Tensor* + tail call void @initTensorData(i8* %call18, i8* %call, i64 %conv12) #2 + tail call void @hpvm_request_tensor(i8* %call18, i32 0) #2 + %host_data.i = getelementptr inbounds i8, i8* %call18, i64 32 + %2 = bitcast i8* %host_data.i to float** + %3 = load float*, float** %2, align 8, !tbaa !15 + %cmp11.i = icmp eq i32 %mul2, 0 + br i1 %cmp11.i, label %_Z13compareValuesPvPfm.exit, label %for.body.i.preheader + +for.body.i.preheader: ; preds = %if.end + br label %for.body.i + +for.cond.i: ; preds = %for.body.i + %conv.i = zext i32 %inc.i to i64 + %cmp.i = icmp ult i64 %conv.i, %conv + br i1 %cmp.i, label %for.body.i, label %_Z13compareValuesPvPfm.exit.loopexit + +for.body.i: ; preds = %for.body.i.preheader, %for.cond.i + %conv13.i = phi i64 [ %conv.i, %for.cond.i ], [ 0, %for.body.i.preheader ] + %i.012.i = phi i32 [ %inc.i, %for.cond.i ], [ 0, %for.body.i.preheader ] + %arrayidx.i = getelementptr inbounds float, float* %3, i64 %conv13.i + %4 = load float, float* %arrayidx.i, align 4, !tbaa !17 + %arrayidx2.i = getelementptr inbounds float, float* %0, i64 %conv13.i + %5 = load float, float* %arrayidx2.i, align 4, !tbaa !17 + %cmp3.i = fcmp fast une float %4, %5 + %inc.i = add i32 %i.012.i, 1 + br i1 %cmp3.i, label %if.then.i, label %for.cond.i + +if.then.i: ; preds = %for.body.i + %call.i = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.14, i64 0, i64 0)) #2 + tail call void @abort() #8 + unreachable + +_Z13compareValuesPvPfm.exit.loopexit: ; preds = %for.cond.i + br label %_Z13compareValuesPvPfm.exit + +_Z13compareValuesPvPfm.exit: ; preds = %_Z13compareValuesPvPfm.exit.loopexit, %if.end + ret %struct.Tensor* %1 +} + +; Function Attrs: nounwind uwtable +define noalias i8* @_Z10readLabelsPci(i8* %labels_file, i32 %num_labels) local_unnamed_addr #3 { +entry: + %conv = sext i32 %num_labels to i64 + %call = tail call noalias i8* @malloc(i64 %conv) #2 + %call1 = tail call %struct._IO_FILE* @fopen(i8* %labels_file, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.15, i64 0, i64 0)) + %cmp = icmp eq %struct._IO_FILE* %call1, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call2 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.18, i64 0, i64 0), i8* %labels_file) + tail call void @abort() #8 + unreachable + +if.end: ; preds = %entry + %call4 = tail call i32 @fseek(%struct._IO_FILE* nonnull %call1, i64 8, i32 1) + %call7 = tail call i64 @fread(i8* %call, i64 1, i64 %conv, %struct._IO_FILE* nonnull %call1) + %call8 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.19, i64 0, i64 0), i64 %call7) + ret i8* %call +} + +; Function Attrs: nounwind uwtable +define void @_Z15computeAccuracyPciPv(i8* %labels_file, i32 %num_labels, i8* nocapture readonly %result_ptr) local_unnamed_addr #3 { +entry: + %ss = alloca %"class.std::__cxx11::basic_ostringstream", align 16 + %print_str = alloca %"class.std::__cxx11::basic_string", align 8 + %call = tail call i8* @_Z10readLabelsPci(i8* %labels_file, i32 %num_labels) + %dim_sizes = getelementptr inbounds i8, i8* %result_ptr, i64 72 + %0 = bitcast i8* %dim_sizes to i64** + %1 = load i64*, i64** %0, align 8, !tbaa !11 + %2 = load i64, i64* %1, align 8, !tbaa !12 + %arrayidx3 = getelementptr inbounds i64, i64* %1, i64 1 + %3 = load i64, i64* %arrayidx3, align 8, !tbaa !12 + %host_data = getelementptr inbounds i8, i8* %result_ptr, i64 32 + %4 = bitcast i8* %host_data to float** + %5 = load float*, float** %4, align 8, !tbaa !15 + %cmp87 = icmp eq i64 %2, 0 + br i1 %cmp87, label %for.cond.cleanup, label %for.cond4.preheader.preheader + +for.cond4.preheader.preheader: ; preds = %entry + br label %for.cond4.preheader + +for.cond4.preheader: ; preds = %for.cond4.preheader.preheader, %for.cond4.preheader + %indvars.iv = phi i64 [ %indvars.iv.next, %for.cond4.preheader ], [ 0, %for.cond4.preheader.preheader ] + %num_errors.089 = phi i32 [ %num_errors.0.inc21, %for.cond4.preheader ], [ 0, %for.cond4.preheader.preheader ] + %mul = mul i64 %indvars.iv, %3 + %arrayidx10 = getelementptr inbounds float, float* %5, i64 %mul + %6 = load float, float* %arrayidx10, align 4, !tbaa !17 + %add14 = add i64 %mul, 1 + %arrayidx15 = getelementptr inbounds float, float* %5, i64 %add14 + %7 = load float, float* %arrayidx15, align 4, !tbaa !17 + %cmp16 = fcmp fast olt float %6, %7 + %chosen.1 = zext i1 %cmp16 to i32 + %conv9.1 = zext i1 %cmp16 to i64 + %add.1 = add i64 %conv9.1, %mul + %arrayidx10.1 = getelementptr inbounds float, float* %5, i64 %add.1 + %8 = load float, float* %arrayidx10.1, align 4, !tbaa !17 + %add14.1 = add i64 %mul, 2 + %arrayidx15.1 = getelementptr inbounds float, float* %5, i64 %add14.1 + %9 = load float, float* %arrayidx15.1, align 4, !tbaa !17 + %cmp16.1 = fcmp fast olt float %8, %9 + %chosen.1.1 = select i1 %cmp16.1, i32 2, i32 %chosen.1 + %conv9.291 = zext i32 %chosen.1.1 to i64 + %add.2 = add i64 %conv9.291, %mul + %arrayidx10.2 = getelementptr inbounds float, float* %5, i64 %add.2 + %10 = load float, float* %arrayidx10.2, align 4, !tbaa !17 + %add14.2 = add i64 %mul, 3 + %arrayidx15.2 = getelementptr inbounds float, float* %5, i64 %add14.2 + %11 = load float, float* %arrayidx15.2, align 4, !tbaa !17 + %cmp16.2 = fcmp fast olt float %10, %11 + %chosen.1.2 = select i1 %cmp16.2, i32 3, i32 %chosen.1.1 + %conv9.392 = zext i32 %chosen.1.2 to i64 + %add.3 = add i64 %conv9.392, %mul + %arrayidx10.3 = getelementptr inbounds float, float* %5, i64 %add.3 + %12 = load float, float* %arrayidx10.3, align 4, !tbaa !17 + %add14.3 = add i64 %mul, 4 + %arrayidx15.3 = getelementptr inbounds float, float* %5, i64 %add14.3 + %13 = load float, float* %arrayidx15.3, align 4, !tbaa !17 + %cmp16.3 = fcmp fast olt float %12, %13 + %chosen.1.3 = select i1 %cmp16.3, i32 4, i32 %chosen.1.2 + %conv9.493 = zext i32 %chosen.1.3 to i64 + %add.4 = add i64 %conv9.493, %mul + %arrayidx10.4 = getelementptr inbounds float, float* %5, i64 %add.4 + %14 = load float, float* %arrayidx10.4, align 4, !tbaa !17 + %add14.4 = add i64 %mul, 5 + %arrayidx15.4 = getelementptr inbounds float, float* %5, i64 %add14.4 + %15 = load float, float* %arrayidx15.4, align 4, !tbaa !17 + %cmp16.4 = fcmp fast olt float %14, %15 + %chosen.1.4 = select i1 %cmp16.4, i32 5, i32 %chosen.1.3 + %conv9.594 = zext i32 %chosen.1.4 to i64 + %add.5 = add i64 %conv9.594, %mul + %arrayidx10.5 = getelementptr inbounds float, float* %5, i64 %add.5 + %16 = load float, float* %arrayidx10.5, align 4, !tbaa !17 + %add14.5 = add i64 %mul, 6 + %arrayidx15.5 = getelementptr inbounds float, float* %5, i64 %add14.5 + %17 = load float, float* %arrayidx15.5, align 4, !tbaa !17 + %cmp16.5 = fcmp fast olt float %16, %17 + %chosen.1.5 = select i1 %cmp16.5, i32 6, i32 %chosen.1.4 + %18 = zext i32 %chosen.1.5 to i64 + %add.6 = add i64 %18, %mul + %arrayidx10.6 = getelementptr inbounds float, float* %5, i64 %add.6 + %19 = load float, float* %arrayidx10.6, align 4, !tbaa !17 + %add14.6 = add i64 %mul, 7 + %arrayidx15.6 = getelementptr inbounds float, float* %5, i64 %add14.6 + %20 = load float, float* %arrayidx15.6, align 4, !tbaa !17 + %cmp16.6 = fcmp fast olt float %19, %20 + %chosen.1.6 = select i1 %cmp16.6, i32 7, i32 %chosen.1.5 + %conv9.7 = sext i32 %chosen.1.6 to i64 + %add.7 = add i64 %conv9.7, %mul + %arrayidx10.7 = getelementptr inbounds float, float* %5, i64 %add.7 + %21 = load float, float* %arrayidx10.7, align 4, !tbaa !17 + %add14.7 = add i64 %mul, 8 + %arrayidx15.7 = getelementptr inbounds float, float* %5, i64 %add14.7 + %22 = load float, float* %arrayidx15.7, align 4, !tbaa !17 + %cmp16.7 = fcmp fast olt float %21, %22 + %chosen.1.7 = select i1 %cmp16.7, i32 8, i32 %chosen.1.6 + %conv9.8 = sext i32 %chosen.1.7 to i64 + %add.8 = add i64 %conv9.8, %mul + %arrayidx10.8 = getelementptr inbounds float, float* %5, i64 %add.8 + %23 = load float, float* %arrayidx10.8, align 4, !tbaa !17 + %add14.8 = add i64 %mul, 9 + %arrayidx15.8 = getelementptr inbounds float, float* %5, i64 %add14.8 + %24 = load float, float* %arrayidx15.8, align 4, !tbaa !17 + %cmp16.8 = fcmp fast olt float %23, %24 + %chosen.1.8 = select i1 %cmp16.8, i32 9, i32 %chosen.1.7 + %arrayidx17 = getelementptr inbounds i8, i8* %call, i64 %indvars.iv + %25 = load i8, i8* %arrayidx17, align 1, !tbaa !36 + %conv18 = zext i8 %25 to i32 + %not.cmp19 = icmp ne i32 %chosen.1.8, %conv18 + %inc21 = zext i1 %not.cmp19 to i32 + %num_errors.0.inc21 = add nsw i32 %inc21, %num_errors.089 + %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 + %exitcond = icmp eq i64 %indvars.iv.next, %2 + br i1 %exitcond, label %for.cond.cleanup.loopexit, label %for.cond4.preheader + +for.cond.cleanup.loopexit: ; preds = %for.cond4.preheader + %phitmp = sext i32 %num_errors.0.inc21 to i64 + br label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond.cleanup.loopexit, %entry + %num_errors.0.lcssa = phi i64 [ 0, %entry ], [ %phitmp, %for.cond.cleanup.loopexit ] + %sub = sub i64 %2, %num_errors.0.lcssa + %conv27 = uitofp i64 %sub to double + %conv29 = uitofp i64 %2 to double + %div = fdiv fast double %conv27, %conv29 + %mul31 = fmul fast double %div, 1.000000e+02 + %conv32 = fptrunc double %mul31 to float + %conv33 = fpext float %conv32 to double + %call34 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.20, i64 0, i64 0), double %conv33) + %call35 = tail call %struct._IO_FILE* @fopen(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.21, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.22, i64 0, i64 0)) + %cmp36 = icmp eq %struct._IO_FILE* %call35, null + br i1 %cmp36, label %if.end44, label %if.then37 + +if.then37: ; preds = %for.cond.cleanup + %26 = bitcast %"class.std::__cxx11::basic_ostringstream"* %ss to i8* + call void @llvm.lifetime.start(i64 376, i8* nonnull %26) #2 + %27 = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 2 + %28 = getelementptr inbounds %"class.std::basic_ios", %"class.std::basic_ios"* %27, i64 0, i32 0 + call void @_ZNSt8ios_baseC2Ev(%"class.std::ios_base"* %28) #2 + %29 = getelementptr inbounds %"class.std::basic_ios", %"class.std::basic_ios"* %27, i64 0, i32 0, i32 0 + store i32 (...)** bitcast (i8** getelementptr inbounds ({ [4 x i8*] }, { [4 x i8*] }* @_ZTVSt9basic_iosIcSt11char_traitsIcEE, i64 0, inrange i32 0, i64 2) to i32 (...)**), i32 (...)*** %29, align 16, !tbaa !40 + %_M_tie.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 2, i32 1 + store %"class.std::basic_ostream"* null, %"class.std::basic_ostream"** %_M_tie.i.i, align 8, !tbaa !42 + %_M_fill.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 2, i32 2 + store i8 0, i8* %_M_fill.i.i, align 16, !tbaa !45 + %_M_fill_init.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 2, i32 3 + store i8 0, i8* %_M_fill_init.i.i, align 1, !tbaa !46 + %_M_streambuf.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 2, i32 4 + %30 = bitcast %"class.std::basic_streambuf"** %_M_streambuf.i.i to i8* + call void @llvm.memset.p0i8.i64(i8* %30, i8 0, i64 32, i32 8, i1 false) #2 + %31 = load i64, i64* bitcast (i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @_ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE, i64 0, i64 1) to i64*), align 8 + %32 = bitcast %"class.std::__cxx11::basic_ostringstream"* %ss to i64* + store i64 %31, i64* %32, align 16, !tbaa !40 + %33 = load i64, i64* bitcast (i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @_ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE, i64 0, i64 2) to i64*), align 8 + %34 = bitcast %"class.std::__cxx11::basic_ostringstream"* %ss to i8** + %vtable.cast.i.i = inttoptr i64 %31 to i8* + %vbase.offset.ptr.i.i = getelementptr i8, i8* %vtable.cast.i.i, i64 -24 + %35 = bitcast i8* %vbase.offset.ptr.i.i to i64* + %vbase.offset.i.i = load i64, i64* %35, align 8 + %add.ptr.i.i = getelementptr inbounds i8, i8* %26, i64 %vbase.offset.i.i + %36 = bitcast i8* %add.ptr.i.i to i64* + store i64 %33, i64* %36, align 8, !tbaa !40 + %vtable3.i.i = load i8*, i8** %34, align 16, !tbaa !40 + %vbase.offset.ptr4.i.i = getelementptr i8, i8* %vtable3.i.i, i64 -24 + %37 = bitcast i8* %vbase.offset.ptr4.i.i to i64* + %vbase.offset5.i.i = load i64, i64* %37, align 8 + %add.ptr6.i.i = getelementptr inbounds i8, i8* %26, i64 %vbase.offset5.i.i + %38 = bitcast i8* %add.ptr6.i.i to %"class.std::basic_ios"* + call void @_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E(%"class.std::basic_ios"* %38, %"class.std::basic_streambuf"* null) #2 + store i32 (...)** bitcast (i8** getelementptr inbounds ({ [5 x i8*], [5 x i8*] }, { [5 x i8*], [5 x i8*] }* @_ZTVNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE, i64 0, inrange i32 1, i64 3) to i32 (...)**), i32 (...)*** %29, align 16, !tbaa !40 + %_M_stringbuf.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1 + %39 = getelementptr inbounds %"class.std::__cxx11::basic_stringbuf", %"class.std::__cxx11::basic_stringbuf"* %_M_stringbuf.i, i64 0, i32 0, i32 0 + %40 = bitcast %"class.std::__cxx11::basic_ostringstream"* %ss to <2 x i32 (...)**>* + store <2 x i32 (...)**> <i32 (...)** bitcast (i8** getelementptr inbounds ({ [5 x i8*], [5 x i8*] }, { [5 x i8*], [5 x i8*] }* @_ZTVNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE, i64 0, inrange i32 0, i64 3) to i32 (...)**), i32 (...)** bitcast (i8** getelementptr inbounds ({ [16 x i8*] }, { [16 x i8*] }* @_ZTVSt15basic_streambufIcSt11char_traitsIcEE, i64 0, inrange i32 0, i64 2) to i32 (...)**)>, <2 x i32 (...)**>* %40, align 16, !tbaa !40 + %_M_in_beg.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1, i32 0, i32 1 + %_M_buf_locale.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1, i32 0, i32 7 + %41 = bitcast i8** %_M_in_beg.i.i.i to i8* + call void @llvm.memset.p0i8.i64(i8* %41, i8 0, i64 48, i32 8, i1 false) #2 + call void @_ZNSt6localeC1Ev(%"class.std::locale"* %_M_buf_locale.i.i.i) #2 + store i32 (...)** bitcast (i8** getelementptr inbounds ({ [16 x i8*] }, { [16 x i8*] }* @_ZTVNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE, i64 0, inrange i32 0, i64 2) to i32 (...)**), i32 (...)*** %39, align 8, !tbaa !40 + %_M_mode.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1, i32 1 + store i32 16, i32* %_M_mode.i.i, align 8, !tbaa !47 + %_M_string.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1, i32 2 + %42 = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1, i32 2, i32 2 + %43 = bitcast %"class.std::__cxx11::basic_string"* %_M_string.i.i to %union.anon** + store %union.anon* %42, %union.anon** %43, align 8, !tbaa !52 + %_M_string_length.i.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1, i32 2, i32 1 + store i64 0, i64* %_M_string_length.i.i.i.i.i, align 8, !tbaa !53 + %.cast.i.i.i = bitcast %union.anon* %42 to i8* + store i8 0, i8* %.cast.i.i.i, align 8, !tbaa !36 + %vtable.i = load i8*, i8** %34, align 16, !tbaa !40 + %vbase.offset.ptr.i = getelementptr i8, i8* %vtable.i, i64 -24 + %44 = bitcast i8* %vbase.offset.ptr.i to i64* + %vbase.offset.i = load i64, i64* %44, align 8 + %add.ptr2.i = getelementptr inbounds i8, i8* %26, i64 %vbase.offset.i + %45 = bitcast i8* %add.ptr2.i to %"class.std::basic_ios"* + %46 = getelementptr inbounds %"class.std::__cxx11::basic_stringbuf", %"class.std::__cxx11::basic_stringbuf"* %_M_stringbuf.i, i64 0, i32 0 + call void @_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E(%"class.std::basic_ios"* %45, %"class.std::basic_streambuf"* %46) #2 + %47 = bitcast %"class.std::__cxx11::basic_ostringstream"* %ss to %"class.std::basic_ostream"* + %vtable.i74 = load i8*, i8** %34, align 16, !tbaa !40 + %vbase.offset.ptr.i75 = getelementptr i8, i8* %vtable.i74, i64 -24 + %48 = bitcast i8* %vbase.offset.ptr.i75 to i64* + %vbase.offset.i76 = load i64, i64* %48, align 8 + %add.ptr.i = getelementptr inbounds i8, i8* %26, i64 %vbase.offset.i76 + %_M_flags.i = getelementptr inbounds i8, i8* %add.ptr.i, i64 24 + %49 = bitcast i8* %_M_flags.i to i32* + %50 = load i32, i32* %49, align 4, !tbaa !54 + %and.i = and i32 %50, -261 + %or.i = or i32 %and.i, 4 + store i32 %or.i, i32* %49, align 4, !tbaa !54 + %call.i = call dereferenceable(272) %"class.std::basic_ostream"* @_ZNSo9_M_insertIdEERSoT_(%"class.std::basic_ostream"* nonnull %47, double %conv33) #2 + %51 = bitcast %"class.std::__cxx11::basic_string"* %print_str to i8* + call void @llvm.lifetime.start(i64 32, i8* nonnull %51) #2 + call void @_ZNKSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strEv(%"class.std::__cxx11::basic_string"* nonnull sret %print_str, %"class.std::__cxx11::basic_stringbuf"* %_M_stringbuf.i) #2 + %_M_p.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %print_str, i64 0, i32 0, i32 0 + %52 = load i8*, i8** %_M_p.i.i, align 8, !tbaa !56 + %_M_string_length.i = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %print_str, i64 0, i32 1 + %53 = load i64, i64* %_M_string_length.i, align 8, !tbaa !53 + %call42 = call i64 @fwrite(i8* %52, i64 1, i64 %53, %struct._IO_FILE* nonnull %call35) + %call43 = call i32 @fclose(%struct._IO_FILE* nonnull %call35) + %54 = load i8*, i8** %_M_p.i.i, align 8, !tbaa !56 + %55 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %print_str, i64 0, i32 2 + %arraydecay.i.i.i.i = bitcast %union.anon* %55 to i8* + %cmp.i.i.i = icmp eq i8* %54, %arraydecay.i.i.i.i + br i1 %cmp.i.i.i, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit, label %if.then.i.i + +if.then.i.i: ; preds = %if.then37 + call void @_ZdlPv(i8* %54) #2 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit + +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit: ; preds = %if.then37, %if.then.i.i + call void @llvm.lifetime.end(i64 32, i8* nonnull %51) #2 + %56 = load i64, i64* bitcast ([4 x i8*]* @_ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE to i64*), align 8 + store i64 %56, i64* %32, align 16, !tbaa !40 + %57 = load i64, i64* bitcast (i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @_ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE, i64 0, i64 3) to i64*), align 8 + %vtable.cast.i.i81 = inttoptr i64 %56 to i8* + %vbase.offset.ptr.i.i82 = getelementptr i8, i8* %vtable.cast.i.i81, i64 -24 + %58 = bitcast i8* %vbase.offset.ptr.i.i82 to i64* + %vbase.offset.i.i83 = load i64, i64* %58, align 8 + %add.ptr.i.i84 = getelementptr inbounds i8, i8* %26, i64 %vbase.offset.i.i83 + %59 = bitcast i8* %add.ptr.i.i84 to i64* + store i64 %57, i64* %59, align 8, !tbaa !40 + %60 = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1, i32 0, i32 0 + store i32 (...)** bitcast (i8** getelementptr inbounds ({ [16 x i8*] }, { [16 x i8*] }* @_ZTVNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE, i64 0, inrange i32 0, i64 2) to i32 (...)**), i32 (...)*** %60, align 8, !tbaa !40 + %_M_p.i.i.i.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1, i32 2, i32 0, i32 0 + %61 = load i8*, i8** %_M_p.i.i.i.i.i.i.i, align 8, !tbaa !56 + %cmp.i.i.i.i.i.i = icmp eq i8* %61, %.cast.i.i.i + br i1 %cmp.i.i.i.i.i.i, label %_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev.exit, label %if.then.i.i.i.i.i + +if.then.i.i.i.i.i: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit + call void @_ZdlPv(i8* %61) #2 + br label %_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev.exit + +_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev.exit: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit, %if.then.i.i.i.i.i + store i32 (...)** bitcast (i8** getelementptr inbounds ({ [16 x i8*] }, { [16 x i8*] }* @_ZTVSt15basic_streambufIcSt11char_traitsIcEE, i64 0, inrange i32 0, i64 2) to i32 (...)**), i32 (...)*** %60, align 8, !tbaa !40 + call void @_ZNSt6localeD1Ev(%"class.std::locale"* nonnull %_M_buf_locale.i.i.i) #2 + %62 = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 2, i32 0 + call void @_ZNSt8ios_baseD2Ev(%"class.std::ios_base"* %62) #2 + call void @llvm.lifetime.end(i64 376, i8* nonnull %26) #2 + br label %if.end44 + +if.end44: ; preds = %for.cond.cleanup, %_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev.exit + ret void +} + +; Function Attrs: nounwind uwtable +define void @_Z16computeAccuracy2PhiPv(i8* nocapture readonly %labels, i32 %num_labels, i8* nocapture readonly %result_ptr) local_unnamed_addr #3 { +entry: + %ss = alloca %"class.std::__cxx11::basic_ostringstream", align 16 + %print_str = alloca %"class.std::__cxx11::basic_string", align 8 + %dim_sizes = getelementptr inbounds i8, i8* %result_ptr, i64 72 + %0 = bitcast i8* %dim_sizes to i64** + %1 = load i64*, i64** %0, align 8, !tbaa !11 + %2 = load i64, i64* %1, align 8, !tbaa !12 + %arrayidx3 = getelementptr inbounds i64, i64* %1, i64 1 + %3 = load i64, i64* %arrayidx3, align 8, !tbaa !12 + %host_data = getelementptr inbounds i8, i8* %result_ptr, i64 32 + %4 = bitcast i8* %host_data to float** + %5 = load float*, float** %4, align 8, !tbaa !15 + %cmp82 = icmp eq i64 %2, 0 + br i1 %cmp82, label %for.cond.cleanup, label %for.cond4.preheader.preheader + +for.cond4.preheader.preheader: ; preds = %entry + br label %for.cond4.preheader + +for.cond4.preheader: ; preds = %for.cond4.preheader.preheader, %for.cond4.preheader + %indvars.iv = phi i64 [ %indvars.iv.next, %for.cond4.preheader ], [ 0, %for.cond4.preheader.preheader ] + %num_errors.084 = phi i32 [ %num_errors.0.inc21, %for.cond4.preheader ], [ 0, %for.cond4.preheader.preheader ] + %mul = mul i64 %indvars.iv, %3 + %arrayidx10 = getelementptr inbounds float, float* %5, i64 %mul + %6 = load float, float* %arrayidx10, align 4, !tbaa !17 + %add14 = add i64 %mul, 1 + %arrayidx15 = getelementptr inbounds float, float* %5, i64 %add14 + %7 = load float, float* %arrayidx15, align 4, !tbaa !17 + %cmp16 = fcmp fast olt float %6, %7 + %chosen.1 = zext i1 %cmp16 to i32 + %conv9.1 = zext i1 %cmp16 to i64 + %add.1 = add i64 %conv9.1, %mul + %arrayidx10.1 = getelementptr inbounds float, float* %5, i64 %add.1 + %8 = load float, float* %arrayidx10.1, align 4, !tbaa !17 + %add14.1 = add i64 %mul, 2 + %arrayidx15.1 = getelementptr inbounds float, float* %5, i64 %add14.1 + %9 = load float, float* %arrayidx15.1, align 4, !tbaa !17 + %cmp16.1 = fcmp fast olt float %8, %9 + %chosen.1.1 = select i1 %cmp16.1, i32 2, i32 %chosen.1 + %conv9.286 = zext i32 %chosen.1.1 to i64 + %add.2 = add i64 %conv9.286, %mul + %arrayidx10.2 = getelementptr inbounds float, float* %5, i64 %add.2 + %10 = load float, float* %arrayidx10.2, align 4, !tbaa !17 + %add14.2 = add i64 %mul, 3 + %arrayidx15.2 = getelementptr inbounds float, float* %5, i64 %add14.2 + %11 = load float, float* %arrayidx15.2, align 4, !tbaa !17 + %cmp16.2 = fcmp fast olt float %10, %11 + %chosen.1.2 = select i1 %cmp16.2, i32 3, i32 %chosen.1.1 + %conv9.387 = zext i32 %chosen.1.2 to i64 + %add.3 = add i64 %conv9.387, %mul + %arrayidx10.3 = getelementptr inbounds float, float* %5, i64 %add.3 + %12 = load float, float* %arrayidx10.3, align 4, !tbaa !17 + %add14.3 = add i64 %mul, 4 + %arrayidx15.3 = getelementptr inbounds float, float* %5, i64 %add14.3 + %13 = load float, float* %arrayidx15.3, align 4, !tbaa !17 + %cmp16.3 = fcmp fast olt float %12, %13 + %chosen.1.3 = select i1 %cmp16.3, i32 4, i32 %chosen.1.2 + %conv9.488 = zext i32 %chosen.1.3 to i64 + %add.4 = add i64 %conv9.488, %mul + %arrayidx10.4 = getelementptr inbounds float, float* %5, i64 %add.4 + %14 = load float, float* %arrayidx10.4, align 4, !tbaa !17 + %add14.4 = add i64 %mul, 5 + %arrayidx15.4 = getelementptr inbounds float, float* %5, i64 %add14.4 + %15 = load float, float* %arrayidx15.4, align 4, !tbaa !17 + %cmp16.4 = fcmp fast olt float %14, %15 + %chosen.1.4 = select i1 %cmp16.4, i32 5, i32 %chosen.1.3 + %conv9.589 = zext i32 %chosen.1.4 to i64 + %add.5 = add i64 %conv9.589, %mul + %arrayidx10.5 = getelementptr inbounds float, float* %5, i64 %add.5 + %16 = load float, float* %arrayidx10.5, align 4, !tbaa !17 + %add14.5 = add i64 %mul, 6 + %arrayidx15.5 = getelementptr inbounds float, float* %5, i64 %add14.5 + %17 = load float, float* %arrayidx15.5, align 4, !tbaa !17 + %cmp16.5 = fcmp fast olt float %16, %17 + %chosen.1.5 = select i1 %cmp16.5, i32 6, i32 %chosen.1.4 + %18 = zext i32 %chosen.1.5 to i64 + %add.6 = add i64 %18, %mul + %arrayidx10.6 = getelementptr inbounds float, float* %5, i64 %add.6 + %19 = load float, float* %arrayidx10.6, align 4, !tbaa !17 + %add14.6 = add i64 %mul, 7 + %arrayidx15.6 = getelementptr inbounds float, float* %5, i64 %add14.6 + %20 = load float, float* %arrayidx15.6, align 4, !tbaa !17 + %cmp16.6 = fcmp fast olt float %19, %20 + %chosen.1.6 = select i1 %cmp16.6, i32 7, i32 %chosen.1.5 + %conv9.7 = sext i32 %chosen.1.6 to i64 + %add.7 = add i64 %conv9.7, %mul + %arrayidx10.7 = getelementptr inbounds float, float* %5, i64 %add.7 + %21 = load float, float* %arrayidx10.7, align 4, !tbaa !17 + %add14.7 = add i64 %mul, 8 + %arrayidx15.7 = getelementptr inbounds float, float* %5, i64 %add14.7 + %22 = load float, float* %arrayidx15.7, align 4, !tbaa !17 + %cmp16.7 = fcmp fast olt float %21, %22 + %chosen.1.7 = select i1 %cmp16.7, i32 8, i32 %chosen.1.6 + %conv9.8 = sext i32 %chosen.1.7 to i64 + %add.8 = add i64 %conv9.8, %mul + %arrayidx10.8 = getelementptr inbounds float, float* %5, i64 %add.8 + %23 = load float, float* %arrayidx10.8, align 4, !tbaa !17 + %add14.8 = add i64 %mul, 9 + %arrayidx15.8 = getelementptr inbounds float, float* %5, i64 %add14.8 + %24 = load float, float* %arrayidx15.8, align 4, !tbaa !17 + %cmp16.8 = fcmp fast olt float %23, %24 + %chosen.1.8 = select i1 %cmp16.8, i32 9, i32 %chosen.1.7 + %arrayidx17 = getelementptr inbounds i8, i8* %labels, i64 %indvars.iv + %25 = load i8, i8* %arrayidx17, align 1, !tbaa !36 + %conv18 = zext i8 %25 to i32 + %not.cmp19 = icmp ne i32 %chosen.1.8, %conv18 + %inc21 = zext i1 %not.cmp19 to i32 + %num_errors.0.inc21 = add nsw i32 %inc21, %num_errors.084 + %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 + %exitcond = icmp eq i64 %indvars.iv.next, %2 + br i1 %exitcond, label %for.cond.cleanup.loopexit, label %for.cond4.preheader + +for.cond.cleanup.loopexit: ; preds = %for.cond4.preheader + %phitmp = sext i32 %num_errors.0.inc21 to i64 + br label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond.cleanup.loopexit, %entry + %num_errors.0.lcssa = phi i64 [ 0, %entry ], [ %phitmp, %for.cond.cleanup.loopexit ] + %sub = sub i64 %2, %num_errors.0.lcssa + %conv27 = uitofp i64 %sub to double + %conv29 = uitofp i64 %2 to double + %div = fdiv fast double %conv27, %conv29 + %mul31 = fmul fast double %div, 1.000000e+02 + %conv32 = fptrunc double %mul31 to float + %conv33 = fpext float %conv32 to double + %call = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.20, i64 0, i64 0), double %conv33) + %call34 = tail call %struct._IO_FILE* @fopen(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.21, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.22, i64 0, i64 0)) + %cmp35 = icmp eq %struct._IO_FILE* %call34, null + br i1 %cmp35, label %if.end43, label %if.then36 + +if.then36: ; preds = %for.cond.cleanup + %26 = bitcast %"class.std::__cxx11::basic_ostringstream"* %ss to i8* + call void @llvm.lifetime.start(i64 376, i8* nonnull %26) #2 + %27 = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 2 + %28 = getelementptr inbounds %"class.std::basic_ios", %"class.std::basic_ios"* %27, i64 0, i32 0 + call void @_ZNSt8ios_baseC2Ev(%"class.std::ios_base"* %28) #2 + %29 = getelementptr inbounds %"class.std::basic_ios", %"class.std::basic_ios"* %27, i64 0, i32 0, i32 0 + store i32 (...)** bitcast (i8** getelementptr inbounds ({ [4 x i8*] }, { [4 x i8*] }* @_ZTVSt9basic_iosIcSt11char_traitsIcEE, i64 0, inrange i32 0, i64 2) to i32 (...)**), i32 (...)*** %29, align 16, !tbaa !40 + %_M_tie.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 2, i32 1 + store %"class.std::basic_ostream"* null, %"class.std::basic_ostream"** %_M_tie.i.i, align 8, !tbaa !42 + %_M_fill.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 2, i32 2 + store i8 0, i8* %_M_fill.i.i, align 16, !tbaa !45 + %_M_fill_init.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 2, i32 3 + store i8 0, i8* %_M_fill_init.i.i, align 1, !tbaa !46 + %_M_streambuf.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 2, i32 4 + %30 = bitcast %"class.std::basic_streambuf"** %_M_streambuf.i.i to i8* + call void @llvm.memset.p0i8.i64(i8* %30, i8 0, i64 32, i32 8, i1 false) #2 + %31 = load i64, i64* bitcast (i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @_ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE, i64 0, i64 1) to i64*), align 8 + %32 = bitcast %"class.std::__cxx11::basic_ostringstream"* %ss to i64* + store i64 %31, i64* %32, align 16, !tbaa !40 + %33 = load i64, i64* bitcast (i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @_ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE, i64 0, i64 2) to i64*), align 8 + %34 = bitcast %"class.std::__cxx11::basic_ostringstream"* %ss to i8** + %vtable.cast.i.i = inttoptr i64 %31 to i8* + %vbase.offset.ptr.i.i = getelementptr i8, i8* %vtable.cast.i.i, i64 -24 + %35 = bitcast i8* %vbase.offset.ptr.i.i to i64* + %vbase.offset.i.i = load i64, i64* %35, align 8 + %add.ptr.i.i = getelementptr inbounds i8, i8* %26, i64 %vbase.offset.i.i + %36 = bitcast i8* %add.ptr.i.i to i64* + store i64 %33, i64* %36, align 8, !tbaa !40 + %vtable3.i.i = load i8*, i8** %34, align 16, !tbaa !40 + %vbase.offset.ptr4.i.i = getelementptr i8, i8* %vtable3.i.i, i64 -24 + %37 = bitcast i8* %vbase.offset.ptr4.i.i to i64* + %vbase.offset5.i.i = load i64, i64* %37, align 8 + %add.ptr6.i.i = getelementptr inbounds i8, i8* %26, i64 %vbase.offset5.i.i + %38 = bitcast i8* %add.ptr6.i.i to %"class.std::basic_ios"* + call void @_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E(%"class.std::basic_ios"* %38, %"class.std::basic_streambuf"* null) #2 + store i32 (...)** bitcast (i8** getelementptr inbounds ({ [5 x i8*], [5 x i8*] }, { [5 x i8*], [5 x i8*] }* @_ZTVNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE, i64 0, inrange i32 1, i64 3) to i32 (...)**), i32 (...)*** %29, align 16, !tbaa !40 + %_M_stringbuf.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1 + %39 = getelementptr inbounds %"class.std::__cxx11::basic_stringbuf", %"class.std::__cxx11::basic_stringbuf"* %_M_stringbuf.i, i64 0, i32 0, i32 0 + %40 = bitcast %"class.std::__cxx11::basic_ostringstream"* %ss to <2 x i32 (...)**>* + store <2 x i32 (...)**> <i32 (...)** bitcast (i8** getelementptr inbounds ({ [5 x i8*], [5 x i8*] }, { [5 x i8*], [5 x i8*] }* @_ZTVNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE, i64 0, inrange i32 0, i64 3) to i32 (...)**), i32 (...)** bitcast (i8** getelementptr inbounds ({ [16 x i8*] }, { [16 x i8*] }* @_ZTVSt15basic_streambufIcSt11char_traitsIcEE, i64 0, inrange i32 0, i64 2) to i32 (...)**)>, <2 x i32 (...)**>* %40, align 16, !tbaa !40 + %_M_in_beg.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1, i32 0, i32 1 + %_M_buf_locale.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1, i32 0, i32 7 + %41 = bitcast i8** %_M_in_beg.i.i.i to i8* + call void @llvm.memset.p0i8.i64(i8* %41, i8 0, i64 48, i32 8, i1 false) #2 + call void @_ZNSt6localeC1Ev(%"class.std::locale"* %_M_buf_locale.i.i.i) #2 + store i32 (...)** bitcast (i8** getelementptr inbounds ({ [16 x i8*] }, { [16 x i8*] }* @_ZTVNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE, i64 0, inrange i32 0, i64 2) to i32 (...)**), i32 (...)*** %39, align 8, !tbaa !40 + %_M_mode.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1, i32 1 + store i32 16, i32* %_M_mode.i.i, align 8, !tbaa !47 + %_M_string.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1, i32 2 + %42 = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1, i32 2, i32 2 + %43 = bitcast %"class.std::__cxx11::basic_string"* %_M_string.i.i to %union.anon** + store %union.anon* %42, %union.anon** %43, align 8, !tbaa !52 + %_M_string_length.i.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1, i32 2, i32 1 + store i64 0, i64* %_M_string_length.i.i.i.i.i, align 8, !tbaa !53 + %.cast.i.i.i = bitcast %union.anon* %42 to i8* + store i8 0, i8* %.cast.i.i.i, align 8, !tbaa !36 + %vtable.i = load i8*, i8** %34, align 16, !tbaa !40 + %vbase.offset.ptr.i = getelementptr i8, i8* %vtable.i, i64 -24 + %44 = bitcast i8* %vbase.offset.ptr.i to i64* + %vbase.offset.i = load i64, i64* %44, align 8 + %add.ptr2.i = getelementptr inbounds i8, i8* %26, i64 %vbase.offset.i + %45 = bitcast i8* %add.ptr2.i to %"class.std::basic_ios"* + %46 = getelementptr inbounds %"class.std::__cxx11::basic_stringbuf", %"class.std::__cxx11::basic_stringbuf"* %_M_stringbuf.i, i64 0, i32 0 + call void @_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E(%"class.std::basic_ios"* %45, %"class.std::basic_streambuf"* %46) #2 + %47 = bitcast %"class.std::__cxx11::basic_ostringstream"* %ss to %"class.std::basic_ostream"* + %vtable.i72 = load i8*, i8** %34, align 16, !tbaa !40 + %vbase.offset.ptr.i73 = getelementptr i8, i8* %vtable.i72, i64 -24 + %48 = bitcast i8* %vbase.offset.ptr.i73 to i64* + %vbase.offset.i74 = load i64, i64* %48, align 8 + %add.ptr.i = getelementptr inbounds i8, i8* %26, i64 %vbase.offset.i74 + %_M_flags.i.i = getelementptr inbounds i8, i8* %add.ptr.i, i64 24 + %49 = bitcast i8* %_M_flags.i.i to i32* + %50 = load i32, i32* %49, align 8, !tbaa !57 + %and.i.i.i.i = and i32 %50, -261 + %or.i.i.i.i = or i32 %and.i.i.i.i, 4 + store i32 %or.i.i.i.i, i32* %49, align 4, !tbaa !54 + %call.i = call dereferenceable(272) %"class.std::basic_ostream"* @_ZNSo9_M_insertIdEERSoT_(%"class.std::basic_ostream"* nonnull %47, double %conv33) #2 + %51 = bitcast %"class.std::__cxx11::basic_string"* %print_str to i8* + call void @llvm.lifetime.start(i64 32, i8* nonnull %51) #2 + call void @_ZNKSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strEv(%"class.std::__cxx11::basic_string"* nonnull sret %print_str, %"class.std::__cxx11::basic_stringbuf"* %_M_stringbuf.i) #2 + %_M_p.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %print_str, i64 0, i32 0, i32 0 + %52 = load i8*, i8** %_M_p.i.i, align 8, !tbaa !56 + %_M_string_length.i = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %print_str, i64 0, i32 1 + %53 = load i64, i64* %_M_string_length.i, align 8, !tbaa !53 + %call41 = call i64 @fwrite(i8* %52, i64 1, i64 %53, %struct._IO_FILE* nonnull %call34) + %call42 = call i32 @fclose(%struct._IO_FILE* nonnull %call34) + %54 = load i8*, i8** %_M_p.i.i, align 8, !tbaa !56 + %55 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %print_str, i64 0, i32 2 + %arraydecay.i.i.i.i = bitcast %union.anon* %55 to i8* + %cmp.i.i.i = icmp eq i8* %54, %arraydecay.i.i.i.i + br i1 %cmp.i.i.i, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit, label %if.then.i.i + +if.then.i.i: ; preds = %if.then36 + call void @_ZdlPv(i8* %54) #2 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit + +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit: ; preds = %if.then36, %if.then.i.i + call void @llvm.lifetime.end(i64 32, i8* nonnull %51) #2 + %56 = load i64, i64* bitcast ([4 x i8*]* @_ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE to i64*), align 8 + store i64 %56, i64* %32, align 16, !tbaa !40 + %57 = load i64, i64* bitcast (i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @_ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE, i64 0, i64 3) to i64*), align 8 + %vtable.cast.i.i76 = inttoptr i64 %56 to i8* + %vbase.offset.ptr.i.i77 = getelementptr i8, i8* %vtable.cast.i.i76, i64 -24 + %58 = bitcast i8* %vbase.offset.ptr.i.i77 to i64* + %vbase.offset.i.i78 = load i64, i64* %58, align 8 + %add.ptr.i.i79 = getelementptr inbounds i8, i8* %26, i64 %vbase.offset.i.i78 + %59 = bitcast i8* %add.ptr.i.i79 to i64* + store i64 %57, i64* %59, align 8, !tbaa !40 + %60 = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1, i32 0, i32 0 + store i32 (...)** bitcast (i8** getelementptr inbounds ({ [16 x i8*] }, { [16 x i8*] }* @_ZTVNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE, i64 0, inrange i32 0, i64 2) to i32 (...)**), i32 (...)*** %60, align 8, !tbaa !40 + %_M_p.i.i.i.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1, i32 2, i32 0, i32 0 + %61 = load i8*, i8** %_M_p.i.i.i.i.i.i.i, align 8, !tbaa !56 + %cmp.i.i.i.i.i.i = icmp eq i8* %61, %.cast.i.i.i + br i1 %cmp.i.i.i.i.i.i, label %_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev.exit, label %if.then.i.i.i.i.i + +if.then.i.i.i.i.i: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit + call void @_ZdlPv(i8* %61) #2 + br label %_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev.exit + +_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev.exit: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit, %if.then.i.i.i.i.i + store i32 (...)** bitcast (i8** getelementptr inbounds ({ [16 x i8*] }, { [16 x i8*] }* @_ZTVSt15basic_streambufIcSt11char_traitsIcEE, i64 0, inrange i32 0, i64 2) to i32 (...)**), i32 (...)*** %60, align 8, !tbaa !40 + call void @_ZNSt6localeD1Ev(%"class.std::locale"* nonnull %_M_buf_locale.i.i.i) #2 + %62 = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 2, i32 0 + call void @_ZNSt8ios_baseD2Ev(%"class.std::ios_base"* %62) #2 + call void @llvm.lifetime.end(i64 376, i8* nonnull %26) #2 + br label %if.end43 + +if.end43: ; preds = %for.cond.cleanup, %_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev.exit + ret void +} + +; Function Attrs: nounwind uwtable +define void @_Z14tensorConvNodePvmS_m(i8* %t1, i64 %bytes1, i8* %t2, i64 %bytes2) #3 { +entry: + tail call void @__visc__hint(i32 4) #2 + tail call void (i32, ...) @__visc__attributes(i32 2, i8* %t1, i8* %t2, i32 0) #2 + %call = tail call i8* @__visc__tensor_convolution(i8* %t1, i8* %t2, i32 2, i32 2, i32 1, i32 1) #2 + tail call void (i32, ...) @__visc__return(i32 2, i8* %call, i64 0) #2 + ret void +} + +declare void @__visc__hint(i32) local_unnamed_addr #0 + +declare void @__visc__attributes(i32, ...) local_unnamed_addr #0 + +declare i8* @__visc__tensor_convolution(i8*, i8*, i32, i32, i32, i32) local_unnamed_addr #0 + +declare void @__visc__return(i32, ...) local_unnamed_addr #0 + +; Function Attrs: nounwind uwtable +define void @_Z13tensorAddNodePvmS_m(i8* %t1, i64 %bytest1, i8* %t2, i64 %bytest2) #3 { +entry: + tail call void @__visc__hint(i32 4) #2 + tail call void (i32, ...) @__visc__attributes(i32 2, i8* %t1, i8* %t2, i32 0) #2 + %call = tail call i8* @__visc__tensor_add(i8* %t1, i8* %t2) #2 + tail call void (i32, ...) @__visc__return(i32 2, i8* %call, i64 0) #2 + ret void +} + +declare i8* @__visc__tensor_add(i8*, i8*) local_unnamed_addr #0 + +; Function Attrs: nounwind uwtable +define void @_Z4rootPvmS_mS_mS_mS_m(i8* %x, i64 %x_bytes, i8* %conv1_w, i64 %conv1_w_bytes, i8* %conv1_b, i64 %conv1_b_bytes, i8* %conv2_w, i64 %conv2_w_bytes, i8* %conv2_b, i64 %conv2_b_bytes) #3 { +entry: + tail call void @__visc__hint(i32 1) #2 + tail call void (i32, ...) @__visc__attributes(i32 5, i8* %x, i8* %conv1_w, i8* %conv1_b, i8* %conv2_w, i8* %conv2_b, i32 0) #2 + %call = tail call i8* (i32, ...) @__visc__createNodeND(i32 0, void (i8*, i64, i8*, i64)* nonnull @_Z14tensorConvNodePvmS_m) #2 + %call1 = tail call i8* (i32, ...) @__visc__createNodeND(i32 0, void (i8*, i64, i8*, i64)* nonnull @_Z13tensorAddNodePvmS_m) #2 + tail call void @__visc__bindIn(i8* %call, i32 0, i32 0, i32 0) #2 + tail call void @__visc__bindIn(i8* %call, i32 1, i32 1, i32 0) #2 + tail call void @__visc__bindIn(i8* %call, i32 2, i32 2, i32 0) #2 + tail call void @__visc__bindIn(i8* %call, i32 3, i32 3, i32 0) #2 + %call2 = tail call i8* @__visc__edge(i8* %call, i8* %call1, i32 1, i32 0, i32 0, i32 0) #2 + %call3 = tail call i8* @__visc__edge(i8* %call, i8* %call1, i32 1, i32 1, i32 1, i32 0) #2 + tail call void @__visc__bindIn(i8* %call1, i32 4, i32 2, i32 0) #2 + tail call void @__visc__bindIn(i8* %call1, i32 5, i32 3, i32 0) #2 + tail call void @__visc__bindOut(i8* %call1, i32 0, i32 0, i32 0) #2 + tail call void @__visc__bindOut(i8* %call1, i32 1, i32 1, i32 0) #2 + ret void +} + +declare i8* @__visc__createNodeND(i32, ...) local_unnamed_addr #0 + +declare void @__visc__bindIn(i8*, i32, i32, i32) local_unnamed_addr #0 + +declare i8* @__visc__edge(i8*, i8*, i32, i32, i32, i32) local_unnamed_addr #0 + +declare void @__visc__bindOut(i8*, i32, i32, i32) local_unnamed_addr #0 + +; Function Attrs: norecurse nounwind uwtable +define i32 @main() local_unnamed_addr #6 { +entry: + %__dnew.i.i.i.i207 = alloca i64, align 8 + %__dnew.i.i.i.i166 = alloca i64, align 8 + %__dnew.i.i.i.i125 = alloca i64, align 8 + %__dnew.i.i.i.i84 = alloca i64, align 8 + %__dnew.i.i.i.i55 = alloca i64, align 8 + %__dnew.i.i.i.i = alloca i64, align 8 + %prefix = alloca %"class.std::__cxx11::basic_string", align 8 + %input_data_path = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp1 = alloca %"class.std::__cxx11::basic_string", align 8 + %conv1_w_path = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp3 = alloca %"class.std::__cxx11::basic_string", align 8 + %conv1_b_path = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp5 = alloca %"class.std::__cxx11::basic_string", align 8 + %conv2_w_path = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp7 = alloca %"class.std::__cxx11::basic_string", align 8 + %conv2_b_path = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp9 = alloca %"class.std::__cxx11::basic_string", align 8 + %0 = bitcast %"class.std::__cxx11::basic_string"* %prefix to i8* + call void @llvm.lifetime.start(i64 32, i8* nonnull %0) #2 + %1 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %prefix, i64 0, i32 2 + %2 = bitcast %"class.std::__cxx11::basic_string"* %prefix to %union.anon** + store %union.anon* %1, %union.anon** %2, align 8, !tbaa !52 + %3 = bitcast %union.anon* %1 to i8* + %4 = bitcast i64* %__dnew.i.i.i.i to i8* + call void @llvm.lifetime.start(i64 8, i8* nonnull %4) #2 + store i64 54, i64* %__dnew.i.i.i.i, align 8, !tbaa !12 + %call5.i.i.i.i = call i8* @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(%"class.std::__cxx11::basic_string"* nonnull %prefix, i64* nonnull dereferenceable(8) %__dnew.i.i.i.i, i64 0) #2 + %_M_p.i13.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %prefix, i64 0, i32 0, i32 0 + store i8* %call5.i.i.i.i, i8** %_M_p.i13.i.i.i.i, align 8, !tbaa !56 + %5 = load i64, i64* %__dnew.i.i.i.i, align 8, !tbaa !12 + %_M_allocated_capacity.i.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %prefix, i64 0, i32 2, i32 0 + store i64 %5, i64* %_M_allocated_capacity.i.i.i.i.i, align 8, !tbaa !12 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* %call5.i.i.i.i, i8* nonnull getelementptr inbounds ([55 x i8], [55 x i8]* @.str.23, i64 0, i64 0), i64 54, i32 1, i1 false) #2 + %_M_string_length.i.i.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %prefix, i64 0, i32 1 + store i64 %5, i64* %_M_string_length.i.i.i.i.i.i, align 8, !tbaa !53 + %arrayidx.i.i.i.i.i = getelementptr inbounds i8, i8* %call5.i.i.i.i, i64 %5 + store i8 0, i8* %arrayidx.i.i.i.i.i, align 1, !tbaa !36 + call void @llvm.lifetime.end(i64 8, i8* nonnull %4) #2 + %6 = bitcast %"class.std::__cxx11::basic_string"* %input_data_path to i8* + call void @llvm.lifetime.start(i64 32, i8* nonnull %6) #2 + %7 = bitcast %"class.std::__cxx11::basic_string"* %ref.tmp1 to i8* + call void @llvm.lifetime.start(i64 32, i8* nonnull %7) #2 + %8 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp1, i64 0, i32 2 + %9 = bitcast %"class.std::__cxx11::basic_string"* %ref.tmp1 to %union.anon** + store %union.anon* %8, %union.anon** %9, align 8, !tbaa !52 + %10 = bitcast %union.anon* %8 to i8* + %11 = bitcast i64* %__dnew.i.i.i.i55 to i8* + call void @llvm.lifetime.start(i64 8, i8* nonnull %11) #2 + store i64 34, i64* %__dnew.i.i.i.i55, align 8, !tbaa !12 + %call5.i.i.i.i60 = call i8* @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(%"class.std::__cxx11::basic_string"* nonnull %ref.tmp1, i64* nonnull dereferenceable(8) %__dnew.i.i.i.i55, i64 0) #2 + %_M_p.i13.i.i.i.i61 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp1, i64 0, i32 0, i32 0 + store i8* %call5.i.i.i.i60, i8** %_M_p.i13.i.i.i.i61, align 8, !tbaa !56 + %12 = load i64, i64* %__dnew.i.i.i.i55, align 8, !tbaa !12 + %_M_allocated_capacity.i.i.i.i.i62 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp1, i64 0, i32 2, i32 0 + store i64 %12, i64* %_M_allocated_capacity.i.i.i.i.i62, align 8, !tbaa !12 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* %call5.i.i.i.i60, i8* nonnull getelementptr inbounds ([35 x i8], [35 x i8]* @.str.24, i64 0, i64 0), i64 34, i32 1, i1 false) #2 + %_M_string_length.i.i.i.i.i.i68 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp1, i64 0, i32 1 + store i64 %12, i64* %_M_string_length.i.i.i.i.i.i68, align 8, !tbaa !53 + %arrayidx.i.i.i.i.i69 = getelementptr inbounds i8, i8* %call5.i.i.i.i60, i64 %12 + store i8 0, i8* %arrayidx.i.i.i.i.i69, align 1, !tbaa !36 + call void @llvm.lifetime.end(i64 8, i8* nonnull %11) #2 + %13 = load i64, i64* %_M_string_length.i.i.i.i.i.i, align 8, !tbaa !53, !noalias !62 + %14 = load i8*, i8** %_M_p.i13.i.i.i.i, align 8, !tbaa !56, !noalias !62 + %call3.i.i.i = call dereferenceable(32) %"class.std::__cxx11::basic_string"* @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm(%"class.std::__cxx11::basic_string"* nonnull %ref.tmp1, i64 0, i64 0, i8* %14, i64 %13) #2, !noalias !62 + %15 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %input_data_path, i64 0, i32 2 + %16 = bitcast %"class.std::__cxx11::basic_string"* %input_data_path to %union.anon** + store %union.anon* %15, %union.anon** %16, align 8, !tbaa !52, !alias.scope !62 + %_M_p.i.i23.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i, i64 0, i32 0, i32 0 + %17 = load i8*, i8** %_M_p.i.i23.i.i, align 8, !tbaa !56 + %18 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i, i64 0, i32 2 + %arraydecay.i.i.i.i71 = bitcast %union.anon* %18 to i8* + %cmp.i.i.i72 = icmp eq i8* %17, %arraydecay.i.i.i.i71 + br i1 %cmp.i.i.i72, label %if.then.i.i73, label %if.else.i.i + +if.then.i.i73: ; preds = %entry + %arraydecay.i.i.i = bitcast %union.anon* %15 to i8* + call void @llvm.memcpy.p0i8.p0i8.i64(i8* %arraydecay.i.i.i, i8* %17, i64 16, i32 1, i1 false) #2 + br label %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit + +if.else.i.i: ; preds = %entry + %_M_p.i21.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %input_data_path, i64 0, i32 0, i32 0 + store i8* %17, i8** %_M_p.i21.i.i, align 8, !tbaa !56, !alias.scope !62 + %_M_allocated_capacity.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i, i64 0, i32 2, i32 0 + %19 = load i64, i64* %_M_allocated_capacity.i.i, align 8, !tbaa !12 + %_M_allocated_capacity.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %input_data_path, i64 0, i32 2, i32 0 + store i64 %19, i64* %_M_allocated_capacity.i.i.i, align 8, !tbaa !12, !alias.scope !62 + br label %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit + +_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit: ; preds = %if.then.i.i73, %if.else.i.i + %_M_string_length.i20.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i, i64 0, i32 1 + %20 = load i64, i64* %_M_string_length.i20.i.i, align 8, !tbaa !53 + %_M_string_length.i.i2.i = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %input_data_path, i64 0, i32 1 + store i64 %20, i64* %_M_string_length.i.i2.i, align 8, !tbaa !53, !alias.scope !62 + %21 = bitcast %"class.std::__cxx11::basic_string"* %call3.i.i.i to %union.anon** + store %union.anon* %18, %union.anon** %21, align 8, !tbaa !56 + store i64 0, i64* %_M_string_length.i20.i.i, align 8, !tbaa !53 + store i8 0, i8* %arraydecay.i.i.i.i71, align 1, !tbaa !36 + %22 = load i8*, i8** %_M_p.i13.i.i.i.i61, align 8, !tbaa !56 + %cmp.i.i.i76 = icmp eq i8* %22, %10 + br i1 %cmp.i.i.i76, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit78, label %if.then.i.i77 + +if.then.i.i77: ; preds = %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit + call void @_ZdlPv(i8* %22) #2 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit78 + +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit78: ; preds = %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit, %if.then.i.i77 + call void @llvm.lifetime.end(i64 32, i8* nonnull %7) #2 + %23 = bitcast %"class.std::__cxx11::basic_string"* %conv1_w_path to i8* + call void @llvm.lifetime.start(i64 32, i8* nonnull %23) #2 + %24 = bitcast %"class.std::__cxx11::basic_string"* %ref.tmp3 to i8* + call void @llvm.lifetime.start(i64 32, i8* nonnull %24) #2 + %25 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp3, i64 0, i32 2 + %26 = bitcast %"class.std::__cxx11::basic_string"* %ref.tmp3 to %union.anon** + store %union.anon* %25, %union.anon** %26, align 8, !tbaa !52 + %27 = bitcast %union.anon* %25 to i8* + %28 = bitcast i64* %__dnew.i.i.i.i84 to i8* + call void @llvm.lifetime.start(i64 8, i8* nonnull %28) #2 + store i64 22, i64* %__dnew.i.i.i.i84, align 8, !tbaa !12 + %call5.i.i.i.i89 = call i8* @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(%"class.std::__cxx11::basic_string"* nonnull %ref.tmp3, i64* nonnull dereferenceable(8) %__dnew.i.i.i.i84, i64 0) #2 + %_M_p.i13.i.i.i.i90 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp3, i64 0, i32 0, i32 0 + store i8* %call5.i.i.i.i89, i8** %_M_p.i13.i.i.i.i90, align 8, !tbaa !56 + %29 = load i64, i64* %__dnew.i.i.i.i84, align 8, !tbaa !12 + %_M_allocated_capacity.i.i.i.i.i91 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp3, i64 0, i32 2, i32 0 + store i64 %29, i64* %_M_allocated_capacity.i.i.i.i.i91, align 8, !tbaa !12 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* %call5.i.i.i.i89, i8* nonnull getelementptr inbounds ([23 x i8], [23 x i8]* @.str.25, i64 0, i64 0), i64 22, i32 1, i1 false) #2 + %_M_string_length.i.i.i.i.i.i97 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp3, i64 0, i32 1 + store i64 %29, i64* %_M_string_length.i.i.i.i.i.i97, align 8, !tbaa !53 + %30 = load i8*, i8** %_M_p.i13.i.i.i.i90, align 8, !tbaa !56 + %arrayidx.i.i.i.i.i98 = getelementptr inbounds i8, i8* %30, i64 %29 + store i8 0, i8* %arrayidx.i.i.i.i.i98, align 1, !tbaa !36 + call void @llvm.lifetime.end(i64 8, i8* nonnull %28) #2 + %31 = load i64, i64* %_M_string_length.i.i.i.i.i.i, align 8, !tbaa !53, !noalias !65 + %32 = load i8*, i8** %_M_p.i13.i.i.i.i, align 8, !tbaa !56, !noalias !65 + %call3.i.i.i102 = call dereferenceable(32) %"class.std::__cxx11::basic_string"* @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm(%"class.std::__cxx11::basic_string"* nonnull %ref.tmp3, i64 0, i64 0, i8* %32, i64 %31) #2, !noalias !65 + %33 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv1_w_path, i64 0, i32 2 + %34 = bitcast %"class.std::__cxx11::basic_string"* %conv1_w_path to %union.anon** + store %union.anon* %33, %union.anon** %34, align 8, !tbaa !52, !alias.scope !65 + %_M_p.i.i23.i.i103 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i102, i64 0, i32 0, i32 0 + %35 = load i8*, i8** %_M_p.i.i23.i.i103, align 8, !tbaa !56 + %36 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i102, i64 0, i32 2 + %arraydecay.i.i.i.i104 = bitcast %union.anon* %36 to i8* + %cmp.i.i.i105 = icmp eq i8* %35, %arraydecay.i.i.i.i104 + br i1 %cmp.i.i.i105, label %if.then.i.i107, label %if.else.i.i111 + +if.then.i.i107: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit78 + %arraydecay.i.i.i106 = bitcast %union.anon* %33 to i8* + call void @llvm.memcpy.p0i8.p0i8.i64(i8* %arraydecay.i.i.i106, i8* %35, i64 16, i32 1, i1 false) #2 + br label %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit114 + +if.else.i.i111: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit78 + %_M_p.i21.i.i108 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv1_w_path, i64 0, i32 0, i32 0 + store i8* %35, i8** %_M_p.i21.i.i108, align 8, !tbaa !56, !alias.scope !65 + %_M_allocated_capacity.i.i109 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i102, i64 0, i32 2, i32 0 + %37 = load i64, i64* %_M_allocated_capacity.i.i109, align 8, !tbaa !12 + %_M_allocated_capacity.i.i.i110 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv1_w_path, i64 0, i32 2, i32 0 + store i64 %37, i64* %_M_allocated_capacity.i.i.i110, align 8, !tbaa !12, !alias.scope !65 + br label %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit114 + +_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit114: ; preds = %if.then.i.i107, %if.else.i.i111 + %_M_string_length.i20.i.i112 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i102, i64 0, i32 1 + %38 = load i64, i64* %_M_string_length.i20.i.i112, align 8, !tbaa !53 + %_M_string_length.i.i2.i113 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv1_w_path, i64 0, i32 1 + store i64 %38, i64* %_M_string_length.i.i2.i113, align 8, !tbaa !53, !alias.scope !65 + %39 = bitcast %"class.std::__cxx11::basic_string"* %call3.i.i.i102 to %union.anon** + store %union.anon* %36, %union.anon** %39, align 8, !tbaa !56 + store i64 0, i64* %_M_string_length.i20.i.i112, align 8, !tbaa !53 + store i8 0, i8* %arraydecay.i.i.i.i104, align 1, !tbaa !36 + %40 = load i8*, i8** %_M_p.i13.i.i.i.i90, align 8, !tbaa !56 + %cmp.i.i.i117 = icmp eq i8* %40, %27 + br i1 %cmp.i.i.i117, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit119, label %if.then.i.i118 + +if.then.i.i118: ; preds = %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit114 + call void @_ZdlPv(i8* %40) #2 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit119 + +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit119: ; preds = %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit114, %if.then.i.i118 + call void @llvm.lifetime.end(i64 32, i8* nonnull %24) #2 + %41 = bitcast %"class.std::__cxx11::basic_string"* %conv1_b_path to i8* + call void @llvm.lifetime.start(i64 32, i8* nonnull %41) #2 + %42 = bitcast %"class.std::__cxx11::basic_string"* %ref.tmp5 to i8* + call void @llvm.lifetime.start(i64 32, i8* nonnull %42) #2 + %43 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp5, i64 0, i32 2 + %44 = bitcast %"class.std::__cxx11::basic_string"* %ref.tmp5 to %union.anon** + store %union.anon* %43, %union.anon** %44, align 8, !tbaa !52 + %45 = bitcast %union.anon* %43 to i8* + %46 = bitcast i64* %__dnew.i.i.i.i125 to i8* + call void @llvm.lifetime.start(i64 8, i8* nonnull %46) #2 + store i64 27, i64* %__dnew.i.i.i.i125, align 8, !tbaa !12 + %call5.i.i.i.i130 = call i8* @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(%"class.std::__cxx11::basic_string"* nonnull %ref.tmp5, i64* nonnull dereferenceable(8) %__dnew.i.i.i.i125, i64 0) #2 + %_M_p.i13.i.i.i.i131 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp5, i64 0, i32 0, i32 0 + store i8* %call5.i.i.i.i130, i8** %_M_p.i13.i.i.i.i131, align 8, !tbaa !56 + %47 = load i64, i64* %__dnew.i.i.i.i125, align 8, !tbaa !12 + %_M_allocated_capacity.i.i.i.i.i132 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp5, i64 0, i32 2, i32 0 + store i64 %47, i64* %_M_allocated_capacity.i.i.i.i.i132, align 8, !tbaa !12 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* %call5.i.i.i.i130, i8* nonnull getelementptr inbounds ([28 x i8], [28 x i8]* @.str.26, i64 0, i64 0), i64 27, i32 1, i1 false) #2 + %_M_string_length.i.i.i.i.i.i138 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp5, i64 0, i32 1 + store i64 %47, i64* %_M_string_length.i.i.i.i.i.i138, align 8, !tbaa !53 + %48 = load i8*, i8** %_M_p.i13.i.i.i.i131, align 8, !tbaa !56 + %arrayidx.i.i.i.i.i139 = getelementptr inbounds i8, i8* %48, i64 %47 + store i8 0, i8* %arrayidx.i.i.i.i.i139, align 1, !tbaa !36 + call void @llvm.lifetime.end(i64 8, i8* nonnull %46) #2 + %49 = load i64, i64* %_M_string_length.i.i.i.i.i.i, align 8, !tbaa !53, !noalias !68 + %50 = load i8*, i8** %_M_p.i13.i.i.i.i, align 8, !tbaa !56, !noalias !68 + %call3.i.i.i143 = call dereferenceable(32) %"class.std::__cxx11::basic_string"* @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm(%"class.std::__cxx11::basic_string"* nonnull %ref.tmp5, i64 0, i64 0, i8* %50, i64 %49) #2, !noalias !68 + %51 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv1_b_path, i64 0, i32 2 + %52 = bitcast %"class.std::__cxx11::basic_string"* %conv1_b_path to %union.anon** + store %union.anon* %51, %union.anon** %52, align 8, !tbaa !52, !alias.scope !68 + %_M_p.i.i23.i.i144 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i143, i64 0, i32 0, i32 0 + %53 = load i8*, i8** %_M_p.i.i23.i.i144, align 8, !tbaa !56 + %54 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i143, i64 0, i32 2 + %arraydecay.i.i.i.i145 = bitcast %union.anon* %54 to i8* + %cmp.i.i.i146 = icmp eq i8* %53, %arraydecay.i.i.i.i145 + br i1 %cmp.i.i.i146, label %if.then.i.i148, label %if.else.i.i152 + +if.then.i.i148: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit119 + %arraydecay.i.i.i147 = bitcast %union.anon* %51 to i8* + call void @llvm.memcpy.p0i8.p0i8.i64(i8* %arraydecay.i.i.i147, i8* %53, i64 16, i32 1, i1 false) #2 + br label %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit155 + +if.else.i.i152: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit119 + %_M_p.i21.i.i149 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv1_b_path, i64 0, i32 0, i32 0 + store i8* %53, i8** %_M_p.i21.i.i149, align 8, !tbaa !56, !alias.scope !68 + %_M_allocated_capacity.i.i150 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i143, i64 0, i32 2, i32 0 + %55 = load i64, i64* %_M_allocated_capacity.i.i150, align 8, !tbaa !12 + %_M_allocated_capacity.i.i.i151 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv1_b_path, i64 0, i32 2, i32 0 + store i64 %55, i64* %_M_allocated_capacity.i.i.i151, align 8, !tbaa !12, !alias.scope !68 + br label %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit155 + +_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit155: ; preds = %if.then.i.i148, %if.else.i.i152 + %_M_string_length.i20.i.i153 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i143, i64 0, i32 1 + %56 = load i64, i64* %_M_string_length.i20.i.i153, align 8, !tbaa !53 + %_M_string_length.i.i2.i154 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv1_b_path, i64 0, i32 1 + store i64 %56, i64* %_M_string_length.i.i2.i154, align 8, !tbaa !53, !alias.scope !68 + %57 = bitcast %"class.std::__cxx11::basic_string"* %call3.i.i.i143 to %union.anon** + store %union.anon* %54, %union.anon** %57, align 8, !tbaa !56 + store i64 0, i64* %_M_string_length.i20.i.i153, align 8, !tbaa !53 + store i8 0, i8* %arraydecay.i.i.i.i145, align 1, !tbaa !36 + %58 = load i8*, i8** %_M_p.i13.i.i.i.i131, align 8, !tbaa !56 + %cmp.i.i.i158 = icmp eq i8* %58, %45 + br i1 %cmp.i.i.i158, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit160, label %if.then.i.i159 + +if.then.i.i159: ; preds = %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit155 + call void @_ZdlPv(i8* %58) #2 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit160 + +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit160: ; preds = %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit155, %if.then.i.i159 + call void @llvm.lifetime.end(i64 32, i8* nonnull %42) #2 + %59 = bitcast %"class.std::__cxx11::basic_string"* %conv2_w_path to i8* + call void @llvm.lifetime.start(i64 32, i8* nonnull %59) #2 + %60 = bitcast %"class.std::__cxx11::basic_string"* %ref.tmp7 to i8* + call void @llvm.lifetime.start(i64 32, i8* nonnull %60) #2 + %61 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp7, i64 0, i32 2 + %62 = bitcast %"class.std::__cxx11::basic_string"* %ref.tmp7 to %union.anon** + store %union.anon* %61, %union.anon** %62, align 8, !tbaa !52 + %63 = bitcast %union.anon* %61 to i8* + %64 = bitcast i64* %__dnew.i.i.i.i166 to i8* + call void @llvm.lifetime.start(i64 8, i8* nonnull %64) #2 + store i64 22, i64* %__dnew.i.i.i.i166, align 8, !tbaa !12 + %call5.i.i.i.i171 = call i8* @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(%"class.std::__cxx11::basic_string"* nonnull %ref.tmp7, i64* nonnull dereferenceable(8) %__dnew.i.i.i.i166, i64 0) #2 + %_M_p.i13.i.i.i.i172 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp7, i64 0, i32 0, i32 0 + store i8* %call5.i.i.i.i171, i8** %_M_p.i13.i.i.i.i172, align 8, !tbaa !56 + %65 = load i64, i64* %__dnew.i.i.i.i166, align 8, !tbaa !12 + %_M_allocated_capacity.i.i.i.i.i173 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp7, i64 0, i32 2, i32 0 + store i64 %65, i64* %_M_allocated_capacity.i.i.i.i.i173, align 8, !tbaa !12 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* %call5.i.i.i.i171, i8* nonnull getelementptr inbounds ([23 x i8], [23 x i8]* @.str.27, i64 0, i64 0), i64 22, i32 1, i1 false) #2 + %_M_string_length.i.i.i.i.i.i179 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp7, i64 0, i32 1 + store i64 %65, i64* %_M_string_length.i.i.i.i.i.i179, align 8, !tbaa !53 + %66 = load i8*, i8** %_M_p.i13.i.i.i.i172, align 8, !tbaa !56 + %arrayidx.i.i.i.i.i180 = getelementptr inbounds i8, i8* %66, i64 %65 + store i8 0, i8* %arrayidx.i.i.i.i.i180, align 1, !tbaa !36 + call void @llvm.lifetime.end(i64 8, i8* nonnull %64) #2 + %67 = load i64, i64* %_M_string_length.i.i.i.i.i.i, align 8, !tbaa !53, !noalias !71 + %68 = load i8*, i8** %_M_p.i13.i.i.i.i, align 8, !tbaa !56, !noalias !71 + %call3.i.i.i184 = call dereferenceable(32) %"class.std::__cxx11::basic_string"* @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm(%"class.std::__cxx11::basic_string"* nonnull %ref.tmp7, i64 0, i64 0, i8* %68, i64 %67) #2, !noalias !71 + %69 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv2_w_path, i64 0, i32 2 + %70 = bitcast %"class.std::__cxx11::basic_string"* %conv2_w_path to %union.anon** + store %union.anon* %69, %union.anon** %70, align 8, !tbaa !52, !alias.scope !71 + %_M_p.i.i23.i.i185 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i184, i64 0, i32 0, i32 0 + %71 = load i8*, i8** %_M_p.i.i23.i.i185, align 8, !tbaa !56 + %72 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i184, i64 0, i32 2 + %arraydecay.i.i.i.i186 = bitcast %union.anon* %72 to i8* + %cmp.i.i.i187 = icmp eq i8* %71, %arraydecay.i.i.i.i186 + br i1 %cmp.i.i.i187, label %if.then.i.i189, label %if.else.i.i193 + +if.then.i.i189: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit160 + %arraydecay.i.i.i188 = bitcast %union.anon* %69 to i8* + call void @llvm.memcpy.p0i8.p0i8.i64(i8* %arraydecay.i.i.i188, i8* %71, i64 16, i32 1, i1 false) #2 + br label %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit196 + +if.else.i.i193: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit160 + %_M_p.i21.i.i190 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv2_w_path, i64 0, i32 0, i32 0 + store i8* %71, i8** %_M_p.i21.i.i190, align 8, !tbaa !56, !alias.scope !71 + %_M_allocated_capacity.i.i191 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i184, i64 0, i32 2, i32 0 + %73 = load i64, i64* %_M_allocated_capacity.i.i191, align 8, !tbaa !12 + %_M_allocated_capacity.i.i.i192 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv2_w_path, i64 0, i32 2, i32 0 + store i64 %73, i64* %_M_allocated_capacity.i.i.i192, align 8, !tbaa !12, !alias.scope !71 + br label %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit196 + +_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit196: ; preds = %if.then.i.i189, %if.else.i.i193 + %_M_string_length.i20.i.i194 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i184, i64 0, i32 1 + %74 = load i64, i64* %_M_string_length.i20.i.i194, align 8, !tbaa !53 + %_M_string_length.i.i2.i195 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv2_w_path, i64 0, i32 1 + store i64 %74, i64* %_M_string_length.i.i2.i195, align 8, !tbaa !53, !alias.scope !71 + %75 = bitcast %"class.std::__cxx11::basic_string"* %call3.i.i.i184 to %union.anon** + store %union.anon* %72, %union.anon** %75, align 8, !tbaa !56 + store i64 0, i64* %_M_string_length.i20.i.i194, align 8, !tbaa !53 + store i8 0, i8* %arraydecay.i.i.i.i186, align 1, !tbaa !36 + %76 = load i8*, i8** %_M_p.i13.i.i.i.i172, align 8, !tbaa !56 + %cmp.i.i.i199 = icmp eq i8* %76, %63 + br i1 %cmp.i.i.i199, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit201, label %if.then.i.i200 + +if.then.i.i200: ; preds = %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit196 + call void @_ZdlPv(i8* %76) #2 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit201 + +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit201: ; preds = %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit196, %if.then.i.i200 + call void @llvm.lifetime.end(i64 32, i8* nonnull %60) #2 + %77 = bitcast %"class.std::__cxx11::basic_string"* %conv2_b_path to i8* + call void @llvm.lifetime.start(i64 32, i8* nonnull %77) #2 + %78 = bitcast %"class.std::__cxx11::basic_string"* %ref.tmp9 to i8* + call void @llvm.lifetime.start(i64 32, i8* nonnull %78) #2 + %79 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp9, i64 0, i32 2 + %80 = bitcast %"class.std::__cxx11::basic_string"* %ref.tmp9 to %union.anon** + store %union.anon* %79, %union.anon** %80, align 8, !tbaa !52 + %81 = bitcast %union.anon* %79 to i8* + %82 = bitcast i64* %__dnew.i.i.i.i207 to i8* + call void @llvm.lifetime.start(i64 8, i8* nonnull %82) #2 + store i64 27, i64* %__dnew.i.i.i.i207, align 8, !tbaa !12 + %call5.i.i.i.i212 = call i8* @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(%"class.std::__cxx11::basic_string"* nonnull %ref.tmp9, i64* nonnull dereferenceable(8) %__dnew.i.i.i.i207, i64 0) #2 + %_M_p.i13.i.i.i.i213 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp9, i64 0, i32 0, i32 0 + store i8* %call5.i.i.i.i212, i8** %_M_p.i13.i.i.i.i213, align 8, !tbaa !56 + %83 = load i64, i64* %__dnew.i.i.i.i207, align 8, !tbaa !12 + %_M_allocated_capacity.i.i.i.i.i214 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp9, i64 0, i32 2, i32 0 + store i64 %83, i64* %_M_allocated_capacity.i.i.i.i.i214, align 8, !tbaa !12 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* %call5.i.i.i.i212, i8* nonnull getelementptr inbounds ([28 x i8], [28 x i8]* @.str.28, i64 0, i64 0), i64 27, i32 1, i1 false) #2 + %_M_string_length.i.i.i.i.i.i220 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp9, i64 0, i32 1 + store i64 %83, i64* %_M_string_length.i.i.i.i.i.i220, align 8, !tbaa !53 + %84 = load i8*, i8** %_M_p.i13.i.i.i.i213, align 8, !tbaa !56 + %arrayidx.i.i.i.i.i221 = getelementptr inbounds i8, i8* %84, i64 %83 + store i8 0, i8* %arrayidx.i.i.i.i.i221, align 1, !tbaa !36 + call void @llvm.lifetime.end(i64 8, i8* nonnull %82) #2 + %85 = load i64, i64* %_M_string_length.i.i.i.i.i.i, align 8, !tbaa !53, !noalias !74 + %86 = load i8*, i8** %_M_p.i13.i.i.i.i, align 8, !tbaa !56, !noalias !74 + %call3.i.i.i225 = call dereferenceable(32) %"class.std::__cxx11::basic_string"* @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm(%"class.std::__cxx11::basic_string"* nonnull %ref.tmp9, i64 0, i64 0, i8* %86, i64 %85) #2, !noalias !74 + %87 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv2_b_path, i64 0, i32 2 + %88 = bitcast %"class.std::__cxx11::basic_string"* %conv2_b_path to %union.anon** + store %union.anon* %87, %union.anon** %88, align 8, !tbaa !52, !alias.scope !74 + %_M_p.i.i23.i.i226 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i225, i64 0, i32 0, i32 0 + %89 = load i8*, i8** %_M_p.i.i23.i.i226, align 8, !tbaa !56 + %90 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i225, i64 0, i32 2 + %arraydecay.i.i.i.i227 = bitcast %union.anon* %90 to i8* + %cmp.i.i.i228 = icmp eq i8* %89, %arraydecay.i.i.i.i227 + br i1 %cmp.i.i.i228, label %if.then.i.i230, label %if.else.i.i234 + +if.then.i.i230: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit201 + %arraydecay.i.i.i229 = bitcast %union.anon* %87 to i8* + call void @llvm.memcpy.p0i8.p0i8.i64(i8* %arraydecay.i.i.i229, i8* %89, i64 16, i32 1, i1 false) #2 + br label %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit237 + +if.else.i.i234: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit201 + %_M_p.i21.i.i231 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv2_b_path, i64 0, i32 0, i32 0 + store i8* %89, i8** %_M_p.i21.i.i231, align 8, !tbaa !56, !alias.scope !74 + %_M_allocated_capacity.i.i232 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i225, i64 0, i32 2, i32 0 + %91 = load i64, i64* %_M_allocated_capacity.i.i232, align 8, !tbaa !12 + %_M_allocated_capacity.i.i.i233 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv2_b_path, i64 0, i32 2, i32 0 + store i64 %91, i64* %_M_allocated_capacity.i.i.i233, align 8, !tbaa !12, !alias.scope !74 + br label %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit237 + +_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit237: ; preds = %if.then.i.i230, %if.else.i.i234 + %_M_string_length.i20.i.i235 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i225, i64 0, i32 1 + %92 = load i64, i64* %_M_string_length.i20.i.i235, align 8, !tbaa !53 + %_M_string_length.i.i2.i236 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv2_b_path, i64 0, i32 1 + store i64 %92, i64* %_M_string_length.i.i2.i236, align 8, !tbaa !53, !alias.scope !74 + %93 = bitcast %"class.std::__cxx11::basic_string"* %call3.i.i.i225 to %union.anon** + store %union.anon* %90, %union.anon** %93, align 8, !tbaa !56 + store i64 0, i64* %_M_string_length.i20.i.i235, align 8, !tbaa !53 + store i8 0, i8* %arraydecay.i.i.i.i227, align 1, !tbaa !36 + %94 = load i8*, i8** %_M_p.i13.i.i.i.i213, align 8, !tbaa !56 + %cmp.i.i.i240 = icmp eq i8* %94, %81 + br i1 %cmp.i.i.i240, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit242, label %if.then.i.i241 + +if.then.i.i241: ; preds = %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit237 + call void @_ZdlPv(i8* %94) #2 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit242 + +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit242: ; preds = %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit237, %if.then.i.i241 + call void @llvm.lifetime.end(i64 32, i8* nonnull %78) #2 + %_M_p.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %input_data_path, i64 0, i32 0, i32 0 + %95 = load i8*, i8** %_M_p.i.i, align 8, !tbaa !56 + %call11 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.29, i64 0, i64 0), i8* %95) + %96 = load i8*, i8** %_M_p.i.i, align 8, !tbaa !56 + %call13 = call %struct.Tensor* @_Z18readTrainedWeightsPKciiiii(i8* %96, i32 0, i32 1000, i32 1, i32 28, i32 28) + %_M_p.i.i245 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv1_w_path, i64 0, i32 0, i32 0 + %97 = load i8*, i8** %_M_p.i.i245, align 8, !tbaa !56 + %call15 = call %struct.Tensor* @_Z18readTrainedWeightsPKciiiii(i8* %97, i32 0, i32 32, i32 1, i32 5, i32 5) + %_M_p.i.i247 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv1_b_path, i64 0, i32 0, i32 0 + %98 = load i8*, i8** %_M_p.i.i247, align 8, !tbaa !56 + %call17 = call %struct.Tensor* @_Z18readTrainedWeightsPKciiiii(i8* %98, i32 0, i32 1, i32 32, i32 1, i32 1) + %_M_p.i.i246 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv2_w_path, i64 0, i32 0, i32 0 + %99 = load i8*, i8** %_M_p.i.i246, align 8, !tbaa !56 + %call19 = call %struct.Tensor* @_Z18readTrainedWeightsPKciiiii(i8* %99, i32 0, i32 64, i32 32, i32 5, i32 5) + %_M_p.i.i244 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv2_b_path, i64 0, i32 0, i32 0 + %100 = load i8*, i8** %_M_p.i.i244, align 8, !tbaa !56 + %call21 = call %struct.Tensor* @_Z18readTrainedWeightsPKciiiii(i8* %100, i32 0, i32 1, i32 64, i32 1, i32 1) + call void @__visc__init() #2 + %call22 = call noalias i8* @malloc(i64 96) #2 + %x23 = bitcast i8* %call22 to i8** + %101 = bitcast i8* %call22 to %struct.Tensor** + store %struct.Tensor* %call13, %struct.Tensor** %101, align 1, !tbaa !77 + %x_bytes = getelementptr inbounds i8, i8* %call22, i64 8 + %102 = bitcast i8* %x_bytes to i64* + store i64 0, i64* %102, align 1, !tbaa !80 + %conv1_w24 = getelementptr inbounds i8, i8* %call22, i64 16 + %103 = bitcast i8* %conv1_w24 to %struct.Tensor** + store %struct.Tensor* %call15, %struct.Tensor** %103, align 1, !tbaa !81 + %conv1_w_bytes = getelementptr inbounds i8, i8* %call22, i64 24 + %104 = bitcast i8* %conv1_w_bytes to i64* + store i64 0, i64* %104, align 1, !tbaa !82 + %conv1_b25 = getelementptr inbounds i8, i8* %call22, i64 32 + %105 = bitcast i8* %conv1_b25 to %struct.Tensor** + store %struct.Tensor* %call17, %struct.Tensor** %105, align 1, !tbaa !83 + %conv1_b_bytes = getelementptr inbounds i8, i8* %call22, i64 40 + %106 = bitcast i8* %conv1_b_bytes to i64* + store i64 0, i64* %106, align 1, !tbaa !84 + %conv2_w26 = getelementptr inbounds i8, i8* %call22, i64 48 + %107 = bitcast i8* %conv2_w26 to %struct.Tensor** + store %struct.Tensor* %call19, %struct.Tensor** %107, align 1, !tbaa !85 + %conv2_w_bytes = getelementptr inbounds i8, i8* %call22, i64 56 + %108 = bitcast i8* %conv2_w_bytes to i64* + store i64 0, i64* %108, align 1, !tbaa !86 + %conv2_b27 = getelementptr inbounds i8, i8* %call22, i64 64 + %109 = bitcast i8* %conv2_b27 to %struct.Tensor** + store %struct.Tensor* %call21, %struct.Tensor** %109, align 1, !tbaa !87 + %conv2_b_bytes = getelementptr inbounds i8, i8* %call22, i64 72 + %110 = bitcast i8* %conv2_b_bytes to i64* + store i64 0, i64* %110, align 1, !tbaa !88 + %call28 = call i8* (i32, ...) @__visc__launch(i32 0, void (i8*, i64, i8*, i64, i8*, i64, i8*, i64, i8*, i64)* nonnull @_Z4rootPvmS_mS_mS_mS_m, i8* %call22) #2 + call void @__visc__wait(i8* %call28) #2 + %111 = load i8*, i8** %x23, align 1, !tbaa !77 + call void @hpvm_request_tensor(i8* %111, i32 0) #2 + call void @__visc__cleanup() #2 + %112 = load i8*, i8** %_M_p.i.i244, align 8, !tbaa !56 + %arraydecay.i.i.i.i203 = bitcast %union.anon* %87 to i8* + %cmp.i.i.i204 = icmp eq i8* %112, %arraydecay.i.i.i.i203 + br i1 %cmp.i.i.i204, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit206, label %if.then.i.i205 + +if.then.i.i205: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit242 + call void @_ZdlPv(i8* %112) #2 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit206 + +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit206: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit242, %if.then.i.i205 + call void @llvm.lifetime.end(i64 32, i8* nonnull %77) #2 + %113 = load i8*, i8** %_M_p.i.i246, align 8, !tbaa !56 + %arraydecay.i.i.i.i162 = bitcast %union.anon* %69 to i8* + %cmp.i.i.i163 = icmp eq i8* %113, %arraydecay.i.i.i.i162 + br i1 %cmp.i.i.i163, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit165, label %if.then.i.i164 + +if.then.i.i164: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit206 + call void @_ZdlPv(i8* %113) #2 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit165 + +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit165: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit206, %if.then.i.i164 + call void @llvm.lifetime.end(i64 32, i8* nonnull %59) #2 + %114 = load i8*, i8** %_M_p.i.i247, align 8, !tbaa !56 + %arraydecay.i.i.i.i121 = bitcast %union.anon* %51 to i8* + %cmp.i.i.i122 = icmp eq i8* %114, %arraydecay.i.i.i.i121 + br i1 %cmp.i.i.i122, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit124, label %if.then.i.i123 + +if.then.i.i123: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit165 + call void @_ZdlPv(i8* %114) #2 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit124 + +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit124: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit165, %if.then.i.i123 + call void @llvm.lifetime.end(i64 32, i8* nonnull %41) #2 + %115 = load i8*, i8** %_M_p.i.i245, align 8, !tbaa !56 + %arraydecay.i.i.i.i80 = bitcast %union.anon* %33 to i8* + %cmp.i.i.i81 = icmp eq i8* %115, %arraydecay.i.i.i.i80 + br i1 %cmp.i.i.i81, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit83, label %if.then.i.i82 + +if.then.i.i82: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit124 + call void @_ZdlPv(i8* %115) #2 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit83 + +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit83: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit124, %if.then.i.i82 + call void @llvm.lifetime.end(i64 32, i8* nonnull %23) #2 + %116 = load i8*, i8** %_M_p.i.i, align 8, !tbaa !56 + %arraydecay.i.i.i.i51 = bitcast %union.anon* %15 to i8* + %cmp.i.i.i52 = icmp eq i8* %116, %arraydecay.i.i.i.i51 + br i1 %cmp.i.i.i52, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit54, label %if.then.i.i53 + +if.then.i.i53: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit83 + call void @_ZdlPv(i8* %116) #2 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit54 + +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit54: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit83, %if.then.i.i53 + call void @llvm.lifetime.end(i64 32, i8* nonnull %6) #2 + %117 = load i8*, i8** %_M_p.i13.i.i.i.i, align 8, !tbaa !56 + %cmp.i.i.i = icmp eq i8* %117, %3 + br i1 %cmp.i.i.i, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit, label %if.then.i.i + +if.then.i.i: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit54 + call void @_ZdlPv(i8* %117) #2 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit + +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit54, %if.then.i.i + call void @llvm.lifetime.end(i64 32, i8* nonnull %0) #2 + ret i32 0 +} + +declare void @__visc__init() local_unnamed_addr #0 + +declare i8* @__visc__launch(i32, ...) local_unnamed_addr #0 + +declare void @__visc__wait(i8*) local_unnamed_addr #0 + +declare void @__visc__cleanup() local_unnamed_addr #0 + +; Function Attrs: nobuiltin nounwind +declare void @_ZdlPv(i8*) local_unnamed_addr #7 + +declare void @_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E(%"class.std::basic_ios"*, %"class.std::basic_streambuf"*) local_unnamed_addr #0 + +; Function Attrs: nounwind +declare void @_ZNSt8ios_baseC2Ev(%"class.std::ios_base"*) unnamed_addr #1 + +; Function Attrs: nounwind +declare void @_ZNSt6localeC1Ev(%"class.std::locale"*) unnamed_addr #1 + +; Function Attrs: nounwind +declare void @_ZNSt6localeD1Ev(%"class.std::locale"*) unnamed_addr #1 + +; Function Attrs: nounwind +declare void @_ZNSt8ios_baseD2Ev(%"class.std::ios_base"*) unnamed_addr #1 + +declare dereferenceable(272) %"class.std::basic_ostream"* @_ZNSo9_M_insertIdEERSoT_(%"class.std::basic_ostream"*, double) local_unnamed_addr #0 + +; Function Attrs: nounwind uwtable +declare void @_ZNKSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strEv(%"class.std::__cxx11::basic_string"* noalias sret, %"class.std::__cxx11::basic_stringbuf"*) local_unnamed_addr #3 align 2 + +declare i8* @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(%"class.std::__cxx11::basic_string"*, i64* dereferenceable(8), i64) local_unnamed_addr #0 + +; Function Attrs: argmemonly nounwind +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture writeonly, i8* nocapture readonly, i64, i32, i1) #4 + +declare dereferenceable(32) %"class.std::__cxx11::basic_string"* @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm(%"class.std::__cxx11::basic_string"*, i64, i64, i8*, i64) local_unnamed_addr #0 + +; Function Attrs: nounwind uwtable +define internal void @_GLOBAL__sub_I_lenet.cpp() #3 section ".text.startup" { +entry: + tail call void @_ZNSt8ios_base4InitC1Ev(%"class.std::ios_base::Init"* nonnull @_ZStL8__ioinit) #2 + %0 = tail call i32 @__cxa_atexit(void (i8*)* bitcast (void (%"class.std::ios_base::Init"*)* @_ZNSt8ios_base4InitD1Ev to void (i8*)*), i8* getelementptr inbounds (%"class.std::ios_base::Init", %"class.std::ios_base::Init"* @_ZStL8__ioinit, i64 0, i32 0), i8* nonnull @__dso_handle) #2 + ret void +} + +; Function Attrs: nounwind +declare i32 @puts(i8* nocapture readonly) #2 + +declare i32 @putchar(i32) + +; Function Attrs: argmemonly nounwind +declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i32, i1) #4 + +attributes #0 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="true" "no-nans-fp-math"="true" "no-signed-zeros-fp-math"="true" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="true" "use-soft-float"="false" } +attributes #1 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="true" "no-nans-fp-math"="true" "no-signed-zeros-fp-math"="true" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="true" "use-soft-float"="false" } +attributes #2 = { nounwind } +attributes #3 = { nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="true" "no-jump-tables"="false" "no-nans-fp-math"="true" "no-signed-zeros-fp-math"="true" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="true" "use-soft-float"="false" } +attributes #4 = { argmemonly nounwind } +attributes #5 = { noreturn nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="true" "no-nans-fp-math"="true" "no-signed-zeros-fp-math"="true" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="true" "use-soft-float"="false" } +attributes #6 = { norecurse nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="true" "no-jump-tables"="false" "no-nans-fp-math"="true" "no-signed-zeros-fp-math"="true" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="true" "use-soft-float"="false" } +attributes #7 = { nobuiltin nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="true" "no-nans-fp-math"="true" "no-signed-zeros-fp-math"="true" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="true" "use-soft-float"="false" } +attributes #8 = { noreturn nounwind } + +!llvm.ident = !{!0} + +!0 = !{!"clang version 4.0.1 "} +!1 = !{!2, !7, i64 40} +!2 = !{!"_ZTS6Tensor", !3, i64 0, !3, i64 4, !6, i64 8, !7, i64 16, !7, i64 24, !7, i64 32, !7, i64 40, !8, i64 48, !8, i64 56, !9, i64 64} +!3 = !{!"int", !4, i64 0} +!4 = !{!"omnipotent char", !5, i64 0} +!5 = !{!"Simple C++ TBAA"} +!6 = !{!"_ZTS15data_location_t", !4, i64 0} +!7 = !{!"any pointer", !4, i64 0} +!8 = !{!"long", !4, i64 0} +!9 = !{!"_ZTS9Dimension", !3, i64 0, !7, i64 8} +!10 = !{!2, !3, i64 64} +!11 = !{!2, !7, i64 72} +!12 = !{!8, !8, i64 0} +!13 = !{!2, !8, i64 48} +!14 = !{!2, !8, i64 56} +!15 = !{!2, !7, i64 32} +!16 = !{!2, !3, i64 0} +!17 = !{!18, !18, i64 0} +!18 = !{!"float", !4, i64 0} +!19 = distinct !{!19, !20} +!20 = !{!"llvm.loop.unroll.disable"} +!21 = distinct !{!21, !22, !23} +!22 = !{!"llvm.loop.vectorize.width", i32 1} +!23 = !{!"llvm.loop.interleave.count", i32 1} +!24 = distinct !{!24, !22, !23} +!25 = distinct !{!25, !20} +!26 = distinct !{!26, !22, !23} +!27 = distinct !{!27, !20} +!28 = distinct !{!28, !22, !23} +!29 = distinct !{!29, !22, !23} +!30 = distinct !{!30, !22, !23} +!31 = distinct !{!31, !20} +!32 = distinct !{!32, !22, !23} +!33 = distinct !{!33, !22, !23} +!34 = distinct !{!34, !22, !23} +!35 = distinct !{!35, !22, !23} +!36 = !{!4, !4, i64 0} +!37 = distinct !{!37, !22, !23} +!38 = distinct !{!38, !39, !22, !23} +!39 = !{!"llvm.loop.unroll.runtime.disable"} +!40 = !{!41, !41, i64 0} +!41 = !{!"vtable pointer", !5, i64 0} +!42 = !{!43, !7, i64 216} +!43 = !{!"_ZTSSt9basic_iosIcSt11char_traitsIcEE", !7, i64 216, !4, i64 224, !44, i64 225, !7, i64 232, !7, i64 240, !7, i64 248, !7, i64 256} +!44 = !{!"bool", !4, i64 0} +!45 = !{!43, !4, i64 224} +!46 = !{!43, !44, i64 225} +!47 = !{!48, !49, i64 64} +!48 = !{!"_ZTSNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE", !49, i64 64, !50, i64 72} +!49 = !{!"_ZTSSt13_Ios_Openmode", !4, i64 0} +!50 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !51, i64 0, !8, i64 8, !4, i64 16} +!51 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !7, i64 0} +!52 = !{!51, !7, i64 0} +!53 = !{!50, !8, i64 8} +!54 = !{!55, !55, i64 0} +!55 = !{!"_ZTSSt13_Ios_Fmtflags", !4, i64 0} +!56 = !{!50, !7, i64 0} +!57 = !{!58, !55, i64 24} +!58 = !{!"_ZTSSt8ios_base", !8, i64 8, !8, i64 16, !55, i64 24, !59, i64 28, !59, i64 32, !7, i64 40, !60, i64 48, !4, i64 64, !3, i64 192, !7, i64 200, !61, i64 208} +!59 = !{!"_ZTSSt12_Ios_Iostate", !4, i64 0} +!60 = !{!"_ZTSNSt8ios_base6_WordsE", !7, i64 0, !8, i64 8} +!61 = !{!"_ZTSSt6locale", !7, i64 0} +!62 = !{!63} +!63 = distinct !{!63, !64, !"_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_: %agg.result"} +!64 = distinct !{!64, !"_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_"} +!65 = !{!66} +!66 = distinct !{!66, !67, !"_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_: %agg.result"} +!67 = distinct !{!67, !"_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_"} +!68 = !{!69} +!69 = distinct !{!69, !70, !"_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_: %agg.result"} +!70 = distinct !{!70, !"_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_"} +!71 = !{!72} +!72 = distinct !{!72, !73, !"_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_: %agg.result"} +!73 = distinct !{!73, !"_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_"} +!74 = !{!75} +!75 = distinct !{!75, !76, !"_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_: %agg.result"} +!76 = distinct !{!76, !"_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_"} +!77 = !{!78, !7, i64 0} +!78 = !{!"_ZTS6RootIn", !7, i64 0, !8, i64 8, !7, i64 16, !8, i64 24, !7, i64 32, !8, i64 40, !7, i64 48, !8, i64 56, !7, i64 64, !8, i64 72, !79, i64 80} +!79 = !{!"_ZTS5ret_t", !7, i64 0, !8, i64 8} +!80 = !{!78, !8, i64 8} +!81 = !{!78, !7, i64 16} +!82 = !{!78, !8, i64 24} +!83 = !{!78, !7, i64 32} +!84 = !{!78, !8, i64 40} +!85 = !{!78, !7, i64 48} +!86 = !{!78, !8, i64 56} +!87 = !{!78, !7, i64 64} +!88 = !{!78, !8, i64 72} diff --git a/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet/build/lenet.opt.bc b/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet/build/lenet.opt.bc new file mode 100644 index 0000000000000000000000000000000000000000..f60bfde0831df8771efc86fa6a08b42e6a659a1b GIT binary patch literal 41512 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 literal 0 HcmV?d00001 diff --git a/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet/build/lenet.visc.ll b/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet/build/lenet.visc.ll new file mode 100644 index 0000000000..05be5bbbc7 --- /dev/null +++ b/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet/build/lenet.visc.ll @@ -0,0 +1,2658 @@ +; ModuleID = 'build/lenet.ll' +source_filename = "src/lenet.cpp" +target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" +target triple = "x86_64-unknown-linux-gnu" + +%"class.std::ios_base::Init" = type { i8 } +%struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i64, i16, i8, [1 x i8], i8*, i64, i8*, i8*, i8*, i8*, i64, i32, [20 x i8] } +%struct._IO_marker = type { %struct._IO_marker*, %struct._IO_FILE*, i32 } +%struct.Tensor = type { i32, i32, i32, %struct.cudnnTensorStruct*, %struct.cudnnFilterStruct*, i8*, i8*, i64, i64, %struct.Dimension } +%struct.cudnnTensorStruct = type opaque +%struct.cudnnFilterStruct = type opaque +%struct.Dimension = type { i32, i64* } +%"class.std::__cxx11::basic_ostringstream" = type { %"class.std::basic_ostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" } +%"class.std::basic_ostream.base" = type { i32 (...)** } +%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" } +%"class.std::basic_streambuf" = type { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, %"class.std::locale" } +%"class.std::locale" = type { %"class.std::locale::_Impl"* } +%"class.std::locale::_Impl" = type { i32, %"class.std::locale::facet"**, i64, %"class.std::locale::facet"**, i8** } +%"class.std::locale::facet" = type <{ i32 (...)**, i32, [4 x i8] }> +%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider", i64, %union.anon } +%"struct.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider" = type { i8* } +%union.anon = type { i64, [8 x i8] } +%"class.std::basic_ios" = type { %"class.std::ios_base", %"class.std::basic_ostream"*, i8, i8, %"class.std::basic_streambuf"*, %"class.std::ctype"*, %"class.std::num_put"*, %"class.std::num_get"* } +%"class.std::ios_base" = type { i32 (...)**, i64, i64, i32, i32, i32, %"struct.std::ios_base::_Callback_list"*, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, %"struct.std::ios_base::_Words"*, %"class.std::locale" } +%"struct.std::ios_base::_Callback_list" = type { %"struct.std::ios_base::_Callback_list"*, void (i32, %"class.std::ios_base"*, i32)*, i32, i32 } +%"struct.std::ios_base::_Words" = type { i8*, i64 } +%"class.std::basic_ostream" = type { i32 (...)**, %"class.std::basic_ios" } +%"class.std::ctype" = type <{ %"class.std::locale::facet.base", [4 x i8], %struct.__locale_struct*, i8, [7 x i8], i32*, i32*, i16*, i8, [256 x i8], [256 x i8], i8, [6 x i8] }> +%"class.std::locale::facet.base" = type <{ i32 (...)**, i32 }> +%struct.__locale_struct = type { [13 x %struct.__locale_data*], i16*, i32*, i32*, [13 x i8*] } +%struct.__locale_data = type opaque +%"class.std::num_put" = type { %"class.std::locale::facet.base", [4 x i8] } +%"class.std::num_get" = type { %"class.std::locale::facet.base", [4 x i8] } +%struct.out._Z14tensorConvNodePvmS_m = type <{ i8*, i64 }> +%struct.out._Z13tensorAddNodePvmS_m = type <{ i8*, i64 }> +%struct.out._Z4rootPvmS_mS_mS_mS_m = type <{ i8*, i64 }> + +@_ZStL8__ioinit = internal global %"class.std::ios_base::Init" zeroinitializer, align 1 +@__dso_handle = external global i8 +@.str.1 = private unnamed_addr constant [19 x i8] c"tensor dims = %d \0A\00", align 1 +@.str.2 = private unnamed_addr constant [18 x i8] c"dim1_size = %zu \0A\00", align 1 +@.str.3 = private unnamed_addr constant [18 x i8] c"dim2_size = %zu \0A\00", align 1 +@.str.4 = private unnamed_addr constant [18 x i8] c"num_elems = %zu \0A\00", align 1 +@.str.5 = private unnamed_addr constant [3 x i8] c"wb\00", align 1 +@.str.6 = private unnamed_addr constant [58 x i8] c"File %s could not be created. Check if directory exists \0A\00", align 1 +@.str.7 = private unnamed_addr constant [22 x i8] c"size_in_bytes = %zu \0A\00", align 1 +@.str.8 = private unnamed_addr constant [21 x i8] c"bytes_written = %zu\0A\00", align 1 +@.str.9 = private unnamed_addr constant [4 x i8] c"%f,\00", align 1 +@.str.11 = private unnamed_addr constant [18 x i8] c"Num_elems = %zu \0A\00", align 1 +@.str.12 = private unnamed_addr constant [16 x i8] c"dim[%d] = %zu \0A\00", align 1 +@.str.13 = private unnamed_addr constant [35 x i8] c"Tensor data mismatch at index %d \0A\00", align 1 +@.str.14 = private unnamed_addr constant [21 x i8] c"Tensor data mismatch\00", align 1 +@.str.15 = private unnamed_addr constant [3 x i8] c"rb\00", align 1 +@.str.16 = private unnamed_addr constant [41 x i8] c"Data file %s is not found. Aborting... \0A\00", align 1 +@.str.17 = private unnamed_addr constant [23 x i8] c"tensor_data[%d] = %f \0A\00", align 1 +@.str.18 = private unnamed_addr constant [40 x i8] c"Data file %s is not found. Aborting...\0A\00", align 1 +@.str.19 = private unnamed_addr constant [28 x i8] c"--labels bytes_read = %zu \0A\00", align 1 +@.str.20 = private unnamed_addr constant [24 x i8] c"****** Accuracy = %f \0A\0A\00", align 1 +@.str.21 = private unnamed_addr constant [15 x i8] c"final_accuracy\00", align 1 +@.str.22 = private unnamed_addr constant [3 x i8] c"w+\00", align 1 +@.str.23 = private unnamed_addr constant [55 x i8] c"../../../../../../projects/hpvm-tensor-rt/model_params\00", align 1 +@.str.24 = private unnamed_addr constant [35 x i8] c"/FC_network2/mnist_float_input.bin\00", align 1 +@.str.25 = private unnamed_addr constant [23 x i8] c"/lenet_keras/conv1.bin\00", align 1 +@.str.26 = private unnamed_addr constant [28 x i8] c"/lenet_keras/conv1_bias.bin\00", align 1 +@.str.27 = private unnamed_addr constant [23 x i8] c"/lenet_keras/conv2.bin\00", align 1 +@.str.28 = private unnamed_addr constant [28 x i8] c"/lenet_keras/conv2_bias.bin\00", align 1 +@.str.29 = private unnamed_addr constant [31 x i8] c"Reading Input Data from = %s \0A\00", align 1 +@_ZTVNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE = external unnamed_addr constant { [5 x i8*], [5 x i8*] } +@_ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE = external unnamed_addr constant [4 x i8*] +@_ZTVSt9basic_iosIcSt11char_traitsIcEE = external unnamed_addr constant { [4 x i8*] } +@_ZTVNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE = external unnamed_addr constant { [16 x i8*] } +@_ZTVSt15basic_streambufIcSt11char_traitsIcEE = external unnamed_addr constant { [16 x i8*] } +@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @_GLOBAL__sub_I_lenet.cpp, i8* null }] +@str = private unnamed_addr constant [23 x i8] c"Successful cudaMalloc \00" + +declare void @_ZNSt8ios_base4InitC1Ev(%"class.std::ios_base::Init"*) unnamed_addr #0 + +; Function Attrs: nounwind +declare void @_ZNSt8ios_base4InitD1Ev(%"class.std::ios_base::Init"*) unnamed_addr #1 + +; Function Attrs: nounwind +declare i32 @__cxa_atexit(void (i8*)*, i8*, i8*) local_unnamed_addr #2 + +; Function Attrs: nounwind uwtable +define void @_Z15printTensorInfoPv(i8* nocapture readonly %tensor_ptr) local_unnamed_addr #3 { +entry: + %gpu_data = getelementptr inbounds i8, i8* %tensor_ptr, i64 40 + %0 = bitcast i8* %gpu_data to i8** + %1 = load i8*, i8** %0, align 8, !tbaa !4 + %cmp = icmp eq i8* %1, null + br i1 %cmp, label %if.end, label %if.then + +if.then: ; preds = %entry + %puts = tail call i32 @puts(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @str, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.then, %entry + %dims = getelementptr inbounds i8, i8* %tensor_ptr, i64 64 + %num_dims = bitcast i8* %dims to i32* + %2 = load i32, i32* %num_dims, align 8, !tbaa !13 + %call1 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.1, i64 0, i64 0), i32 %2) + %dim_sizes = getelementptr inbounds i8, i8* %tensor_ptr, i64 72 + %3 = bitcast i8* %dim_sizes to i64** + %4 = load i64*, i64** %3, align 8, !tbaa !14 + %5 = load i64, i64* %4, align 8, !tbaa !15 + %call3 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.2, i64 0, i64 0), i64 %5) + %6 = load i64*, i64** %3, align 8, !tbaa !14 + %arrayidx6 = getelementptr inbounds i64, i64* %6, i64 1 + %7 = load i64, i64* %arrayidx6, align 8, !tbaa !15 + %call7 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.3, i64 0, i64 0), i64 %7) + %num_elems = getelementptr inbounds i8, i8* %tensor_ptr, i64 48 + %8 = bitcast i8* %num_elems to i64* + %9 = load i64, i64* %8, align 8, !tbaa !16 + %call8 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.4, i64 0, i64 0), i64 %9) + ret void +} + +; Function Attrs: argmemonly nounwind +declare void @llvm.lifetime.start(i64, i8* nocapture) #4 + +; Function Attrs: nounwind +declare i32 @printf(i8* nocapture readonly, ...) local_unnamed_addr #1 + +; Function Attrs: argmemonly nounwind +declare void @llvm.lifetime.end(i64, i8* nocapture) #4 + +; Function Attrs: nounwind uwtable +define void @_Z17dumpWeightsToFilePcPv(i8* %file_name, i8* %weights_ptr) local_unnamed_addr #3 { +entry: + tail call void @hpvm_request_tensor(i8* %weights_ptr, i32 0) #2 + %call = tail call %struct._IO_FILE* @fopen(i8* %file_name, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.5, i64 0, i64 0)) + %cmp = icmp eq %struct._IO_FILE* %call, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call1 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.6, i64 0, i64 0), i8* %file_name) + tail call void @abort() #8 + unreachable + +if.end: ; preds = %entry + %size_in_bytes = getelementptr inbounds i8, i8* %weights_ptr, i64 56 + %0 = bitcast i8* %size_in_bytes to i64* + %1 = load i64, i64* %0, align 8, !tbaa !17 + %call2 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.7, i64 0, i64 0), i64 %1) + %host_data = getelementptr inbounds i8, i8* %weights_ptr, i64 32 + %2 = bitcast i8* %host_data to i8** + %3 = load i8*, i8** %2, align 8, !tbaa !18 + %4 = load i64, i64* %0, align 8, !tbaa !17 + %call4 = tail call i64 @fwrite(i8* %3, i64 1, i64 %4, %struct._IO_FILE* nonnull %call) + %call5 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.8, i64 0, i64 0), i64 %call4) + %call6 = tail call i32 @fclose(%struct._IO_FILE* nonnull %call) + ret void +} + +declare void @hpvm_request_tensor(i8*, i32) local_unnamed_addr #0 + +; Function Attrs: nounwind +declare noalias %struct._IO_FILE* @fopen(i8* nocapture readonly, i8* nocapture readonly) local_unnamed_addr #1 + +; Function Attrs: noreturn nounwind +declare void @abort() local_unnamed_addr #5 + +; Function Attrs: nounwind +declare i64 @fwrite(i8* nocapture, i64, i64, %struct._IO_FILE* nocapture) local_unnamed_addr #1 + +; Function Attrs: nounwind +declare i32 @fclose(%struct._IO_FILE* nocapture) local_unnamed_addr #1 + +; Function Attrs: nounwind uwtable +define void @_Z18fillTensorWithOnesPv(i8* %tensor_ptr) local_unnamed_addr #3 { +entry: + tail call void @hpvm_request_tensor(i8* %tensor_ptr, i32 0) #2 + %data_type = bitcast i8* %tensor_ptr to i32* + %0 = load i32, i32* %data_type, align 8, !tbaa !19 + %cmp = icmp eq i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %host_data = getelementptr inbounds i8, i8* %tensor_ptr, i64 32 + %1 = bitcast i8* %host_data to float** + %2 = load float*, float** %1, align 8, !tbaa !18 + %num_elems = getelementptr inbounds i8, i8* %tensor_ptr, i64 48 + %3 = bitcast i8* %num_elems to i64* + %4 = load i64, i64* %3, align 8, !tbaa !16 + %cmp110 = icmp eq i64 %4, 0 + br i1 %cmp110, label %if.end, label %for.body.preheader + +for.body.preheader: ; preds = %if.then + %min.iters.check = icmp ult i64 %4, 8 + br i1 %min.iters.check, label %for.body.preheader22, label %min.iters.checked + +min.iters.checked: ; preds = %for.body.preheader + %n.vec = and i64 %4, -8 + %cmp.zero = icmp eq i64 %n.vec, 0 + br i1 %cmp.zero, label %for.body.preheader22, label %vector.scevcheck + +vector.scevcheck: ; preds = %min.iters.checked + %5 = add i64 %4, -1 + %6 = trunc i64 %5 to i32 + %7 = icmp eq i32 %6, -1 + %8 = icmp ugt i64 %5, 4294967295 + %9 = or i1 %7, %8 + %cast.crd = trunc i64 %n.vec to i32 + br i1 %9, label %for.body.preheader22, label %vector.body.preheader + +vector.body.preheader: ; preds = %vector.scevcheck + %10 = add i64 %n.vec, -8 + %11 = lshr exact i64 %10, 3 + %12 = add nuw nsw i64 %11, 1 + %xtraiter = and i64 %12, 7 + %lcmp.mod = icmp eq i64 %xtraiter, 0 + br i1 %lcmp.mod, label %vector.body.prol.loopexit, label %vector.body.prol.preheader + +vector.body.prol.preheader: ; preds = %vector.body.preheader + br label %vector.body.prol + +vector.body.prol: ; preds = %vector.body.prol, %vector.body.prol.preheader + %index.prol = phi i64 [ %index.next.prol, %vector.body.prol ], [ 0, %vector.body.prol.preheader ] + %prol.iter = phi i64 [ %prol.iter.sub, %vector.body.prol ], [ %xtraiter, %vector.body.prol.preheader ] + %13 = getelementptr inbounds float, float* %2, i64 %index.prol + %14 = bitcast float* %13 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %14, align 4, !tbaa !20 + %15 = getelementptr float, float* %13, i64 4 + %16 = bitcast float* %15 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %16, align 4, !tbaa !20 + %index.next.prol = add i64 %index.prol, 8 + %prol.iter.sub = add i64 %prol.iter, -1 + %prol.iter.cmp = icmp eq i64 %prol.iter.sub, 0 + br i1 %prol.iter.cmp, label %vector.body.prol.loopexit.unr-lcssa, label %vector.body.prol, !llvm.loop !22 + +vector.body.prol.loopexit.unr-lcssa: ; preds = %vector.body.prol + br label %vector.body.prol.loopexit + +vector.body.prol.loopexit: ; preds = %vector.body.prol.loopexit.unr-lcssa, %vector.body.preheader + %index.unr = phi i64 [ 0, %vector.body.preheader ], [ %index.next.prol, %vector.body.prol.loopexit.unr-lcssa ] + %17 = icmp ult i64 %10, 56 + br i1 %17, label %middle.block, label %vector.body.preheader.new + +vector.body.preheader.new: ; preds = %vector.body.prol.loopexit + br label %vector.body + +vector.body: ; preds = %vector.body, %vector.body.preheader.new + %index = phi i64 [ %index.unr, %vector.body.preheader.new ], [ %index.next.7, %vector.body ] + %18 = getelementptr inbounds float, float* %2, i64 %index + %19 = bitcast float* %18 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %19, align 4, !tbaa !20 + %20 = getelementptr float, float* %18, i64 4 + %21 = bitcast float* %20 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %21, align 4, !tbaa !20 + %index.next = add i64 %index, 8 + %22 = getelementptr inbounds float, float* %2, i64 %index.next + %23 = bitcast float* %22 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %23, align 4, !tbaa !20 + %24 = getelementptr float, float* %22, i64 4 + %25 = bitcast float* %24 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %25, align 4, !tbaa !20 + %index.next.1 = add i64 %index, 16 + %26 = getelementptr inbounds float, float* %2, i64 %index.next.1 + %27 = bitcast float* %26 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %27, align 4, !tbaa !20 + %28 = getelementptr float, float* %26, i64 4 + %29 = bitcast float* %28 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %29, align 4, !tbaa !20 + %index.next.2 = add i64 %index, 24 + %30 = getelementptr inbounds float, float* %2, i64 %index.next.2 + %31 = bitcast float* %30 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %31, align 4, !tbaa !20 + %32 = getelementptr float, float* %30, i64 4 + %33 = bitcast float* %32 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %33, align 4, !tbaa !20 + %index.next.3 = add i64 %index, 32 + %34 = getelementptr inbounds float, float* %2, i64 %index.next.3 + %35 = bitcast float* %34 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %35, align 4, !tbaa !20 + %36 = getelementptr float, float* %34, i64 4 + %37 = bitcast float* %36 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %37, align 4, !tbaa !20 + %index.next.4 = add i64 %index, 40 + %38 = getelementptr inbounds float, float* %2, i64 %index.next.4 + %39 = bitcast float* %38 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %39, align 4, !tbaa !20 + %40 = getelementptr float, float* %38, i64 4 + %41 = bitcast float* %40 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %41, align 4, !tbaa !20 + %index.next.5 = add i64 %index, 48 + %42 = getelementptr inbounds float, float* %2, i64 %index.next.5 + %43 = bitcast float* %42 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %43, align 4, !tbaa !20 + %44 = getelementptr float, float* %42, i64 4 + %45 = bitcast float* %44 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %45, align 4, !tbaa !20 + %index.next.6 = add i64 %index, 56 + %46 = getelementptr inbounds float, float* %2, i64 %index.next.6 + %47 = bitcast float* %46 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %47, align 4, !tbaa !20 + %48 = getelementptr float, float* %46, i64 4 + %49 = bitcast float* %48 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %49, align 4, !tbaa !20 + %index.next.7 = add i64 %index, 64 + %50 = icmp eq i64 %index.next.7, %n.vec + br i1 %50, label %middle.block.unr-lcssa, label %vector.body, !llvm.loop !24 + +middle.block.unr-lcssa: ; preds = %vector.body + br label %middle.block + +middle.block: ; preds = %middle.block.unr-lcssa, %vector.body.prol.loopexit + %cmp.n = icmp eq i64 %4, %n.vec + br i1 %cmp.n, label %if.end, label %for.body.preheader22 + +for.body.preheader22: ; preds = %middle.block, %vector.scevcheck, %min.iters.checked, %for.body.preheader + %conv12.ph = phi i64 [ 0, %vector.scevcheck ], [ 0, %min.iters.checked ], [ 0, %for.body.preheader ], [ %n.vec, %middle.block ] + %i.011.ph = phi i32 [ 0, %vector.scevcheck ], [ 0, %min.iters.checked ], [ 0, %for.body.preheader ], [ %cast.crd, %middle.block ] + br label %for.body + +for.body: ; preds = %for.body, %for.body.preheader22 + %conv12 = phi i64 [ %conv, %for.body ], [ %conv12.ph, %for.body.preheader22 ] + %i.011 = phi i32 [ %inc, %for.body ], [ %i.011.ph, %for.body.preheader22 ] + %arrayidx = getelementptr inbounds float, float* %2, i64 %conv12 + store float 1.000000e+00, float* %arrayidx, align 4, !tbaa !20 + %inc = add i32 %i.011, 1 + %conv = zext i32 %inc to i64 + %cmp1 = icmp ult i64 %conv, %4 + br i1 %cmp1, label %for.body, label %if.end.loopexit, !llvm.loop !27 + +if.end.loopexit: ; preds = %for.body + br label %if.end + +if.end: ; preds = %if.end.loopexit, %middle.block, %if.then, %entry + ret void +} + +; Function Attrs: nounwind uwtable +define void @_Z19fillWithOnesAndTwosPv(i8* %tensor_ptr) local_unnamed_addr #3 { +entry: + tail call void @hpvm_request_tensor(i8* %tensor_ptr, i32 0) #2 + %data_type = bitcast i8* %tensor_ptr to i32* + %0 = load i32, i32* %data_type, align 8, !tbaa !19 + %cmp = icmp eq i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %host_data = getelementptr inbounds i8, i8* %tensor_ptr, i64 32 + %1 = bitcast i8* %host_data to float** + %2 = load float*, float** %1, align 8, !tbaa !18 + %num_elems = getelementptr inbounds i8, i8* %tensor_ptr, i64 48 + %3 = bitcast i8* %num_elems to i64* + %4 = load i64, i64* %3, align 8, !tbaa !16 + %div35 = lshr i64 %4, 1 + %cmp136 = icmp eq i64 %div35, 0 + br i1 %cmp136, label %for.cond.cleanup, label %for.body.preheader + +for.body.preheader: ; preds = %if.then + %min.iters.check = icmp ult i64 %4, 16 + br i1 %min.iters.check, label %for.body.preheader85, label %min.iters.checked + +for.body.preheader85: ; preds = %middle.block, %vector.scevcheck, %min.iters.checked, %for.body.preheader + %conv38.ph = phi i64 [ 0, %vector.scevcheck ], [ 0, %min.iters.checked ], [ 0, %for.body.preheader ], [ %n.vec, %middle.block ] + %i.037.ph = phi i32 [ 0, %vector.scevcheck ], [ 0, %min.iters.checked ], [ 0, %for.body.preheader ], [ %cast.crd, %middle.block ] + br label %for.body + +min.iters.checked: ; preds = %for.body.preheader + %n.vec = and i64 %div35, 9223372036854775800 + %cmp.zero = icmp eq i64 %n.vec, 0 + br i1 %cmp.zero, label %for.body.preheader85, label %vector.scevcheck + +vector.scevcheck: ; preds = %min.iters.checked + %5 = add nsw i64 %div35, -1 + %6 = trunc i64 %5 to i32 + %7 = icmp eq i32 %6, -1 + %8 = icmp ugt i64 %5, 4294967295 + %9 = or i1 %7, %8 + %cast.crd = trunc i64 %n.vec to i32 + br i1 %9, label %for.body.preheader85, label %vector.body.preheader + +vector.body.preheader: ; preds = %vector.scevcheck + %10 = add nsw i64 %n.vec, -8 + %11 = lshr exact i64 %10, 3 + %12 = add nuw nsw i64 %11, 1 + %xtraiter86 = and i64 %12, 7 + %lcmp.mod87 = icmp eq i64 %xtraiter86, 0 + br i1 %lcmp.mod87, label %vector.body.prol.loopexit, label %vector.body.prol.preheader + +vector.body.prol.preheader: ; preds = %vector.body.preheader + br label %vector.body.prol + +vector.body.prol: ; preds = %vector.body.prol, %vector.body.prol.preheader + %index.prol = phi i64 [ %index.next.prol, %vector.body.prol ], [ 0, %vector.body.prol.preheader ] + %prol.iter88 = phi i64 [ %prol.iter88.sub, %vector.body.prol ], [ %xtraiter86, %vector.body.prol.preheader ] + %13 = getelementptr inbounds float, float* %2, i64 %index.prol + %14 = bitcast float* %13 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %14, align 4, !tbaa !20 + %15 = getelementptr float, float* %13, i64 4 + %16 = bitcast float* %15 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %16, align 4, !tbaa !20 + %index.next.prol = add i64 %index.prol, 8 + %prol.iter88.sub = add i64 %prol.iter88, -1 + %prol.iter88.cmp = icmp eq i64 %prol.iter88.sub, 0 + br i1 %prol.iter88.cmp, label %vector.body.prol.loopexit.unr-lcssa, label %vector.body.prol, !llvm.loop !28 + +vector.body.prol.loopexit.unr-lcssa: ; preds = %vector.body.prol + br label %vector.body.prol.loopexit + +vector.body.prol.loopexit: ; preds = %vector.body.prol.loopexit.unr-lcssa, %vector.body.preheader + %index.unr = phi i64 [ 0, %vector.body.preheader ], [ %index.next.prol, %vector.body.prol.loopexit.unr-lcssa ] + %17 = icmp ult i64 %10, 56 + br i1 %17, label %middle.block, label %vector.body.preheader.new + +vector.body.preheader.new: ; preds = %vector.body.prol.loopexit + br label %vector.body + +vector.body: ; preds = %vector.body, %vector.body.preheader.new + %index = phi i64 [ %index.unr, %vector.body.preheader.new ], [ %index.next.7, %vector.body ] + %18 = getelementptr inbounds float, float* %2, i64 %index + %19 = bitcast float* %18 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %19, align 4, !tbaa !20 + %20 = getelementptr float, float* %18, i64 4 + %21 = bitcast float* %20 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %21, align 4, !tbaa !20 + %index.next = add i64 %index, 8 + %22 = getelementptr inbounds float, float* %2, i64 %index.next + %23 = bitcast float* %22 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %23, align 4, !tbaa !20 + %24 = getelementptr float, float* %22, i64 4 + %25 = bitcast float* %24 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %25, align 4, !tbaa !20 + %index.next.1 = add i64 %index, 16 + %26 = getelementptr inbounds float, float* %2, i64 %index.next.1 + %27 = bitcast float* %26 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %27, align 4, !tbaa !20 + %28 = getelementptr float, float* %26, i64 4 + %29 = bitcast float* %28 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %29, align 4, !tbaa !20 + %index.next.2 = add i64 %index, 24 + %30 = getelementptr inbounds float, float* %2, i64 %index.next.2 + %31 = bitcast float* %30 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %31, align 4, !tbaa !20 + %32 = getelementptr float, float* %30, i64 4 + %33 = bitcast float* %32 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %33, align 4, !tbaa !20 + %index.next.3 = add i64 %index, 32 + %34 = getelementptr inbounds float, float* %2, i64 %index.next.3 + %35 = bitcast float* %34 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %35, align 4, !tbaa !20 + %36 = getelementptr float, float* %34, i64 4 + %37 = bitcast float* %36 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %37, align 4, !tbaa !20 + %index.next.4 = add i64 %index, 40 + %38 = getelementptr inbounds float, float* %2, i64 %index.next.4 + %39 = bitcast float* %38 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %39, align 4, !tbaa !20 + %40 = getelementptr float, float* %38, i64 4 + %41 = bitcast float* %40 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %41, align 4, !tbaa !20 + %index.next.5 = add i64 %index, 48 + %42 = getelementptr inbounds float, float* %2, i64 %index.next.5 + %43 = bitcast float* %42 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %43, align 4, !tbaa !20 + %44 = getelementptr float, float* %42, i64 4 + %45 = bitcast float* %44 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %45, align 4, !tbaa !20 + %index.next.6 = add i64 %index, 56 + %46 = getelementptr inbounds float, float* %2, i64 %index.next.6 + %47 = bitcast float* %46 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %47, align 4, !tbaa !20 + %48 = getelementptr float, float* %46, i64 4 + %49 = bitcast float* %48 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float>* %49, align 4, !tbaa !20 + %index.next.7 = add i64 %index, 64 + %50 = icmp eq i64 %index.next.7, %n.vec + br i1 %50, label %middle.block.unr-lcssa, label %vector.body, !llvm.loop !29 + +middle.block.unr-lcssa: ; preds = %vector.body + br label %middle.block + +middle.block: ; preds = %middle.block.unr-lcssa, %vector.body.prol.loopexit + %cmp.n = icmp eq i64 %div35, %n.vec + br i1 %cmp.n, label %for.cond.cleanup, label %for.body.preheader85 + +for.cond.cleanup.loopexit: ; preds = %for.body + br label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond.cleanup.loopexit, %middle.block, %if.then + %div.lcssa = phi i64 [ 0, %if.then ], [ %div35, %middle.block ], [ %div35, %for.cond.cleanup.loopexit ] + %conv731 = and i64 %div.lcssa, 4294967295 + %cmp932 = icmp ult i64 %conv731, %4 + br i1 %cmp932, label %for.body11.lr.ph, label %if.end + +for.body11.lr.ph: ; preds = %for.cond.cleanup + %conv5 = trunc i64 %div.lcssa to i32 + %51 = add nuw i64 %div.lcssa, 1 + %52 = and i64 %51, 4294967295 + %53 = icmp ugt i64 %4, %52 + %umax = select i1 %53, i64 %4, i64 %52 + %54 = add i64 %umax, 1 + %55 = sub i64 %54, %52 + %min.iters.check52 = icmp ult i64 %55, 8 + br i1 %min.iters.check52, label %for.body11.preheader, label %min.iters.checked53 + +for.body11.preheader: ; preds = %middle.block50, %vector.scevcheck65, %min.iters.checked53, %for.body11.lr.ph + %conv734.ph = phi i64 [ %conv731, %vector.scevcheck65 ], [ %conv731, %min.iters.checked53 ], [ %conv731, %for.body11.lr.ph ], [ %ind.end70, %middle.block50 ] + %i2.033.ph = phi i32 [ %conv5, %vector.scevcheck65 ], [ %conv5, %min.iters.checked53 ], [ %conv5, %for.body11.lr.ph ], [ %ind.end73, %middle.block50 ] + br label %for.body11 + +min.iters.checked53: ; preds = %for.body11.lr.ph + %n.vec55 = and i64 %55, -8 + %cmp.zero56 = icmp eq i64 %n.vec55, 0 + br i1 %cmp.zero56, label %for.body11.preheader, label %vector.scevcheck65 + +vector.scevcheck65: ; preds = %min.iters.checked53 + %56 = add i32 %conv5, 1 + %57 = zext i32 %56 to i64 + %58 = icmp ugt i64 %4, %57 + %umax58 = select i1 %58, i64 %4, i64 %57 + %59 = sub i64 %umax58, %57 + %60 = trunc i64 %59 to i32 + %61 = add i32 %56, %60 + %62 = icmp ult i32 %61, %56 + %63 = icmp ugt i64 %59, 4294967295 + %64 = or i1 %62, %63 + %65 = trunc i64 %59 to i32 + %66 = add i32 %conv5, %65 + %67 = icmp ult i32 %66, %conv5 + %68 = icmp ugt i64 %59, 4294967295 + %69 = or i1 %67, %68 + %70 = or i1 %64, %69 + %ind.end70 = add i64 %conv731, %n.vec55 + %cast.crd72 = trunc i64 %n.vec55 to i32 + %ind.end73 = add i32 %conv5, %cast.crd72 + br i1 %70, label %for.body11.preheader, label %vector.body49.preheader + +vector.body49.preheader: ; preds = %vector.scevcheck65 + %71 = add i64 %n.vec55, -8 + %72 = lshr exact i64 %71, 3 + %73 = add nuw nsw i64 %72, 1 + %xtraiter = and i64 %73, 3 + %lcmp.mod = icmp eq i64 %xtraiter, 0 + br i1 %lcmp.mod, label %vector.body49.prol.loopexit, label %vector.body49.prol.preheader + +vector.body49.prol.preheader: ; preds = %vector.body49.preheader + br label %vector.body49.prol + +vector.body49.prol: ; preds = %vector.body49.prol, %vector.body49.prol.preheader + %index67.prol = phi i64 [ %index.next68.prol, %vector.body49.prol ], [ 0, %vector.body49.prol.preheader ] + %prol.iter = phi i64 [ %prol.iter.sub, %vector.body49.prol ], [ %xtraiter, %vector.body49.prol.preheader ] + %74 = add i64 %conv731, %index67.prol + %75 = getelementptr inbounds float, float* %2, i64 %74 + %76 = bitcast float* %75 to <4 x float>* + store <4 x float> <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>, <4 x float>* %76, align 4, !tbaa !20 + %77 = getelementptr float, float* %75, i64 4 + %78 = bitcast float* %77 to <4 x float>* + store <4 x float> <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>, <4 x float>* %78, align 4, !tbaa !20 + %index.next68.prol = add i64 %index67.prol, 8 + %prol.iter.sub = add i64 %prol.iter, -1 + %prol.iter.cmp = icmp eq i64 %prol.iter.sub, 0 + br i1 %prol.iter.cmp, label %vector.body49.prol.loopexit.unr-lcssa, label %vector.body49.prol, !llvm.loop !30 + +vector.body49.prol.loopexit.unr-lcssa: ; preds = %vector.body49.prol + br label %vector.body49.prol.loopexit + +vector.body49.prol.loopexit: ; preds = %vector.body49.prol.loopexit.unr-lcssa, %vector.body49.preheader + %index67.unr = phi i64 [ 0, %vector.body49.preheader ], [ %index.next68.prol, %vector.body49.prol.loopexit.unr-lcssa ] + %79 = icmp ult i64 %71, 24 + br i1 %79, label %middle.block50, label %vector.body49.preheader.new + +vector.body49.preheader.new: ; preds = %vector.body49.prol.loopexit + br label %vector.body49 + +vector.body49: ; preds = %vector.body49, %vector.body49.preheader.new + %index67 = phi i64 [ %index67.unr, %vector.body49.preheader.new ], [ %index.next68.3, %vector.body49 ] + %80 = add i64 %conv731, %index67 + %81 = getelementptr inbounds float, float* %2, i64 %80 + %82 = bitcast float* %81 to <4 x float>* + store <4 x float> <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>, <4 x float>* %82, align 4, !tbaa !20 + %83 = getelementptr float, float* %81, i64 4 + %84 = bitcast float* %83 to <4 x float>* + store <4 x float> <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>, <4 x float>* %84, align 4, !tbaa !20 + %index.next68 = add i64 %index67, 8 + %85 = add i64 %conv731, %index.next68 + %86 = getelementptr inbounds float, float* %2, i64 %85 + %87 = bitcast float* %86 to <4 x float>* + store <4 x float> <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>, <4 x float>* %87, align 4, !tbaa !20 + %88 = getelementptr float, float* %86, i64 4 + %89 = bitcast float* %88 to <4 x float>* + store <4 x float> <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>, <4 x float>* %89, align 4, !tbaa !20 + %index.next68.1 = add i64 %index67, 16 + %90 = add i64 %conv731, %index.next68.1 + %91 = getelementptr inbounds float, float* %2, i64 %90 + %92 = bitcast float* %91 to <4 x float>* + store <4 x float> <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>, <4 x float>* %92, align 4, !tbaa !20 + %93 = getelementptr float, float* %91, i64 4 + %94 = bitcast float* %93 to <4 x float>* + store <4 x float> <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>, <4 x float>* %94, align 4, !tbaa !20 + %index.next68.2 = add i64 %index67, 24 + %95 = add i64 %conv731, %index.next68.2 + %96 = getelementptr inbounds float, float* %2, i64 %95 + %97 = bitcast float* %96 to <4 x float>* + store <4 x float> <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>, <4 x float>* %97, align 4, !tbaa !20 + %98 = getelementptr float, float* %96, i64 4 + %99 = bitcast float* %98 to <4 x float>* + store <4 x float> <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>, <4 x float>* %99, align 4, !tbaa !20 + %index.next68.3 = add i64 %index67, 32 + %100 = icmp eq i64 %index.next68.3, %n.vec55 + br i1 %100, label %middle.block50.unr-lcssa, label %vector.body49, !llvm.loop !31 + +middle.block50.unr-lcssa: ; preds = %vector.body49 + br label %middle.block50 + +middle.block50: ; preds = %middle.block50.unr-lcssa, %vector.body49.prol.loopexit + %cmp.n74 = icmp eq i64 %55, %n.vec55 + br i1 %cmp.n74, label %if.end, label %for.body11.preheader + +for.body: ; preds = %for.body, %for.body.preheader85 + %conv38 = phi i64 [ %conv, %for.body ], [ %conv38.ph, %for.body.preheader85 ] + %i.037 = phi i32 [ %inc, %for.body ], [ %i.037.ph, %for.body.preheader85 ] + %arrayidx = getelementptr inbounds float, float* %2, i64 %conv38 + store float 1.000000e+00, float* %arrayidx, align 4, !tbaa !20 + %inc = add i32 %i.037, 1 + %conv = zext i32 %inc to i64 + %cmp1 = icmp ult i64 %conv, %div35 + br i1 %cmp1, label %for.body, label %for.cond.cleanup.loopexit, !llvm.loop !32 + +for.body11: ; preds = %for.body11, %for.body11.preheader + %conv734 = phi i64 [ %conv7, %for.body11 ], [ %conv734.ph, %for.body11.preheader ] + %i2.033 = phi i32 [ %inc15, %for.body11 ], [ %i2.033.ph, %for.body11.preheader ] + %arrayidx13 = getelementptr inbounds float, float* %2, i64 %conv734 + store float 2.000000e+00, float* %arrayidx13, align 4, !tbaa !20 + %inc15 = add i32 %i2.033, 1 + %conv7 = zext i32 %inc15 to i64 + %cmp9 = icmp ult i64 %conv7, %4 + br i1 %cmp9, label %for.body11, label %if.end.loopexit, !llvm.loop !33 + +if.end.loopexit: ; preds = %for.body11 + br label %if.end + +if.end: ; preds = %if.end.loopexit, %middle.block50, %for.cond.cleanup, %entry + ret void +} + +; Function Attrs: nounwind uwtable +define void @_Z21fillTensorWithNegOnesPv(i8* %tensor_ptr) local_unnamed_addr #3 { +entry: + tail call void @hpvm_request_tensor(i8* %tensor_ptr, i32 0) #2 + %data_type = bitcast i8* %tensor_ptr to i32* + %0 = load i32, i32* %data_type, align 8, !tbaa !19 + %cmp = icmp eq i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %host_data = getelementptr inbounds i8, i8* %tensor_ptr, i64 32 + %1 = bitcast i8* %host_data to float** + %2 = load float*, float** %1, align 8, !tbaa !18 + %num_elems = getelementptr inbounds i8, i8* %tensor_ptr, i64 48 + %3 = bitcast i8* %num_elems to i64* + %4 = load i64, i64* %3, align 8, !tbaa !16 + %cmp110 = icmp eq i64 %4, 0 + br i1 %cmp110, label %if.end, label %for.body.preheader + +for.body.preheader: ; preds = %if.then + %min.iters.check = icmp ult i64 %4, 8 + br i1 %min.iters.check, label %for.body.preheader22, label %min.iters.checked + +min.iters.checked: ; preds = %for.body.preheader + %n.vec = and i64 %4, -8 + %cmp.zero = icmp eq i64 %n.vec, 0 + br i1 %cmp.zero, label %for.body.preheader22, label %vector.scevcheck + +vector.scevcheck: ; preds = %min.iters.checked + %5 = add i64 %4, -1 + %6 = trunc i64 %5 to i32 + %7 = icmp eq i32 %6, -1 + %8 = icmp ugt i64 %5, 4294967295 + %9 = or i1 %7, %8 + %cast.crd = trunc i64 %n.vec to i32 + br i1 %9, label %for.body.preheader22, label %vector.body.preheader + +vector.body.preheader: ; preds = %vector.scevcheck + %10 = add i64 %n.vec, -8 + %11 = lshr exact i64 %10, 3 + %12 = add nuw nsw i64 %11, 1 + %xtraiter = and i64 %12, 7 + %lcmp.mod = icmp eq i64 %xtraiter, 0 + br i1 %lcmp.mod, label %vector.body.prol.loopexit, label %vector.body.prol.preheader + +vector.body.prol.preheader: ; preds = %vector.body.preheader + br label %vector.body.prol + +vector.body.prol: ; preds = %vector.body.prol, %vector.body.prol.preheader + %index.prol = phi i64 [ %index.next.prol, %vector.body.prol ], [ 0, %vector.body.prol.preheader ] + %prol.iter = phi i64 [ %prol.iter.sub, %vector.body.prol ], [ %xtraiter, %vector.body.prol.preheader ] + %13 = getelementptr inbounds float, float* %2, i64 %index.prol + %14 = bitcast float* %13 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %14, align 4, !tbaa !20 + %15 = getelementptr float, float* %13, i64 4 + %16 = bitcast float* %15 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %16, align 4, !tbaa !20 + %index.next.prol = add i64 %index.prol, 8 + %prol.iter.sub = add i64 %prol.iter, -1 + %prol.iter.cmp = icmp eq i64 %prol.iter.sub, 0 + br i1 %prol.iter.cmp, label %vector.body.prol.loopexit.unr-lcssa, label %vector.body.prol, !llvm.loop !34 + +vector.body.prol.loopexit.unr-lcssa: ; preds = %vector.body.prol + br label %vector.body.prol.loopexit + +vector.body.prol.loopexit: ; preds = %vector.body.prol.loopexit.unr-lcssa, %vector.body.preheader + %index.unr = phi i64 [ 0, %vector.body.preheader ], [ %index.next.prol, %vector.body.prol.loopexit.unr-lcssa ] + %17 = icmp ult i64 %10, 56 + br i1 %17, label %middle.block, label %vector.body.preheader.new + +vector.body.preheader.new: ; preds = %vector.body.prol.loopexit + br label %vector.body + +vector.body: ; preds = %vector.body, %vector.body.preheader.new + %index = phi i64 [ %index.unr, %vector.body.preheader.new ], [ %index.next.7, %vector.body ] + %18 = getelementptr inbounds float, float* %2, i64 %index + %19 = bitcast float* %18 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %19, align 4, !tbaa !20 + %20 = getelementptr float, float* %18, i64 4 + %21 = bitcast float* %20 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %21, align 4, !tbaa !20 + %index.next = add i64 %index, 8 + %22 = getelementptr inbounds float, float* %2, i64 %index.next + %23 = bitcast float* %22 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %23, align 4, !tbaa !20 + %24 = getelementptr float, float* %22, i64 4 + %25 = bitcast float* %24 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %25, align 4, !tbaa !20 + %index.next.1 = add i64 %index, 16 + %26 = getelementptr inbounds float, float* %2, i64 %index.next.1 + %27 = bitcast float* %26 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %27, align 4, !tbaa !20 + %28 = getelementptr float, float* %26, i64 4 + %29 = bitcast float* %28 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %29, align 4, !tbaa !20 + %index.next.2 = add i64 %index, 24 + %30 = getelementptr inbounds float, float* %2, i64 %index.next.2 + %31 = bitcast float* %30 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %31, align 4, !tbaa !20 + %32 = getelementptr float, float* %30, i64 4 + %33 = bitcast float* %32 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %33, align 4, !tbaa !20 + %index.next.3 = add i64 %index, 32 + %34 = getelementptr inbounds float, float* %2, i64 %index.next.3 + %35 = bitcast float* %34 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %35, align 4, !tbaa !20 + %36 = getelementptr float, float* %34, i64 4 + %37 = bitcast float* %36 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %37, align 4, !tbaa !20 + %index.next.4 = add i64 %index, 40 + %38 = getelementptr inbounds float, float* %2, i64 %index.next.4 + %39 = bitcast float* %38 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %39, align 4, !tbaa !20 + %40 = getelementptr float, float* %38, i64 4 + %41 = bitcast float* %40 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %41, align 4, !tbaa !20 + %index.next.5 = add i64 %index, 48 + %42 = getelementptr inbounds float, float* %2, i64 %index.next.5 + %43 = bitcast float* %42 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %43, align 4, !tbaa !20 + %44 = getelementptr float, float* %42, i64 4 + %45 = bitcast float* %44 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %45, align 4, !tbaa !20 + %index.next.6 = add i64 %index, 56 + %46 = getelementptr inbounds float, float* %2, i64 %index.next.6 + %47 = bitcast float* %46 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %47, align 4, !tbaa !20 + %48 = getelementptr float, float* %46, i64 4 + %49 = bitcast float* %48 to <4 x float>* + store <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float>* %49, align 4, !tbaa !20 + %index.next.7 = add i64 %index, 64 + %50 = icmp eq i64 %index.next.7, %n.vec + br i1 %50, label %middle.block.unr-lcssa, label %vector.body, !llvm.loop !35 + +middle.block.unr-lcssa: ; preds = %vector.body + br label %middle.block + +middle.block: ; preds = %middle.block.unr-lcssa, %vector.body.prol.loopexit + %cmp.n = icmp eq i64 %4, %n.vec + br i1 %cmp.n, label %if.end, label %for.body.preheader22 + +for.body.preheader22: ; preds = %middle.block, %vector.scevcheck, %min.iters.checked, %for.body.preheader + %conv12.ph = phi i64 [ 0, %vector.scevcheck ], [ 0, %min.iters.checked ], [ 0, %for.body.preheader ], [ %n.vec, %middle.block ] + %i.011.ph = phi i32 [ 0, %vector.scevcheck ], [ 0, %min.iters.checked ], [ 0, %for.body.preheader ], [ %cast.crd, %middle.block ] + br label %for.body + +for.body: ; preds = %for.body, %for.body.preheader22 + %conv12 = phi i64 [ %conv, %for.body ], [ %conv12.ph, %for.body.preheader22 ] + %i.011 = phi i32 [ %inc, %for.body ], [ %i.011.ph, %for.body.preheader22 ] + %arrayidx = getelementptr inbounds float, float* %2, i64 %conv12 + store float -1.000000e+00, float* %arrayidx, align 4, !tbaa !20 + %inc = add i32 %i.011, 1 + %conv = zext i32 %inc to i64 + %cmp1 = icmp ult i64 %conv, %4 + br i1 %cmp1, label %for.body, label %if.end.loopexit, !llvm.loop !36 + +if.end.loopexit: ; preds = %for.body + br label %if.end + +if.end: ; preds = %if.end.loopexit, %middle.block, %if.then, %entry + ret void +} + +; Function Attrs: norecurse nounwind uwtable +define void @_Z14fillTensorValsPv(i8* nocapture readonly %tensor_ptr) local_unnamed_addr #6 { +entry: + %data_type = bitcast i8* %tensor_ptr to i32* + %0 = load i32, i32* %data_type, align 8, !tbaa !19 + %cmp = icmp eq i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %host_data = getelementptr inbounds i8, i8* %tensor_ptr, i64 32 + %1 = bitcast i8* %host_data to float** + %2 = load float*, float** %1, align 8, !tbaa !18 + %num_elems = getelementptr inbounds i8, i8* %tensor_ptr, i64 48 + %3 = bitcast i8* %num_elems to i64* + %4 = load i64, i64* %3, align 8, !tbaa !16 + %cmp111 = icmp eq i64 %4, 0 + br i1 %cmp111, label %if.end, label %for.body.preheader + +for.body.preheader: ; preds = %if.then + %min.iters.check = icmp ult i64 %4, 8 + br i1 %min.iters.check, label %for.body.preheader23, label %min.iters.checked + +min.iters.checked: ; preds = %for.body.preheader + %n.vec = and i64 %4, -8 + %cmp.zero = icmp eq i64 %n.vec, 0 + br i1 %cmp.zero, label %for.body.preheader23, label %vector.scevcheck + +vector.scevcheck: ; preds = %min.iters.checked + %5 = add i64 %4, -1 + %6 = trunc i64 %5 to i32 + %7 = icmp eq i32 %6, -1 + %8 = icmp ugt i64 %5, 4294967295 + %9 = or i1 %7, %8 + %cast.crd = trunc i64 %n.vec to i32 + br i1 %9, label %for.body.preheader23, label %vector.body.preheader + +vector.body.preheader: ; preds = %vector.scevcheck + %10 = add i64 %n.vec, -8 + %11 = lshr exact i64 %10, 3 + %12 = and i64 %11, 1 + %lcmp.mod = icmp eq i64 %12, 0 + br i1 %lcmp.mod, label %vector.body.prol.preheader, label %vector.body.prol.loopexit + +vector.body.prol.preheader: ; preds = %vector.body.preheader + br label %vector.body.prol + +vector.body.prol: ; preds = %vector.body.prol.preheader + %13 = bitcast float* %2 to <4 x float>* + store <4 x float> <float 1.000000e+00, float 2.000000e+00, float 3.000000e+00, float 4.000000e+00>, <4 x float>* %13, align 4, !tbaa !20 + %14 = getelementptr float, float* %2, i64 4 + %15 = bitcast float* %14 to <4 x float>* + store <4 x float> <float 5.000000e+00, float 6.000000e+00, float 7.000000e+00, float 8.000000e+00>, <4 x float>* %15, align 4, !tbaa !20 + br label %vector.body.prol.loopexit + +vector.body.prol.loopexit: ; preds = %vector.body.prol, %vector.body.preheader + %index.unr = phi i64 [ 0, %vector.body.preheader ], [ 8, %vector.body.prol ] + %16 = icmp eq i64 %11, 0 + br i1 %16, label %middle.block, label %vector.body.preheader.new + +vector.body.preheader.new: ; preds = %vector.body.prol.loopexit + br label %vector.body + +vector.body: ; preds = %vector.body, %vector.body.preheader.new + %index = phi i64 [ %index.unr, %vector.body.preheader.new ], [ %index.next.1, %vector.body ] + %17 = trunc i64 %index to i32 + %broadcast.splatinsert19 = insertelement <4 x i32> undef, i32 %17, i32 0 + %broadcast.splat20 = shufflevector <4 x i32> %broadcast.splatinsert19, <4 x i32> undef, <4 x i32> zeroinitializer + %18 = add <4 x i32> %broadcast.splat20, <i32 1, i32 2, i32 3, i32 4> + %19 = add <4 x i32> %broadcast.splat20, <i32 5, i32 6, i32 7, i32 8> + %20 = uitofp <4 x i32> %18 to <4 x float> + %21 = uitofp <4 x i32> %19 to <4 x float> + %22 = getelementptr inbounds float, float* %2, i64 %index + %23 = bitcast float* %22 to <4 x float>* + store <4 x float> %20, <4 x float>* %23, align 4, !tbaa !20 + %24 = getelementptr float, float* %22, i64 4 + %25 = bitcast float* %24 to <4 x float>* + store <4 x float> %21, <4 x float>* %25, align 4, !tbaa !20 + %index.next = add i64 %index, 8 + %26 = trunc i64 %index.next to i32 + %broadcast.splatinsert19.1 = insertelement <4 x i32> undef, i32 %26, i32 0 + %broadcast.splat20.1 = shufflevector <4 x i32> %broadcast.splatinsert19.1, <4 x i32> undef, <4 x i32> zeroinitializer + %27 = add <4 x i32> %broadcast.splat20.1, <i32 1, i32 2, i32 3, i32 4> + %28 = add <4 x i32> %broadcast.splat20.1, <i32 5, i32 6, i32 7, i32 8> + %29 = uitofp <4 x i32> %27 to <4 x float> + %30 = uitofp <4 x i32> %28 to <4 x float> + %31 = getelementptr inbounds float, float* %2, i64 %index.next + %32 = bitcast float* %31 to <4 x float>* + store <4 x float> %29, <4 x float>* %32, align 4, !tbaa !20 + %33 = getelementptr float, float* %31, i64 4 + %34 = bitcast float* %33 to <4 x float>* + store <4 x float> %30, <4 x float>* %34, align 4, !tbaa !20 + %index.next.1 = add i64 %index, 16 + %35 = icmp eq i64 %index.next.1, %n.vec + br i1 %35, label %middle.block.unr-lcssa, label %vector.body, !llvm.loop !37 + +middle.block.unr-lcssa: ; preds = %vector.body + br label %middle.block + +middle.block: ; preds = %middle.block.unr-lcssa, %vector.body.prol.loopexit + %cmp.n = icmp eq i64 %4, %n.vec + br i1 %cmp.n, label %if.end, label %for.body.preheader23 + +for.body.preheader23: ; preds = %middle.block, %vector.scevcheck, %min.iters.checked, %for.body.preheader + %conv13.ph = phi i64 [ 0, %vector.scevcheck ], [ 0, %min.iters.checked ], [ 0, %for.body.preheader ], [ %n.vec, %middle.block ] + %i.012.ph = phi i32 [ 0, %vector.scevcheck ], [ 0, %min.iters.checked ], [ 0, %for.body.preheader ], [ %cast.crd, %middle.block ] + br label %for.body + +for.body: ; preds = %for.body, %for.body.preheader23 + %conv13 = phi i64 [ %conv, %for.body ], [ %conv13.ph, %for.body.preheader23 ] + %i.012 = phi i32 [ %add, %for.body ], [ %i.012.ph, %for.body.preheader23 ] + %add = add i32 %i.012, 1 + %conv2 = uitofp i32 %add to float + %arrayidx = getelementptr inbounds float, float* %2, i64 %conv13 + store float %conv2, float* %arrayidx, align 4, !tbaa !20 + %conv = zext i32 %add to i64 + %cmp1 = icmp ult i64 %conv, %4 + br i1 %cmp1, label %for.body, label %if.end.loopexit, !llvm.loop !38 + +if.end.loopexit: ; preds = %for.body + br label %if.end + +if.end: ; preds = %if.end.loopexit, %middle.block, %if.then, %entry + ret void +} + +; Function Attrs: nounwind uwtable +define void @_Z17printTensorValuesPv(i8* %tensor_ptr) local_unnamed_addr #3 { +entry: + tail call void @hpvm_request_tensor(i8* %tensor_ptr, i32 0) #2 + %data_type = bitcast i8* %tensor_ptr to i32* + %0 = load i32, i32* %data_type, align 8, !tbaa !19 + %cmp = icmp eq i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %host_data = getelementptr inbounds i8, i8* %tensor_ptr, i64 32 + %1 = bitcast i8* %host_data to float** + %2 = load float*, float** %1, align 8, !tbaa !18 + %num_elems = getelementptr inbounds i8, i8* %tensor_ptr, i64 48 + %3 = bitcast i8* %num_elems to i64* + %4 = load i64, i64* %3, align 8, !tbaa !16 + %cmp112 = icmp eq i64 %4, 0 + br i1 %cmp112, label %if.end, label %for.body.preheader + +for.body.preheader: ; preds = %if.then + br label %for.body + +for.body: ; preds = %for.body, %for.body.preheader + %conv14 = phi i64 [ %conv, %for.body ], [ 0, %for.body.preheader ] + %i.013 = phi i32 [ %inc, %for.body ], [ 0, %for.body.preheader ] + %arrayidx = getelementptr inbounds float, float* %2, i64 %conv14 + %5 = load float, float* %arrayidx, align 4, !tbaa !20 + %conv2 = fpext float %5 to double + %call = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.9, i64 0, i64 0), double %conv2) + %inc = add i32 %i.013, 1 + %conv = zext i32 %inc to i64 + %6 = load i64, i64* %3, align 8, !tbaa !16 + %cmp1 = icmp ult i64 %conv, %6 + br i1 %cmp1, label %for.body, label %if.end.loopexit + +if.end.loopexit: ; preds = %for.body + br label %if.end + +if.end: ; preds = %if.end.loopexit, %if.then, %entry + %putchar = tail call i32 @putchar(i32 10) #2 + ret void +} + +; Function Attrs: nounwind uwtable +define void @_Z15printTensorDimsPv(i8* nocapture readonly %tensor_ptr) local_unnamed_addr #3 { +entry: + %num_elems = getelementptr inbounds i8, i8* %tensor_ptr, i64 48 + %0 = bitcast i8* %num_elems to i64* + %1 = load i64, i64* %0, align 8, !tbaa !16 + %call = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.11, i64 0, i64 0), i64 %1) + %dims = getelementptr inbounds i8, i8* %tensor_ptr, i64 64 + %num_dims = bitcast i8* %dims to i32* + %2 = load i32, i32* %num_dims, align 8, !tbaa !13 + %cmp10 = icmp sgt i32 %2, 0 + br i1 %cmp10, label %for.body.lr.ph, label %for.cond.cleanup + +for.body.lr.ph: ; preds = %entry + %dim_sizes = getelementptr inbounds i8, i8* %tensor_ptr, i64 72 + %3 = bitcast i8* %dim_sizes to i64** + br label %for.body + +for.cond.cleanup.loopexit: ; preds = %for.body + br label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond.cleanup.loopexit, %entry + ret void + +for.body: ; preds = %for.body, %for.body.lr.ph + %indvars.iv = phi i64 [ 0, %for.body.lr.ph ], [ %indvars.iv.next, %for.body ] + %4 = load i64*, i64** %3, align 8, !tbaa !14 + %arrayidx = getelementptr inbounds i64, i64* %4, i64 %indvars.iv + %5 = load i64, i64* %arrayidx, align 8, !tbaa !15 + %6 = trunc i64 %indvars.iv to i32 + %call2 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.12, i64 0, i64 0), i32 %6, i64 %5) + %indvars.iv.next = add nuw i64 %indvars.iv, 1 + %7 = load i32, i32* %num_dims, align 8, !tbaa !13 + %8 = sext i32 %7 to i64 + %cmp = icmp slt i64 %indvars.iv.next, %8 + br i1 %cmp, label %for.body, label %for.cond.cleanup.loopexit +} + +; Function Attrs: nounwind uwtable +define void @_Z14compareTensorsPvS_(i8* %tensor1_ptr, i8* %tensor2_ptr) local_unnamed_addr #3 { +entry: + tail call void @hpvm_request_tensor(i8* %tensor1_ptr, i32 0) #2 + tail call void @hpvm_request_tensor(i8* %tensor2_ptr, i32 0) #2 + %host_data = getelementptr inbounds i8, i8* %tensor1_ptr, i64 32 + %0 = bitcast i8* %host_data to float** + %1 = load float*, float** %0, align 8, !tbaa !18 + %host_data1 = getelementptr inbounds i8, i8* %tensor2_ptr, i64 32 + %2 = bitcast i8* %host_data1 to float** + %3 = load float*, float** %2, align 8, !tbaa !18 + %num_elems = getelementptr inbounds i8, i8* %tensor1_ptr, i64 48 + %4 = bitcast i8* %num_elems to i64* + %5 = load i64, i64* %4, align 8, !tbaa !16 + %cmp17 = icmp eq i64 %5, 0 + br i1 %cmp17, label %for.cond.cleanup, label %for.body.preheader + +for.body.preheader: ; preds = %entry + br label %for.body + +for.cond.cleanup.loopexit: ; preds = %for.inc + br label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond.cleanup.loopexit, %entry + ret void + +for.body: ; preds = %for.inc, %for.body.preheader + %conv19 = phi i64 [ %conv, %for.inc ], [ 0, %for.body.preheader ] + %i.018 = phi i32 [ %inc, %for.inc ], [ 0, %for.body.preheader ] + %arrayidx = getelementptr inbounds float, float* %1, i64 %conv19 + %6 = load float, float* %arrayidx, align 4, !tbaa !20 + %arrayidx3 = getelementptr inbounds float, float* %3, i64 %conv19 + %7 = load float, float* %arrayidx3, align 4, !tbaa !20 + %cmp4 = fcmp fast une float %6, %7 + br i1 %cmp4, label %if.then, label %for.inc + +if.then: ; preds = %for.body + %call = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.13, i64 0, i64 0), i32 %i.018) + tail call void @abort() #8 + unreachable + +for.inc: ; preds = %for.body + %inc = add i32 %i.018, 1 + %conv = zext i32 %inc to i64 + %cmp = icmp ult i64 %conv, %5 + br i1 %cmp, label %for.body, label %for.cond.cleanup.loopexit +} + +; Function Attrs: nounwind uwtable +define void @_Z13compareValuesPvPfm(i8* %tensor_ptr, float* nocapture readonly %data, i64 %num_elems) local_unnamed_addr #3 { +entry: + tail call void @hpvm_request_tensor(i8* %tensor_ptr, i32 0) #2 + %host_data = getelementptr inbounds i8, i8* %tensor_ptr, i64 32 + %0 = bitcast i8* %host_data to float** + %1 = load float*, float** %0, align 8, !tbaa !18 + %cmp11 = icmp eq i64 %num_elems, 0 + br i1 %cmp11, label %for.cond.cleanup, label %for.body.preheader + +for.body.preheader: ; preds = %entry + br label %for.body + +for.cond: ; preds = %for.body + %conv = zext i32 %inc to i64 + %cmp = icmp ult i64 %conv, %num_elems + br i1 %cmp, label %for.body, label %for.cond.cleanup.loopexit + +for.cond.cleanup.loopexit: ; preds = %for.cond + br label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond.cleanup.loopexit, %entry + ret void + +for.body: ; preds = %for.cond, %for.body.preheader + %conv13 = phi i64 [ %conv, %for.cond ], [ 0, %for.body.preheader ] + %i.012 = phi i32 [ %inc, %for.cond ], [ 0, %for.body.preheader ] + %arrayidx = getelementptr inbounds float, float* %1, i64 %conv13 + %2 = load float, float* %arrayidx, align 4, !tbaa !20 + %arrayidx2 = getelementptr inbounds float, float* %data, i64 %conv13 + %3 = load float, float* %arrayidx2, align 4, !tbaa !20 + %cmp3 = fcmp fast une float %2, %3 + %inc = add i32 %i.012, 1 + br i1 %cmp3, label %if.then, label %for.cond + +if.then: ; preds = %for.body + %call = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.14, i64 0, i64 0)) + tail call void @abort() #8 + unreachable +} + +; Function Attrs: nounwind uwtable +define i8* @_Z15readInputTensorPKciiiii(i8* %file_name, i32 %data_type, i32 %dim1_size, i32 %dim2_size, i32 %dim3_size, i32 %dim4_size) local_unnamed_addr #3 { +entry: + %mul = mul nsw i32 %dim2_size, %dim1_size + %mul1 = mul nsw i32 %mul, %dim3_size + %mul2 = mul nsw i32 %mul1, %dim4_size + %mul3 = shl i32 %dim1_size, 2 + %mul4 = mul nsw i32 %mul3, %dim2_size + %mul5 = mul nsw i32 %mul4, %dim3_size + %mul6 = mul nsw i32 %mul5, %dim4_size + %conv = sext i32 %mul2 to i64 + %call = tail call noalias i8* @malloc(i64 %conv) #2 + %mul9 = shl nsw i64 %conv, 2 + %call10 = tail call noalias i8* @malloc(i64 %mul9) #2 + %0 = bitcast i8* %call10 to float* + %call11 = tail call %struct._IO_FILE* @fopen(i8* %file_name, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.15, i64 0, i64 0)) + %cmp = icmp eq %struct._IO_FILE* %call11, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call12 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.16, i64 0, i64 0), i8* %file_name) + tail call void @abort() #8 + unreachable + +if.end: ; preds = %entry + %call14 = tail call i32 @fseek(%struct._IO_FILE* nonnull %call11, i64 16, i32 1) + %call17 = tail call i64 @fread(i8* %call, i64 1, i64 %conv, %struct._IO_FILE* nonnull %call11) + %cmp1966 = icmp eq i32 %mul2, 0 + br i1 %cmp1966, label %for.cond.cleanup, label %for.body.preheader + +for.body.preheader: ; preds = %if.end + %1 = icmp ugt i64 %conv, 1 + %umax = select i1 %1, i64 %conv, i64 1 + %min.iters.check = icmp ult i64 %umax, 8 + br i1 %min.iters.check, label %for.body.preheader72, label %min.iters.checked + +for.body.preheader72: ; preds = %middle.block, %min.iters.checked, %for.body.preheader + %i.067.ph = phi i64 [ 0, %min.iters.checked ], [ 0, %for.body.preheader ], [ %n.vec, %middle.block ] + br label %for.body + +min.iters.checked: ; preds = %for.body.preheader + %n.vec = and i64 %umax, -8 + %cmp.zero = icmp eq i64 %n.vec, 0 + br i1 %cmp.zero, label %for.body.preheader72, label %vector.body.preheader + +vector.body.preheader: ; preds = %min.iters.checked + %2 = add nsw i64 %n.vec, -8 + %3 = lshr exact i64 %2, 3 + %4 = and i64 %3, 1 + %lcmp.mod = icmp eq i64 %4, 0 + br i1 %lcmp.mod, label %vector.body.prol.preheader, label %vector.body.prol.loopexit + +vector.body.prol.preheader: ; preds = %vector.body.preheader + br label %vector.body.prol + +vector.body.prol: ; preds = %vector.body.prol.preheader + %5 = bitcast i8* %call to <4 x i8>* + %wide.load.prol = load <4 x i8>, <4 x i8>* %5, align 1, !tbaa !39 + %6 = getelementptr i8, i8* %call, i64 4 + %7 = bitcast i8* %6 to <4 x i8>* + %wide.load71.prol = load <4 x i8>, <4 x i8>* %7, align 1, !tbaa !39 + %8 = uitofp <4 x i8> %wide.load.prol to <4 x float> + %9 = uitofp <4 x i8> %wide.load71.prol to <4 x float> + %10 = fmul fast <4 x float> %8, <float 0x3F70101020000000, float 0x3F70101020000000, float 0x3F70101020000000, float 0x3F70101020000000> + %11 = fmul fast <4 x float> %9, <float 0x3F70101020000000, float 0x3F70101020000000, float 0x3F70101020000000, float 0x3F70101020000000> + %12 = bitcast i8* %call10 to <4 x float>* + store <4 x float> %10, <4 x float>* %12, align 4, !tbaa !20 + %13 = getelementptr i8, i8* %call10, i64 16 + %14 = bitcast i8* %13 to <4 x float>* + store <4 x float> %11, <4 x float>* %14, align 4, !tbaa !20 + br label %vector.body.prol.loopexit + +vector.body.prol.loopexit: ; preds = %vector.body.prol, %vector.body.preheader + %index.unr = phi i64 [ 0, %vector.body.preheader ], [ 8, %vector.body.prol ] + %15 = icmp eq i64 %3, 0 + br i1 %15, label %middle.block, label %vector.body.preheader.new + +vector.body.preheader.new: ; preds = %vector.body.prol.loopexit + br label %vector.body + +vector.body: ; preds = %vector.body, %vector.body.preheader.new + %index = phi i64 [ %index.unr, %vector.body.preheader.new ], [ %index.next.1, %vector.body ] + %16 = getelementptr inbounds i8, i8* %call, i64 %index + %17 = bitcast i8* %16 to <4 x i8>* + %wide.load = load <4 x i8>, <4 x i8>* %17, align 1, !tbaa !39 + %18 = getelementptr i8, i8* %16, i64 4 + %19 = bitcast i8* %18 to <4 x i8>* + %wide.load71 = load <4 x i8>, <4 x i8>* %19, align 1, !tbaa !39 + %20 = uitofp <4 x i8> %wide.load to <4 x float> + %21 = uitofp <4 x i8> %wide.load71 to <4 x float> + %22 = fmul fast <4 x float> %20, <float 0x3F70101020000000, float 0x3F70101020000000, float 0x3F70101020000000, float 0x3F70101020000000> + %23 = fmul fast <4 x float> %21, <float 0x3F70101020000000, float 0x3F70101020000000, float 0x3F70101020000000, float 0x3F70101020000000> + %24 = getelementptr inbounds float, float* %0, i64 %index + %25 = bitcast float* %24 to <4 x float>* + store <4 x float> %22, <4 x float>* %25, align 4, !tbaa !20 + %26 = getelementptr float, float* %24, i64 4 + %27 = bitcast float* %26 to <4 x float>* + store <4 x float> %23, <4 x float>* %27, align 4, !tbaa !20 + %index.next = add i64 %index, 8 + %28 = getelementptr inbounds i8, i8* %call, i64 %index.next + %29 = bitcast i8* %28 to <4 x i8>* + %wide.load.1 = load <4 x i8>, <4 x i8>* %29, align 1, !tbaa !39 + %30 = getelementptr i8, i8* %28, i64 4 + %31 = bitcast i8* %30 to <4 x i8>* + %wide.load71.1 = load <4 x i8>, <4 x i8>* %31, align 1, !tbaa !39 + %32 = uitofp <4 x i8> %wide.load.1 to <4 x float> + %33 = uitofp <4 x i8> %wide.load71.1 to <4 x float> + %34 = fmul fast <4 x float> %32, <float 0x3F70101020000000, float 0x3F70101020000000, float 0x3F70101020000000, float 0x3F70101020000000> + %35 = fmul fast <4 x float> %33, <float 0x3F70101020000000, float 0x3F70101020000000, float 0x3F70101020000000, float 0x3F70101020000000> + %36 = getelementptr inbounds float, float* %0, i64 %index.next + %37 = bitcast float* %36 to <4 x float>* + store <4 x float> %34, <4 x float>* %37, align 4, !tbaa !20 + %38 = getelementptr float, float* %36, i64 4 + %39 = bitcast float* %38 to <4 x float>* + store <4 x float> %35, <4 x float>* %39, align 4, !tbaa !20 + %index.next.1 = add i64 %index, 16 + %40 = icmp eq i64 %index.next.1, %n.vec + br i1 %40, label %middle.block.unr-lcssa, label %vector.body, !llvm.loop !40 + +middle.block.unr-lcssa: ; preds = %vector.body + br label %middle.block + +middle.block: ; preds = %middle.block.unr-lcssa, %vector.body.prol.loopexit + %cmp.n = icmp eq i64 %umax, %n.vec + br i1 %cmp.n, label %for.cond.cleanup.loopexit, label %for.body.preheader72 + +for.cond.cleanup.loopexit.loopexit: ; preds = %for.body + br label %for.cond.cleanup.loopexit + +for.cond.cleanup.loopexit: ; preds = %for.cond.cleanup.loopexit.loopexit, %middle.block + %arrayidx22.phi.trans.insert = getelementptr inbounds i8, i8* %call10, i64 40 + %.phi.trans.insert = bitcast i8* %arrayidx22.phi.trans.insert to float* + %.pre = load float, float* %.phi.trans.insert, align 4, !tbaa !20 + %phitmp = fpext float %.pre to double + br label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond.cleanup.loopexit, %if.end + %41 = phi double [ %phitmp, %for.cond.cleanup.loopexit ], [ undef, %if.end ] + %call24 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.17, i64 0, i64 0), i32 10, double %41) + %conv25 = sext i32 %dim1_size to i64 + %conv26 = sext i32 %dim2_size to i64 + %conv27 = sext i32 %dim3_size to i64 + %conv28 = sext i32 %dim4_size to i64 + %call29 = tail call i8* @create4DTensor(i32 %data_type, i32 0, i64 %conv25, i64 %conv26, i64 %conv27, i64 %conv28) #2 + %conv30 = sext i32 %mul6 to i64 + tail call void @initTensorData(i8* %call29, i8* %call10, i64 %conv30) #2 + tail call void @hpvm_request_tensor(i8* %call29, i32 0) #2 + %host_data.i = getelementptr inbounds i8, i8* %call29, i64 32 + %42 = bitcast i8* %host_data.i to float** + %43 = load float*, float** %42, align 8, !tbaa !18 + br i1 %cmp1966, label %_Z13compareValuesPvPfm.exit, label %for.body.i.preheader + +for.body.i.preheader: ; preds = %for.cond.cleanup + br label %for.body.i + +for.cond.i: ; preds = %for.body.i + %conv.i = zext i32 %inc.i to i64 + %cmp.i = icmp ult i64 %conv.i, %conv + br i1 %cmp.i, label %for.body.i, label %_Z13compareValuesPvPfm.exit.loopexit + +for.body.i: ; preds = %for.cond.i, %for.body.i.preheader + %conv13.i = phi i64 [ %conv.i, %for.cond.i ], [ 0, %for.body.i.preheader ] + %i.012.i = phi i32 [ %inc.i, %for.cond.i ], [ 0, %for.body.i.preheader ] + %arrayidx.i = getelementptr inbounds float, float* %43, i64 %conv13.i + %44 = load float, float* %arrayidx.i, align 4, !tbaa !20 + %arrayidx2.i = getelementptr inbounds float, float* %0, i64 %conv13.i + %45 = load float, float* %arrayidx2.i, align 4, !tbaa !20 + %cmp3.i = fcmp fast une float %44, %45 + %inc.i = add i32 %i.012.i, 1 + br i1 %cmp3.i, label %if.then.i, label %for.cond.i + +if.then.i: ; preds = %for.body.i + %call.i = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.14, i64 0, i64 0)) #2 + tail call void @abort() #8 + unreachable + +_Z13compareValuesPvPfm.exit.loopexit: ; preds = %for.cond.i + br label %_Z13compareValuesPvPfm.exit + +_Z13compareValuesPvPfm.exit: ; preds = %_Z13compareValuesPvPfm.exit.loopexit, %for.cond.cleanup + ret i8* %call29 + +for.body: ; preds = %for.body, %for.body.preheader72 + %i.067 = phi i64 [ %inc, %for.body ], [ %i.067.ph, %for.body.preheader72 ] + %arrayidx = getelementptr inbounds i8, i8* %call, i64 %i.067 + %46 = load i8, i8* %arrayidx, align 1, !tbaa !39 + %conv20 = uitofp i8 %46 to float + %div = fmul fast float %conv20, 0x3F70101020000000 + %arrayidx21 = getelementptr inbounds float, float* %0, i64 %i.067 + store float %div, float* %arrayidx21, align 4, !tbaa !20 + %inc = add nuw i64 %i.067, 1 + %cmp19 = icmp ult i64 %inc, %conv + br i1 %cmp19, label %for.body, label %for.cond.cleanup.loopexit.loopexit, !llvm.loop !41 +} + +; Function Attrs: nounwind +declare noalias i8* @malloc(i64) local_unnamed_addr #1 + +; Function Attrs: nounwind +declare i32 @fseek(%struct._IO_FILE* nocapture, i64, i32) local_unnamed_addr #1 + +; Function Attrs: nounwind +declare i64 @fread(i8* nocapture, i64, i64, %struct._IO_FILE* nocapture) local_unnamed_addr #1 + +declare i8* @create4DTensor(i32, i32, i64, i64, i64, i64) local_unnamed_addr #0 + +declare void @initTensorData(i8*, i8*, i64) local_unnamed_addr #0 + +; Function Attrs: nounwind uwtable +define %struct.Tensor* @_Z18readTrainedWeightsPKciiiii(i8* %file_name, i32 %data_type, i32 %dim1_size, i32 %dim2_size, i32 %dim3_size, i32 %dim4_size) local_unnamed_addr #3 { +entry: + %mul = mul nsw i32 %dim2_size, %dim1_size + %mul1 = mul nsw i32 %mul, %dim3_size + %mul2 = mul nsw i32 %mul1, %dim4_size + %conv = sext i32 %mul2 to i64 + %mul7 = shl nsw i64 %conv, 2 + %call = tail call noalias i8* @malloc(i64 %mul7) #2 + %call8 = tail call %struct._IO_FILE* @fopen(i8* %file_name, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.15, i64 0, i64 0)) + %cmp = icmp eq %struct._IO_FILE* %call8, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call9 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.16, i64 0, i64 0), i8* %file_name) + tail call void @abort() #8 + unreachable + +if.end: ; preds = %entry + %0 = bitcast i8* %call to float* + %mul3 = shl i32 %dim1_size, 2 + %mul4 = mul nsw i32 %mul3, %dim2_size + %mul5 = mul nsw i32 %mul4, %dim3_size + %mul6 = mul nsw i32 %mul5, %dim4_size + %call11 = tail call i32 @fseek(%struct._IO_FILE* nonnull %call8, i64 0, i32 1) + %conv12 = sext i32 %mul6 to i64 + %call13 = tail call i64 @fread(i8* %call, i64 1, i64 %conv12, %struct._IO_FILE* nonnull %call8) + %conv14 = sext i32 %dim1_size to i64 + %conv15 = sext i32 %dim2_size to i64 + %conv16 = sext i32 %dim3_size to i64 + %conv17 = sext i32 %dim4_size to i64 + %call18 = tail call i8* @create4DTensor(i32 %data_type, i32 0, i64 %conv14, i64 %conv15, i64 %conv16, i64 %conv17) #2 + %1 = bitcast i8* %call18 to %struct.Tensor* + tail call void @initTensorData(i8* %call18, i8* %call, i64 %conv12) #2 + tail call void @hpvm_request_tensor(i8* %call18, i32 0) #2 + %host_data.i = getelementptr inbounds i8, i8* %call18, i64 32 + %2 = bitcast i8* %host_data.i to float** + %3 = load float*, float** %2, align 8, !tbaa !18 + %cmp11.i = icmp eq i32 %mul2, 0 + br i1 %cmp11.i, label %_Z13compareValuesPvPfm.exit, label %for.body.i.preheader + +for.body.i.preheader: ; preds = %if.end + br label %for.body.i + +for.cond.i: ; preds = %for.body.i + %conv.i = zext i32 %inc.i to i64 + %cmp.i = icmp ult i64 %conv.i, %conv + br i1 %cmp.i, label %for.body.i, label %_Z13compareValuesPvPfm.exit.loopexit + +for.body.i: ; preds = %for.cond.i, %for.body.i.preheader + %conv13.i = phi i64 [ %conv.i, %for.cond.i ], [ 0, %for.body.i.preheader ] + %i.012.i = phi i32 [ %inc.i, %for.cond.i ], [ 0, %for.body.i.preheader ] + %arrayidx.i = getelementptr inbounds float, float* %3, i64 %conv13.i + %4 = load float, float* %arrayidx.i, align 4, !tbaa !20 + %arrayidx2.i = getelementptr inbounds float, float* %0, i64 %conv13.i + %5 = load float, float* %arrayidx2.i, align 4, !tbaa !20 + %cmp3.i = fcmp fast une float %4, %5 + %inc.i = add i32 %i.012.i, 1 + br i1 %cmp3.i, label %if.then.i, label %for.cond.i + +if.then.i: ; preds = %for.body.i + %call.i = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.14, i64 0, i64 0)) #2 + tail call void @abort() #8 + unreachable + +_Z13compareValuesPvPfm.exit.loopexit: ; preds = %for.cond.i + br label %_Z13compareValuesPvPfm.exit + +_Z13compareValuesPvPfm.exit: ; preds = %_Z13compareValuesPvPfm.exit.loopexit, %if.end + ret %struct.Tensor* %1 +} + +; Function Attrs: nounwind uwtable +define noalias i8* @_Z10readLabelsPci(i8* %labels_file, i32 %num_labels) local_unnamed_addr #3 { +entry: + %conv = sext i32 %num_labels to i64 + %call = tail call noalias i8* @malloc(i64 %conv) #2 + %call1 = tail call %struct._IO_FILE* @fopen(i8* %labels_file, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.15, i64 0, i64 0)) + %cmp = icmp eq %struct._IO_FILE* %call1, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call2 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.18, i64 0, i64 0), i8* %labels_file) + tail call void @abort() #8 + unreachable + +if.end: ; preds = %entry + %call4 = tail call i32 @fseek(%struct._IO_FILE* nonnull %call1, i64 8, i32 1) + %call7 = tail call i64 @fread(i8* %call, i64 1, i64 %conv, %struct._IO_FILE* nonnull %call1) + %call8 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.19, i64 0, i64 0), i64 %call7) + ret i8* %call +} + +; Function Attrs: nounwind uwtable +define void @_Z15computeAccuracyPciPv(i8* %labels_file, i32 %num_labels, i8* nocapture readonly %result_ptr) local_unnamed_addr #3 { +entry: + %ss = alloca %"class.std::__cxx11::basic_ostringstream", align 16 + %print_str = alloca %"class.std::__cxx11::basic_string", align 8 + %call = tail call i8* @_Z10readLabelsPci(i8* %labels_file, i32 %num_labels) + %dim_sizes = getelementptr inbounds i8, i8* %result_ptr, i64 72 + %0 = bitcast i8* %dim_sizes to i64** + %1 = load i64*, i64** %0, align 8, !tbaa !14 + %2 = load i64, i64* %1, align 8, !tbaa !15 + %arrayidx3 = getelementptr inbounds i64, i64* %1, i64 1 + %3 = load i64, i64* %arrayidx3, align 8, !tbaa !15 + %host_data = getelementptr inbounds i8, i8* %result_ptr, i64 32 + %4 = bitcast i8* %host_data to float** + %5 = load float*, float** %4, align 8, !tbaa !18 + %cmp87 = icmp eq i64 %2, 0 + br i1 %cmp87, label %for.cond.cleanup, label %for.cond4.preheader.preheader + +for.cond4.preheader.preheader: ; preds = %entry + br label %for.cond4.preheader + +for.cond4.preheader: ; preds = %for.cond4.preheader, %for.cond4.preheader.preheader + %indvars.iv = phi i64 [ %indvars.iv.next, %for.cond4.preheader ], [ 0, %for.cond4.preheader.preheader ] + %num_errors.089 = phi i32 [ %num_errors.0.inc21, %for.cond4.preheader ], [ 0, %for.cond4.preheader.preheader ] + %mul = mul i64 %indvars.iv, %3 + %arrayidx10 = getelementptr inbounds float, float* %5, i64 %mul + %6 = load float, float* %arrayidx10, align 4, !tbaa !20 + %add14 = add i64 %mul, 1 + %arrayidx15 = getelementptr inbounds float, float* %5, i64 %add14 + %7 = load float, float* %arrayidx15, align 4, !tbaa !20 + %cmp16 = fcmp fast olt float %6, %7 + %chosen.1 = zext i1 %cmp16 to i32 + %conv9.1 = zext i1 %cmp16 to i64 + %add.1 = add i64 %conv9.1, %mul + %arrayidx10.1 = getelementptr inbounds float, float* %5, i64 %add.1 + %8 = load float, float* %arrayidx10.1, align 4, !tbaa !20 + %add14.1 = add i64 %mul, 2 + %arrayidx15.1 = getelementptr inbounds float, float* %5, i64 %add14.1 + %9 = load float, float* %arrayidx15.1, align 4, !tbaa !20 + %cmp16.1 = fcmp fast olt float %8, %9 + %chosen.1.1 = select i1 %cmp16.1, i32 2, i32 %chosen.1 + %conv9.291 = zext i32 %chosen.1.1 to i64 + %add.2 = add i64 %conv9.291, %mul + %arrayidx10.2 = getelementptr inbounds float, float* %5, i64 %add.2 + %10 = load float, float* %arrayidx10.2, align 4, !tbaa !20 + %add14.2 = add i64 %mul, 3 + %arrayidx15.2 = getelementptr inbounds float, float* %5, i64 %add14.2 + %11 = load float, float* %arrayidx15.2, align 4, !tbaa !20 + %cmp16.2 = fcmp fast olt float %10, %11 + %chosen.1.2 = select i1 %cmp16.2, i32 3, i32 %chosen.1.1 + %conv9.392 = zext i32 %chosen.1.2 to i64 + %add.3 = add i64 %conv9.392, %mul + %arrayidx10.3 = getelementptr inbounds float, float* %5, i64 %add.3 + %12 = load float, float* %arrayidx10.3, align 4, !tbaa !20 + %add14.3 = add i64 %mul, 4 + %arrayidx15.3 = getelementptr inbounds float, float* %5, i64 %add14.3 + %13 = load float, float* %arrayidx15.3, align 4, !tbaa !20 + %cmp16.3 = fcmp fast olt float %12, %13 + %chosen.1.3 = select i1 %cmp16.3, i32 4, i32 %chosen.1.2 + %conv9.493 = zext i32 %chosen.1.3 to i64 + %add.4 = add i64 %conv9.493, %mul + %arrayidx10.4 = getelementptr inbounds float, float* %5, i64 %add.4 + %14 = load float, float* %arrayidx10.4, align 4, !tbaa !20 + %add14.4 = add i64 %mul, 5 + %arrayidx15.4 = getelementptr inbounds float, float* %5, i64 %add14.4 + %15 = load float, float* %arrayidx15.4, align 4, !tbaa !20 + %cmp16.4 = fcmp fast olt float %14, %15 + %chosen.1.4 = select i1 %cmp16.4, i32 5, i32 %chosen.1.3 + %conv9.594 = zext i32 %chosen.1.4 to i64 + %add.5 = add i64 %conv9.594, %mul + %arrayidx10.5 = getelementptr inbounds float, float* %5, i64 %add.5 + %16 = load float, float* %arrayidx10.5, align 4, !tbaa !20 + %add14.5 = add i64 %mul, 6 + %arrayidx15.5 = getelementptr inbounds float, float* %5, i64 %add14.5 + %17 = load float, float* %arrayidx15.5, align 4, !tbaa !20 + %cmp16.5 = fcmp fast olt float %16, %17 + %chosen.1.5 = select i1 %cmp16.5, i32 6, i32 %chosen.1.4 + %18 = zext i32 %chosen.1.5 to i64 + %add.6 = add i64 %18, %mul + %arrayidx10.6 = getelementptr inbounds float, float* %5, i64 %add.6 + %19 = load float, float* %arrayidx10.6, align 4, !tbaa !20 + %add14.6 = add i64 %mul, 7 + %arrayidx15.6 = getelementptr inbounds float, float* %5, i64 %add14.6 + %20 = load float, float* %arrayidx15.6, align 4, !tbaa !20 + %cmp16.6 = fcmp fast olt float %19, %20 + %chosen.1.6 = select i1 %cmp16.6, i32 7, i32 %chosen.1.5 + %conv9.7 = sext i32 %chosen.1.6 to i64 + %add.7 = add i64 %conv9.7, %mul + %arrayidx10.7 = getelementptr inbounds float, float* %5, i64 %add.7 + %21 = load float, float* %arrayidx10.7, align 4, !tbaa !20 + %add14.7 = add i64 %mul, 8 + %arrayidx15.7 = getelementptr inbounds float, float* %5, i64 %add14.7 + %22 = load float, float* %arrayidx15.7, align 4, !tbaa !20 + %cmp16.7 = fcmp fast olt float %21, %22 + %chosen.1.7 = select i1 %cmp16.7, i32 8, i32 %chosen.1.6 + %conv9.8 = sext i32 %chosen.1.7 to i64 + %add.8 = add i64 %conv9.8, %mul + %arrayidx10.8 = getelementptr inbounds float, float* %5, i64 %add.8 + %23 = load float, float* %arrayidx10.8, align 4, !tbaa !20 + %add14.8 = add i64 %mul, 9 + %arrayidx15.8 = getelementptr inbounds float, float* %5, i64 %add14.8 + %24 = load float, float* %arrayidx15.8, align 4, !tbaa !20 + %cmp16.8 = fcmp fast olt float %23, %24 + %chosen.1.8 = select i1 %cmp16.8, i32 9, i32 %chosen.1.7 + %arrayidx17 = getelementptr inbounds i8, i8* %call, i64 %indvars.iv + %25 = load i8, i8* %arrayidx17, align 1, !tbaa !39 + %conv18 = zext i8 %25 to i32 + %not.cmp19 = icmp ne i32 %chosen.1.8, %conv18 + %inc21 = zext i1 %not.cmp19 to i32 + %num_errors.0.inc21 = add nsw i32 %inc21, %num_errors.089 + %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 + %exitcond = icmp eq i64 %indvars.iv.next, %2 + br i1 %exitcond, label %for.cond.cleanup.loopexit, label %for.cond4.preheader + +for.cond.cleanup.loopexit: ; preds = %for.cond4.preheader + %phitmp = sext i32 %num_errors.0.inc21 to i64 + br label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond.cleanup.loopexit, %entry + %num_errors.0.lcssa = phi i64 [ 0, %entry ], [ %phitmp, %for.cond.cleanup.loopexit ] + %sub = sub i64 %2, %num_errors.0.lcssa + %conv27 = uitofp i64 %sub to double + %conv29 = uitofp i64 %2 to double + %div = fdiv fast double %conv27, %conv29 + %mul31 = fmul fast double %div, 1.000000e+02 + %conv32 = fptrunc double %mul31 to float + %conv33 = fpext float %conv32 to double + %call34 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.20, i64 0, i64 0), double %conv33) + %call35 = tail call %struct._IO_FILE* @fopen(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.21, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.22, i64 0, i64 0)) + %cmp36 = icmp eq %struct._IO_FILE* %call35, null + br i1 %cmp36, label %if.end44, label %if.then37 + +if.then37: ; preds = %for.cond.cleanup + %26 = bitcast %"class.std::__cxx11::basic_ostringstream"* %ss to i8* + call void @llvm.lifetime.start(i64 376, i8* nonnull %26) #2 + %27 = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 2 + %28 = getelementptr inbounds %"class.std::basic_ios", %"class.std::basic_ios"* %27, i64 0, i32 0 + call void @_ZNSt8ios_baseC2Ev(%"class.std::ios_base"* %28) #2 + %29 = getelementptr inbounds %"class.std::basic_ios", %"class.std::basic_ios"* %27, i64 0, i32 0, i32 0 + store i32 (...)** bitcast (i8** getelementptr inbounds ({ [4 x i8*] }, { [4 x i8*] }* @_ZTVSt9basic_iosIcSt11char_traitsIcEE, i64 0, inrange i32 0, i64 2) to i32 (...)**), i32 (...)*** %29, align 16, !tbaa !43 + %_M_tie.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 2, i32 1 + store %"class.std::basic_ostream"* null, %"class.std::basic_ostream"** %_M_tie.i.i, align 8, !tbaa !45 + %_M_fill.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 2, i32 2 + store i8 0, i8* %_M_fill.i.i, align 16, !tbaa !48 + %_M_fill_init.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 2, i32 3 + store i8 0, i8* %_M_fill_init.i.i, align 1, !tbaa !49 + %_M_streambuf.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 2, i32 4 + %30 = bitcast %"class.std::basic_streambuf"** %_M_streambuf.i.i to i8* + call void @llvm.memset.p0i8.i64(i8* %30, i8 0, i64 32, i32 8, i1 false) #2 + %31 = load i64, i64* bitcast (i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @_ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE, i64 0, i64 1) to i64*), align 8 + %32 = bitcast %"class.std::__cxx11::basic_ostringstream"* %ss to i64* + store i64 %31, i64* %32, align 16, !tbaa !43 + %33 = load i64, i64* bitcast (i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @_ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE, i64 0, i64 2) to i64*), align 8 + %34 = bitcast %"class.std::__cxx11::basic_ostringstream"* %ss to i8** + %vtable.cast.i.i = inttoptr i64 %31 to i8* + %vbase.offset.ptr.i.i = getelementptr i8, i8* %vtable.cast.i.i, i64 -24 + %35 = bitcast i8* %vbase.offset.ptr.i.i to i64* + %vbase.offset.i.i = load i64, i64* %35, align 8 + %add.ptr.i.i = getelementptr inbounds i8, i8* %26, i64 %vbase.offset.i.i + %36 = bitcast i8* %add.ptr.i.i to i64* + store i64 %33, i64* %36, align 8, !tbaa !43 + %vtable3.i.i = load i8*, i8** %34, align 16, !tbaa !43 + %vbase.offset.ptr4.i.i = getelementptr i8, i8* %vtable3.i.i, i64 -24 + %37 = bitcast i8* %vbase.offset.ptr4.i.i to i64* + %vbase.offset5.i.i = load i64, i64* %37, align 8 + %add.ptr6.i.i = getelementptr inbounds i8, i8* %26, i64 %vbase.offset5.i.i + %38 = bitcast i8* %add.ptr6.i.i to %"class.std::basic_ios"* + call void @_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E(%"class.std::basic_ios"* %38, %"class.std::basic_streambuf"* null) #2 + store i32 (...)** bitcast (i8** getelementptr inbounds ({ [5 x i8*], [5 x i8*] }, { [5 x i8*], [5 x i8*] }* @_ZTVNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE, i64 0, inrange i32 1, i64 3) to i32 (...)**), i32 (...)*** %29, align 16, !tbaa !43 + %_M_stringbuf.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1 + %39 = getelementptr inbounds %"class.std::__cxx11::basic_stringbuf", %"class.std::__cxx11::basic_stringbuf"* %_M_stringbuf.i, i64 0, i32 0, i32 0 + %40 = bitcast %"class.std::__cxx11::basic_ostringstream"* %ss to <2 x i32 (...)**>* + store <2 x i32 (...)**> <i32 (...)** bitcast (i8** getelementptr inbounds ({ [5 x i8*], [5 x i8*] }, { [5 x i8*], [5 x i8*] }* @_ZTVNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE, i64 0, inrange i32 0, i64 3) to i32 (...)**), i32 (...)** bitcast (i8** getelementptr inbounds ({ [16 x i8*] }, { [16 x i8*] }* @_ZTVSt15basic_streambufIcSt11char_traitsIcEE, i64 0, inrange i32 0, i64 2) to i32 (...)**)>, <2 x i32 (...)**>* %40, align 16, !tbaa !43 + %_M_in_beg.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1, i32 0, i32 1 + %_M_buf_locale.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1, i32 0, i32 7 + %41 = bitcast i8** %_M_in_beg.i.i.i to i8* + call void @llvm.memset.p0i8.i64(i8* %41, i8 0, i64 48, i32 8, i1 false) #2 + call void @_ZNSt6localeC1Ev(%"class.std::locale"* %_M_buf_locale.i.i.i) #2 + store i32 (...)** bitcast (i8** getelementptr inbounds ({ [16 x i8*] }, { [16 x i8*] }* @_ZTVNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE, i64 0, inrange i32 0, i64 2) to i32 (...)**), i32 (...)*** %39, align 8, !tbaa !43 + %_M_mode.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1, i32 1 + store i32 16, i32* %_M_mode.i.i, align 8, !tbaa !50 + %_M_string.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1, i32 2 + %42 = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1, i32 2, i32 2 + %43 = bitcast %"class.std::__cxx11::basic_string"* %_M_string.i.i to %union.anon** + store %union.anon* %42, %union.anon** %43, align 8, !tbaa !55 + %_M_string_length.i.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1, i32 2, i32 1 + store i64 0, i64* %_M_string_length.i.i.i.i.i, align 8, !tbaa !56 + %.cast.i.i.i = bitcast %union.anon* %42 to i8* + store i8 0, i8* %.cast.i.i.i, align 8, !tbaa !39 + %vtable.i = load i8*, i8** %34, align 16, !tbaa !43 + %vbase.offset.ptr.i = getelementptr i8, i8* %vtable.i, i64 -24 + %44 = bitcast i8* %vbase.offset.ptr.i to i64* + %vbase.offset.i = load i64, i64* %44, align 8 + %add.ptr2.i = getelementptr inbounds i8, i8* %26, i64 %vbase.offset.i + %45 = bitcast i8* %add.ptr2.i to %"class.std::basic_ios"* + %46 = getelementptr inbounds %"class.std::__cxx11::basic_stringbuf", %"class.std::__cxx11::basic_stringbuf"* %_M_stringbuf.i, i64 0, i32 0 + call void @_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E(%"class.std::basic_ios"* %45, %"class.std::basic_streambuf"* %46) #2 + %47 = bitcast %"class.std::__cxx11::basic_ostringstream"* %ss to %"class.std::basic_ostream"* + %vtable.i74 = load i8*, i8** %34, align 16, !tbaa !43 + %vbase.offset.ptr.i75 = getelementptr i8, i8* %vtable.i74, i64 -24 + %48 = bitcast i8* %vbase.offset.ptr.i75 to i64* + %vbase.offset.i76 = load i64, i64* %48, align 8 + %add.ptr.i = getelementptr inbounds i8, i8* %26, i64 %vbase.offset.i76 + %_M_flags.i = getelementptr inbounds i8, i8* %add.ptr.i, i64 24 + %49 = bitcast i8* %_M_flags.i to i32* + %50 = load i32, i32* %49, align 4, !tbaa !57 + %and.i = and i32 %50, -261 + %or.i = or i32 %and.i, 4 + store i32 %or.i, i32* %49, align 4, !tbaa !57 + %call.i = call dereferenceable(272) %"class.std::basic_ostream"* @_ZNSo9_M_insertIdEERSoT_(%"class.std::basic_ostream"* nonnull %47, double %conv33) #2 + %51 = bitcast %"class.std::__cxx11::basic_string"* %print_str to i8* + call void @llvm.lifetime.start(i64 32, i8* nonnull %51) #2 + call void @_ZNKSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strEv(%"class.std::__cxx11::basic_string"* nonnull sret %print_str, %"class.std::__cxx11::basic_stringbuf"* %_M_stringbuf.i) #2 + %_M_p.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %print_str, i64 0, i32 0, i32 0 + %52 = load i8*, i8** %_M_p.i.i, align 8, !tbaa !59 + %_M_string_length.i = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %print_str, i64 0, i32 1 + %53 = load i64, i64* %_M_string_length.i, align 8, !tbaa !56 + %call42 = call i64 @fwrite(i8* %52, i64 1, i64 %53, %struct._IO_FILE* nonnull %call35) + %call43 = call i32 @fclose(%struct._IO_FILE* nonnull %call35) + %54 = load i8*, i8** %_M_p.i.i, align 8, !tbaa !59 + %55 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %print_str, i64 0, i32 2 + %arraydecay.i.i.i.i = bitcast %union.anon* %55 to i8* + %cmp.i.i.i = icmp eq i8* %54, %arraydecay.i.i.i.i + br i1 %cmp.i.i.i, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit, label %if.then.i.i + +if.then.i.i: ; preds = %if.then37 + call void @_ZdlPv(i8* %54) #2 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit + +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit: ; preds = %if.then.i.i, %if.then37 + call void @llvm.lifetime.end(i64 32, i8* nonnull %51) #2 + %56 = load i64, i64* bitcast ([4 x i8*]* @_ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE to i64*), align 8 + store i64 %56, i64* %32, align 16, !tbaa !43 + %57 = load i64, i64* bitcast (i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @_ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE, i64 0, i64 3) to i64*), align 8 + %vtable.cast.i.i81 = inttoptr i64 %56 to i8* + %vbase.offset.ptr.i.i82 = getelementptr i8, i8* %vtable.cast.i.i81, i64 -24 + %58 = bitcast i8* %vbase.offset.ptr.i.i82 to i64* + %vbase.offset.i.i83 = load i64, i64* %58, align 8 + %add.ptr.i.i84 = getelementptr inbounds i8, i8* %26, i64 %vbase.offset.i.i83 + %59 = bitcast i8* %add.ptr.i.i84 to i64* + store i64 %57, i64* %59, align 8, !tbaa !43 + %60 = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1, i32 0, i32 0 + store i32 (...)** bitcast (i8** getelementptr inbounds ({ [16 x i8*] }, { [16 x i8*] }* @_ZTVNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE, i64 0, inrange i32 0, i64 2) to i32 (...)**), i32 (...)*** %60, align 8, !tbaa !43 + %_M_p.i.i.i.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1, i32 2, i32 0, i32 0 + %61 = load i8*, i8** %_M_p.i.i.i.i.i.i.i, align 8, !tbaa !59 + %cmp.i.i.i.i.i.i = icmp eq i8* %61, %.cast.i.i.i + br i1 %cmp.i.i.i.i.i.i, label %_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev.exit, label %if.then.i.i.i.i.i + +if.then.i.i.i.i.i: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit + call void @_ZdlPv(i8* %61) #2 + br label %_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev.exit + +_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev.exit: ; preds = %if.then.i.i.i.i.i, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit + store i32 (...)** bitcast (i8** getelementptr inbounds ({ [16 x i8*] }, { [16 x i8*] }* @_ZTVSt15basic_streambufIcSt11char_traitsIcEE, i64 0, inrange i32 0, i64 2) to i32 (...)**), i32 (...)*** %60, align 8, !tbaa !43 + call void @_ZNSt6localeD1Ev(%"class.std::locale"* nonnull %_M_buf_locale.i.i.i) #2 + %62 = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 2, i32 0 + call void @_ZNSt8ios_baseD2Ev(%"class.std::ios_base"* %62) #2 + call void @llvm.lifetime.end(i64 376, i8* nonnull %26) #2 + br label %if.end44 + +if.end44: ; preds = %_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev.exit, %for.cond.cleanup + ret void +} + +; Function Attrs: nounwind uwtable +define void @_Z16computeAccuracy2PhiPv(i8* nocapture readonly %labels, i32 %num_labels, i8* nocapture readonly %result_ptr) local_unnamed_addr #3 { +entry: + %ss = alloca %"class.std::__cxx11::basic_ostringstream", align 16 + %print_str = alloca %"class.std::__cxx11::basic_string", align 8 + %dim_sizes = getelementptr inbounds i8, i8* %result_ptr, i64 72 + %0 = bitcast i8* %dim_sizes to i64** + %1 = load i64*, i64** %0, align 8, !tbaa !14 + %2 = load i64, i64* %1, align 8, !tbaa !15 + %arrayidx3 = getelementptr inbounds i64, i64* %1, i64 1 + %3 = load i64, i64* %arrayidx3, align 8, !tbaa !15 + %host_data = getelementptr inbounds i8, i8* %result_ptr, i64 32 + %4 = bitcast i8* %host_data to float** + %5 = load float*, float** %4, align 8, !tbaa !18 + %cmp82 = icmp eq i64 %2, 0 + br i1 %cmp82, label %for.cond.cleanup, label %for.cond4.preheader.preheader + +for.cond4.preheader.preheader: ; preds = %entry + br label %for.cond4.preheader + +for.cond4.preheader: ; preds = %for.cond4.preheader, %for.cond4.preheader.preheader + %indvars.iv = phi i64 [ %indvars.iv.next, %for.cond4.preheader ], [ 0, %for.cond4.preheader.preheader ] + %num_errors.084 = phi i32 [ %num_errors.0.inc21, %for.cond4.preheader ], [ 0, %for.cond4.preheader.preheader ] + %mul = mul i64 %indvars.iv, %3 + %arrayidx10 = getelementptr inbounds float, float* %5, i64 %mul + %6 = load float, float* %arrayidx10, align 4, !tbaa !20 + %add14 = add i64 %mul, 1 + %arrayidx15 = getelementptr inbounds float, float* %5, i64 %add14 + %7 = load float, float* %arrayidx15, align 4, !tbaa !20 + %cmp16 = fcmp fast olt float %6, %7 + %chosen.1 = zext i1 %cmp16 to i32 + %conv9.1 = zext i1 %cmp16 to i64 + %add.1 = add i64 %conv9.1, %mul + %arrayidx10.1 = getelementptr inbounds float, float* %5, i64 %add.1 + %8 = load float, float* %arrayidx10.1, align 4, !tbaa !20 + %add14.1 = add i64 %mul, 2 + %arrayidx15.1 = getelementptr inbounds float, float* %5, i64 %add14.1 + %9 = load float, float* %arrayidx15.1, align 4, !tbaa !20 + %cmp16.1 = fcmp fast olt float %8, %9 + %chosen.1.1 = select i1 %cmp16.1, i32 2, i32 %chosen.1 + %conv9.286 = zext i32 %chosen.1.1 to i64 + %add.2 = add i64 %conv9.286, %mul + %arrayidx10.2 = getelementptr inbounds float, float* %5, i64 %add.2 + %10 = load float, float* %arrayidx10.2, align 4, !tbaa !20 + %add14.2 = add i64 %mul, 3 + %arrayidx15.2 = getelementptr inbounds float, float* %5, i64 %add14.2 + %11 = load float, float* %arrayidx15.2, align 4, !tbaa !20 + %cmp16.2 = fcmp fast olt float %10, %11 + %chosen.1.2 = select i1 %cmp16.2, i32 3, i32 %chosen.1.1 + %conv9.387 = zext i32 %chosen.1.2 to i64 + %add.3 = add i64 %conv9.387, %mul + %arrayidx10.3 = getelementptr inbounds float, float* %5, i64 %add.3 + %12 = load float, float* %arrayidx10.3, align 4, !tbaa !20 + %add14.3 = add i64 %mul, 4 + %arrayidx15.3 = getelementptr inbounds float, float* %5, i64 %add14.3 + %13 = load float, float* %arrayidx15.3, align 4, !tbaa !20 + %cmp16.3 = fcmp fast olt float %12, %13 + %chosen.1.3 = select i1 %cmp16.3, i32 4, i32 %chosen.1.2 + %conv9.488 = zext i32 %chosen.1.3 to i64 + %add.4 = add i64 %conv9.488, %mul + %arrayidx10.4 = getelementptr inbounds float, float* %5, i64 %add.4 + %14 = load float, float* %arrayidx10.4, align 4, !tbaa !20 + %add14.4 = add i64 %mul, 5 + %arrayidx15.4 = getelementptr inbounds float, float* %5, i64 %add14.4 + %15 = load float, float* %arrayidx15.4, align 4, !tbaa !20 + %cmp16.4 = fcmp fast olt float %14, %15 + %chosen.1.4 = select i1 %cmp16.4, i32 5, i32 %chosen.1.3 + %conv9.589 = zext i32 %chosen.1.4 to i64 + %add.5 = add i64 %conv9.589, %mul + %arrayidx10.5 = getelementptr inbounds float, float* %5, i64 %add.5 + %16 = load float, float* %arrayidx10.5, align 4, !tbaa !20 + %add14.5 = add i64 %mul, 6 + %arrayidx15.5 = getelementptr inbounds float, float* %5, i64 %add14.5 + %17 = load float, float* %arrayidx15.5, align 4, !tbaa !20 + %cmp16.5 = fcmp fast olt float %16, %17 + %chosen.1.5 = select i1 %cmp16.5, i32 6, i32 %chosen.1.4 + %18 = zext i32 %chosen.1.5 to i64 + %add.6 = add i64 %18, %mul + %arrayidx10.6 = getelementptr inbounds float, float* %5, i64 %add.6 + %19 = load float, float* %arrayidx10.6, align 4, !tbaa !20 + %add14.6 = add i64 %mul, 7 + %arrayidx15.6 = getelementptr inbounds float, float* %5, i64 %add14.6 + %20 = load float, float* %arrayidx15.6, align 4, !tbaa !20 + %cmp16.6 = fcmp fast olt float %19, %20 + %chosen.1.6 = select i1 %cmp16.6, i32 7, i32 %chosen.1.5 + %conv9.7 = sext i32 %chosen.1.6 to i64 + %add.7 = add i64 %conv9.7, %mul + %arrayidx10.7 = getelementptr inbounds float, float* %5, i64 %add.7 + %21 = load float, float* %arrayidx10.7, align 4, !tbaa !20 + %add14.7 = add i64 %mul, 8 + %arrayidx15.7 = getelementptr inbounds float, float* %5, i64 %add14.7 + %22 = load float, float* %arrayidx15.7, align 4, !tbaa !20 + %cmp16.7 = fcmp fast olt float %21, %22 + %chosen.1.7 = select i1 %cmp16.7, i32 8, i32 %chosen.1.6 + %conv9.8 = sext i32 %chosen.1.7 to i64 + %add.8 = add i64 %conv9.8, %mul + %arrayidx10.8 = getelementptr inbounds float, float* %5, i64 %add.8 + %23 = load float, float* %arrayidx10.8, align 4, !tbaa !20 + %add14.8 = add i64 %mul, 9 + %arrayidx15.8 = getelementptr inbounds float, float* %5, i64 %add14.8 + %24 = load float, float* %arrayidx15.8, align 4, !tbaa !20 + %cmp16.8 = fcmp fast olt float %23, %24 + %chosen.1.8 = select i1 %cmp16.8, i32 9, i32 %chosen.1.7 + %arrayidx17 = getelementptr inbounds i8, i8* %labels, i64 %indvars.iv + %25 = load i8, i8* %arrayidx17, align 1, !tbaa !39 + %conv18 = zext i8 %25 to i32 + %not.cmp19 = icmp ne i32 %chosen.1.8, %conv18 + %inc21 = zext i1 %not.cmp19 to i32 + %num_errors.0.inc21 = add nsw i32 %inc21, %num_errors.084 + %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 + %exitcond = icmp eq i64 %indvars.iv.next, %2 + br i1 %exitcond, label %for.cond.cleanup.loopexit, label %for.cond4.preheader + +for.cond.cleanup.loopexit: ; preds = %for.cond4.preheader + %phitmp = sext i32 %num_errors.0.inc21 to i64 + br label %for.cond.cleanup + +for.cond.cleanup: ; preds = %for.cond.cleanup.loopexit, %entry + %num_errors.0.lcssa = phi i64 [ 0, %entry ], [ %phitmp, %for.cond.cleanup.loopexit ] + %sub = sub i64 %2, %num_errors.0.lcssa + %conv27 = uitofp i64 %sub to double + %conv29 = uitofp i64 %2 to double + %div = fdiv fast double %conv27, %conv29 + %mul31 = fmul fast double %div, 1.000000e+02 + %conv32 = fptrunc double %mul31 to float + %conv33 = fpext float %conv32 to double + %call = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.20, i64 0, i64 0), double %conv33) + %call34 = tail call %struct._IO_FILE* @fopen(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.21, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.22, i64 0, i64 0)) + %cmp35 = icmp eq %struct._IO_FILE* %call34, null + br i1 %cmp35, label %if.end43, label %if.then36 + +if.then36: ; preds = %for.cond.cleanup + %26 = bitcast %"class.std::__cxx11::basic_ostringstream"* %ss to i8* + call void @llvm.lifetime.start(i64 376, i8* nonnull %26) #2 + %27 = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 2 + %28 = getelementptr inbounds %"class.std::basic_ios", %"class.std::basic_ios"* %27, i64 0, i32 0 + call void @_ZNSt8ios_baseC2Ev(%"class.std::ios_base"* %28) #2 + %29 = getelementptr inbounds %"class.std::basic_ios", %"class.std::basic_ios"* %27, i64 0, i32 0, i32 0 + store i32 (...)** bitcast (i8** getelementptr inbounds ({ [4 x i8*] }, { [4 x i8*] }* @_ZTVSt9basic_iosIcSt11char_traitsIcEE, i64 0, inrange i32 0, i64 2) to i32 (...)**), i32 (...)*** %29, align 16, !tbaa !43 + %_M_tie.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 2, i32 1 + store %"class.std::basic_ostream"* null, %"class.std::basic_ostream"** %_M_tie.i.i, align 8, !tbaa !45 + %_M_fill.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 2, i32 2 + store i8 0, i8* %_M_fill.i.i, align 16, !tbaa !48 + %_M_fill_init.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 2, i32 3 + store i8 0, i8* %_M_fill_init.i.i, align 1, !tbaa !49 + %_M_streambuf.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 2, i32 4 + %30 = bitcast %"class.std::basic_streambuf"** %_M_streambuf.i.i to i8* + call void @llvm.memset.p0i8.i64(i8* %30, i8 0, i64 32, i32 8, i1 false) #2 + %31 = load i64, i64* bitcast (i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @_ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE, i64 0, i64 1) to i64*), align 8 + %32 = bitcast %"class.std::__cxx11::basic_ostringstream"* %ss to i64* + store i64 %31, i64* %32, align 16, !tbaa !43 + %33 = load i64, i64* bitcast (i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @_ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE, i64 0, i64 2) to i64*), align 8 + %34 = bitcast %"class.std::__cxx11::basic_ostringstream"* %ss to i8** + %vtable.cast.i.i = inttoptr i64 %31 to i8* + %vbase.offset.ptr.i.i = getelementptr i8, i8* %vtable.cast.i.i, i64 -24 + %35 = bitcast i8* %vbase.offset.ptr.i.i to i64* + %vbase.offset.i.i = load i64, i64* %35, align 8 + %add.ptr.i.i = getelementptr inbounds i8, i8* %26, i64 %vbase.offset.i.i + %36 = bitcast i8* %add.ptr.i.i to i64* + store i64 %33, i64* %36, align 8, !tbaa !43 + %vtable3.i.i = load i8*, i8** %34, align 16, !tbaa !43 + %vbase.offset.ptr4.i.i = getelementptr i8, i8* %vtable3.i.i, i64 -24 + %37 = bitcast i8* %vbase.offset.ptr4.i.i to i64* + %vbase.offset5.i.i = load i64, i64* %37, align 8 + %add.ptr6.i.i = getelementptr inbounds i8, i8* %26, i64 %vbase.offset5.i.i + %38 = bitcast i8* %add.ptr6.i.i to %"class.std::basic_ios"* + call void @_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E(%"class.std::basic_ios"* %38, %"class.std::basic_streambuf"* null) #2 + store i32 (...)** bitcast (i8** getelementptr inbounds ({ [5 x i8*], [5 x i8*] }, { [5 x i8*], [5 x i8*] }* @_ZTVNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE, i64 0, inrange i32 1, i64 3) to i32 (...)**), i32 (...)*** %29, align 16, !tbaa !43 + %_M_stringbuf.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1 + %39 = getelementptr inbounds %"class.std::__cxx11::basic_stringbuf", %"class.std::__cxx11::basic_stringbuf"* %_M_stringbuf.i, i64 0, i32 0, i32 0 + %40 = bitcast %"class.std::__cxx11::basic_ostringstream"* %ss to <2 x i32 (...)**>* + store <2 x i32 (...)**> <i32 (...)** bitcast (i8** getelementptr inbounds ({ [5 x i8*], [5 x i8*] }, { [5 x i8*], [5 x i8*] }* @_ZTVNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE, i64 0, inrange i32 0, i64 3) to i32 (...)**), i32 (...)** bitcast (i8** getelementptr inbounds ({ [16 x i8*] }, { [16 x i8*] }* @_ZTVSt15basic_streambufIcSt11char_traitsIcEE, i64 0, inrange i32 0, i64 2) to i32 (...)**)>, <2 x i32 (...)**>* %40, align 16, !tbaa !43 + %_M_in_beg.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1, i32 0, i32 1 + %_M_buf_locale.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1, i32 0, i32 7 + %41 = bitcast i8** %_M_in_beg.i.i.i to i8* + call void @llvm.memset.p0i8.i64(i8* %41, i8 0, i64 48, i32 8, i1 false) #2 + call void @_ZNSt6localeC1Ev(%"class.std::locale"* %_M_buf_locale.i.i.i) #2 + store i32 (...)** bitcast (i8** getelementptr inbounds ({ [16 x i8*] }, { [16 x i8*] }* @_ZTVNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE, i64 0, inrange i32 0, i64 2) to i32 (...)**), i32 (...)*** %39, align 8, !tbaa !43 + %_M_mode.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1, i32 1 + store i32 16, i32* %_M_mode.i.i, align 8, !tbaa !50 + %_M_string.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1, i32 2 + %42 = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1, i32 2, i32 2 + %43 = bitcast %"class.std::__cxx11::basic_string"* %_M_string.i.i to %union.anon** + store %union.anon* %42, %union.anon** %43, align 8, !tbaa !55 + %_M_string_length.i.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1, i32 2, i32 1 + store i64 0, i64* %_M_string_length.i.i.i.i.i, align 8, !tbaa !56 + %.cast.i.i.i = bitcast %union.anon* %42 to i8* + store i8 0, i8* %.cast.i.i.i, align 8, !tbaa !39 + %vtable.i = load i8*, i8** %34, align 16, !tbaa !43 + %vbase.offset.ptr.i = getelementptr i8, i8* %vtable.i, i64 -24 + %44 = bitcast i8* %vbase.offset.ptr.i to i64* + %vbase.offset.i = load i64, i64* %44, align 8 + %add.ptr2.i = getelementptr inbounds i8, i8* %26, i64 %vbase.offset.i + %45 = bitcast i8* %add.ptr2.i to %"class.std::basic_ios"* + %46 = getelementptr inbounds %"class.std::__cxx11::basic_stringbuf", %"class.std::__cxx11::basic_stringbuf"* %_M_stringbuf.i, i64 0, i32 0 + call void @_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E(%"class.std::basic_ios"* %45, %"class.std::basic_streambuf"* %46) #2 + %47 = bitcast %"class.std::__cxx11::basic_ostringstream"* %ss to %"class.std::basic_ostream"* + %vtable.i72 = load i8*, i8** %34, align 16, !tbaa !43 + %vbase.offset.ptr.i73 = getelementptr i8, i8* %vtable.i72, i64 -24 + %48 = bitcast i8* %vbase.offset.ptr.i73 to i64* + %vbase.offset.i74 = load i64, i64* %48, align 8 + %add.ptr.i = getelementptr inbounds i8, i8* %26, i64 %vbase.offset.i74 + %_M_flags.i.i = getelementptr inbounds i8, i8* %add.ptr.i, i64 24 + %49 = bitcast i8* %_M_flags.i.i to i32* + %50 = load i32, i32* %49, align 8, !tbaa !60 + %and.i.i.i.i = and i32 %50, -261 + %or.i.i.i.i = or i32 %and.i.i.i.i, 4 + store i32 %or.i.i.i.i, i32* %49, align 4, !tbaa !57 + %call.i = call dereferenceable(272) %"class.std::basic_ostream"* @_ZNSo9_M_insertIdEERSoT_(%"class.std::basic_ostream"* nonnull %47, double %conv33) #2 + %51 = bitcast %"class.std::__cxx11::basic_string"* %print_str to i8* + call void @llvm.lifetime.start(i64 32, i8* nonnull %51) #2 + call void @_ZNKSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strEv(%"class.std::__cxx11::basic_string"* nonnull sret %print_str, %"class.std::__cxx11::basic_stringbuf"* %_M_stringbuf.i) #2 + %_M_p.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %print_str, i64 0, i32 0, i32 0 + %52 = load i8*, i8** %_M_p.i.i, align 8, !tbaa !59 + %_M_string_length.i = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %print_str, i64 0, i32 1 + %53 = load i64, i64* %_M_string_length.i, align 8, !tbaa !56 + %call41 = call i64 @fwrite(i8* %52, i64 1, i64 %53, %struct._IO_FILE* nonnull %call34) + %call42 = call i32 @fclose(%struct._IO_FILE* nonnull %call34) + %54 = load i8*, i8** %_M_p.i.i, align 8, !tbaa !59 + %55 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %print_str, i64 0, i32 2 + %arraydecay.i.i.i.i = bitcast %union.anon* %55 to i8* + %cmp.i.i.i = icmp eq i8* %54, %arraydecay.i.i.i.i + br i1 %cmp.i.i.i, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit, label %if.then.i.i + +if.then.i.i: ; preds = %if.then36 + call void @_ZdlPv(i8* %54) #2 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit + +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit: ; preds = %if.then.i.i, %if.then36 + call void @llvm.lifetime.end(i64 32, i8* nonnull %51) #2 + %56 = load i64, i64* bitcast ([4 x i8*]* @_ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE to i64*), align 8 + store i64 %56, i64* %32, align 16, !tbaa !43 + %57 = load i64, i64* bitcast (i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @_ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE, i64 0, i64 3) to i64*), align 8 + %vtable.cast.i.i76 = inttoptr i64 %56 to i8* + %vbase.offset.ptr.i.i77 = getelementptr i8, i8* %vtable.cast.i.i76, i64 -24 + %58 = bitcast i8* %vbase.offset.ptr.i.i77 to i64* + %vbase.offset.i.i78 = load i64, i64* %58, align 8 + %add.ptr.i.i79 = getelementptr inbounds i8, i8* %26, i64 %vbase.offset.i.i78 + %59 = bitcast i8* %add.ptr.i.i79 to i64* + store i64 %57, i64* %59, align 8, !tbaa !43 + %60 = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1, i32 0, i32 0 + store i32 (...)** bitcast (i8** getelementptr inbounds ({ [16 x i8*] }, { [16 x i8*] }* @_ZTVNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE, i64 0, inrange i32 0, i64 2) to i32 (...)**), i32 (...)*** %60, align 8, !tbaa !43 + %_M_p.i.i.i.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 1, i32 2, i32 0, i32 0 + %61 = load i8*, i8** %_M_p.i.i.i.i.i.i.i, align 8, !tbaa !59 + %cmp.i.i.i.i.i.i = icmp eq i8* %61, %.cast.i.i.i + br i1 %cmp.i.i.i.i.i.i, label %_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev.exit, label %if.then.i.i.i.i.i + +if.then.i.i.i.i.i: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit + call void @_ZdlPv(i8* %61) #2 + br label %_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev.exit + +_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev.exit: ; preds = %if.then.i.i.i.i.i, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit + store i32 (...)** bitcast (i8** getelementptr inbounds ({ [16 x i8*] }, { [16 x i8*] }* @_ZTVSt15basic_streambufIcSt11char_traitsIcEE, i64 0, inrange i32 0, i64 2) to i32 (...)**), i32 (...)*** %60, align 8, !tbaa !43 + call void @_ZNSt6localeD1Ev(%"class.std::locale"* nonnull %_M_buf_locale.i.i.i) #2 + %62 = getelementptr inbounds %"class.std::__cxx11::basic_ostringstream", %"class.std::__cxx11::basic_ostringstream"* %ss, i64 0, i32 2, i32 0 + call void @_ZNSt8ios_baseD2Ev(%"class.std::ios_base"* %62) #2 + call void @llvm.lifetime.end(i64 376, i8* nonnull %26) #2 + br label %if.end43 + +if.end43: ; preds = %_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev.exit, %for.cond.cleanup + ret void +} + +; Function Attrs: norecurse nounwind uwtable +define i32 @main() local_unnamed_addr #6 { +entry: + %__dnew.i.i.i.i207 = alloca i64, align 8 + %__dnew.i.i.i.i166 = alloca i64, align 8 + %__dnew.i.i.i.i125 = alloca i64, align 8 + %__dnew.i.i.i.i84 = alloca i64, align 8 + %__dnew.i.i.i.i55 = alloca i64, align 8 + %__dnew.i.i.i.i = alloca i64, align 8 + %prefix = alloca %"class.std::__cxx11::basic_string", align 8 + %input_data_path = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp1 = alloca %"class.std::__cxx11::basic_string", align 8 + %conv1_w_path = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp3 = alloca %"class.std::__cxx11::basic_string", align 8 + %conv1_b_path = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp5 = alloca %"class.std::__cxx11::basic_string", align 8 + %conv2_w_path = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp7 = alloca %"class.std::__cxx11::basic_string", align 8 + %conv2_b_path = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp9 = alloca %"class.std::__cxx11::basic_string", align 8 + %0 = bitcast %"class.std::__cxx11::basic_string"* %prefix to i8* + call void @llvm.lifetime.start(i64 32, i8* nonnull %0) #2 + %1 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %prefix, i64 0, i32 2 + %2 = bitcast %"class.std::__cxx11::basic_string"* %prefix to %union.anon** + store %union.anon* %1, %union.anon** %2, align 8, !tbaa !55 + %3 = bitcast %union.anon* %1 to i8* + %4 = bitcast i64* %__dnew.i.i.i.i to i8* + call void @llvm.lifetime.start(i64 8, i8* nonnull %4) #2 + store i64 54, i64* %__dnew.i.i.i.i, align 8, !tbaa !15 + %call5.i.i.i.i = call i8* @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(%"class.std::__cxx11::basic_string"* nonnull %prefix, i64* nonnull dereferenceable(8) %__dnew.i.i.i.i, i64 0) #2 + %_M_p.i13.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %prefix, i64 0, i32 0, i32 0 + store i8* %call5.i.i.i.i, i8** %_M_p.i13.i.i.i.i, align 8, !tbaa !59 + %5 = load i64, i64* %__dnew.i.i.i.i, align 8, !tbaa !15 + %_M_allocated_capacity.i.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %prefix, i64 0, i32 2, i32 0 + store i64 %5, i64* %_M_allocated_capacity.i.i.i.i.i, align 8, !tbaa !15 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* %call5.i.i.i.i, i8* nonnull getelementptr inbounds ([55 x i8], [55 x i8]* @.str.23, i64 0, i64 0), i64 54, i32 1, i1 false) #2 + %_M_string_length.i.i.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %prefix, i64 0, i32 1 + store i64 %5, i64* %_M_string_length.i.i.i.i.i.i, align 8, !tbaa !56 + %arrayidx.i.i.i.i.i = getelementptr inbounds i8, i8* %call5.i.i.i.i, i64 %5 + store i8 0, i8* %arrayidx.i.i.i.i.i, align 1, !tbaa !39 + call void @llvm.lifetime.end(i64 8, i8* nonnull %4) #2 + %6 = bitcast %"class.std::__cxx11::basic_string"* %input_data_path to i8* + call void @llvm.lifetime.start(i64 32, i8* nonnull %6) #2 + %7 = bitcast %"class.std::__cxx11::basic_string"* %ref.tmp1 to i8* + call void @llvm.lifetime.start(i64 32, i8* nonnull %7) #2 + %8 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp1, i64 0, i32 2 + %9 = bitcast %"class.std::__cxx11::basic_string"* %ref.tmp1 to %union.anon** + store %union.anon* %8, %union.anon** %9, align 8, !tbaa !55 + %10 = bitcast %union.anon* %8 to i8* + %11 = bitcast i64* %__dnew.i.i.i.i55 to i8* + call void @llvm.lifetime.start(i64 8, i8* nonnull %11) #2 + store i64 34, i64* %__dnew.i.i.i.i55, align 8, !tbaa !15 + %call5.i.i.i.i60 = call i8* @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(%"class.std::__cxx11::basic_string"* nonnull %ref.tmp1, i64* nonnull dereferenceable(8) %__dnew.i.i.i.i55, i64 0) #2 + %_M_p.i13.i.i.i.i61 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp1, i64 0, i32 0, i32 0 + store i8* %call5.i.i.i.i60, i8** %_M_p.i13.i.i.i.i61, align 8, !tbaa !59 + %12 = load i64, i64* %__dnew.i.i.i.i55, align 8, !tbaa !15 + %_M_allocated_capacity.i.i.i.i.i62 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp1, i64 0, i32 2, i32 0 + store i64 %12, i64* %_M_allocated_capacity.i.i.i.i.i62, align 8, !tbaa !15 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* %call5.i.i.i.i60, i8* nonnull getelementptr inbounds ([35 x i8], [35 x i8]* @.str.24, i64 0, i64 0), i64 34, i32 1, i1 false) #2 + %_M_string_length.i.i.i.i.i.i68 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp1, i64 0, i32 1 + store i64 %12, i64* %_M_string_length.i.i.i.i.i.i68, align 8, !tbaa !56 + %arrayidx.i.i.i.i.i69 = getelementptr inbounds i8, i8* %call5.i.i.i.i60, i64 %12 + store i8 0, i8* %arrayidx.i.i.i.i.i69, align 1, !tbaa !39 + call void @llvm.lifetime.end(i64 8, i8* nonnull %11) #2 + %13 = load i64, i64* %_M_string_length.i.i.i.i.i.i, align 8, !tbaa !56, !noalias !65 + %14 = load i8*, i8** %_M_p.i13.i.i.i.i, align 8, !tbaa !59, !noalias !65 + %call3.i.i.i = call dereferenceable(32) %"class.std::__cxx11::basic_string"* @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm(%"class.std::__cxx11::basic_string"* nonnull %ref.tmp1, i64 0, i64 0, i8* %14, i64 %13) #2, !noalias !65 + %15 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %input_data_path, i64 0, i32 2 + %16 = bitcast %"class.std::__cxx11::basic_string"* %input_data_path to %union.anon** + store %union.anon* %15, %union.anon** %16, align 8, !tbaa !55, !alias.scope !65 + %_M_p.i.i23.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i, i64 0, i32 0, i32 0 + %17 = load i8*, i8** %_M_p.i.i23.i.i, align 8, !tbaa !59 + %18 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i, i64 0, i32 2 + %arraydecay.i.i.i.i71 = bitcast %union.anon* %18 to i8* + %cmp.i.i.i72 = icmp eq i8* %17, %arraydecay.i.i.i.i71 + br i1 %cmp.i.i.i72, label %if.then.i.i73, label %if.else.i.i + +if.then.i.i73: ; preds = %entry + %arraydecay.i.i.i = bitcast %union.anon* %15 to i8* + call void @llvm.memcpy.p0i8.p0i8.i64(i8* %arraydecay.i.i.i, i8* %17, i64 16, i32 1, i1 false) #2 + br label %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit + +if.else.i.i: ; preds = %entry + %_M_p.i21.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %input_data_path, i64 0, i32 0, i32 0 + store i8* %17, i8** %_M_p.i21.i.i, align 8, !tbaa !59, !alias.scope !65 + %_M_allocated_capacity.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i, i64 0, i32 2, i32 0 + %19 = load i64, i64* %_M_allocated_capacity.i.i, align 8, !tbaa !15 + %_M_allocated_capacity.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %input_data_path, i64 0, i32 2, i32 0 + store i64 %19, i64* %_M_allocated_capacity.i.i.i, align 8, !tbaa !15, !alias.scope !65 + br label %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit + +_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit: ; preds = %if.else.i.i, %if.then.i.i73 + %_M_string_length.i20.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i, i64 0, i32 1 + %20 = load i64, i64* %_M_string_length.i20.i.i, align 8, !tbaa !56 + %_M_string_length.i.i2.i = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %input_data_path, i64 0, i32 1 + store i64 %20, i64* %_M_string_length.i.i2.i, align 8, !tbaa !56, !alias.scope !65 + %21 = bitcast %"class.std::__cxx11::basic_string"* %call3.i.i.i to %union.anon** + store %union.anon* %18, %union.anon** %21, align 8, !tbaa !59 + store i64 0, i64* %_M_string_length.i20.i.i, align 8, !tbaa !56 + store i8 0, i8* %arraydecay.i.i.i.i71, align 1, !tbaa !39 + %22 = load i8*, i8** %_M_p.i13.i.i.i.i61, align 8, !tbaa !59 + %cmp.i.i.i76 = icmp eq i8* %22, %10 + br i1 %cmp.i.i.i76, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit78, label %if.then.i.i77 + +if.then.i.i77: ; preds = %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit + call void @_ZdlPv(i8* %22) #2 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit78 + +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit78: ; preds = %if.then.i.i77, %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit + call void @llvm.lifetime.end(i64 32, i8* nonnull %7) #2 + %23 = bitcast %"class.std::__cxx11::basic_string"* %conv1_w_path to i8* + call void @llvm.lifetime.start(i64 32, i8* nonnull %23) #2 + %24 = bitcast %"class.std::__cxx11::basic_string"* %ref.tmp3 to i8* + call void @llvm.lifetime.start(i64 32, i8* nonnull %24) #2 + %25 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp3, i64 0, i32 2 + %26 = bitcast %"class.std::__cxx11::basic_string"* %ref.tmp3 to %union.anon** + store %union.anon* %25, %union.anon** %26, align 8, !tbaa !55 + %27 = bitcast %union.anon* %25 to i8* + %28 = bitcast i64* %__dnew.i.i.i.i84 to i8* + call void @llvm.lifetime.start(i64 8, i8* nonnull %28) #2 + store i64 22, i64* %__dnew.i.i.i.i84, align 8, !tbaa !15 + %call5.i.i.i.i89 = call i8* @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(%"class.std::__cxx11::basic_string"* nonnull %ref.tmp3, i64* nonnull dereferenceable(8) %__dnew.i.i.i.i84, i64 0) #2 + %_M_p.i13.i.i.i.i90 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp3, i64 0, i32 0, i32 0 + store i8* %call5.i.i.i.i89, i8** %_M_p.i13.i.i.i.i90, align 8, !tbaa !59 + %29 = load i64, i64* %__dnew.i.i.i.i84, align 8, !tbaa !15 + %_M_allocated_capacity.i.i.i.i.i91 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp3, i64 0, i32 2, i32 0 + store i64 %29, i64* %_M_allocated_capacity.i.i.i.i.i91, align 8, !tbaa !15 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* %call5.i.i.i.i89, i8* nonnull getelementptr inbounds ([23 x i8], [23 x i8]* @.str.25, i64 0, i64 0), i64 22, i32 1, i1 false) #2 + %_M_string_length.i.i.i.i.i.i97 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp3, i64 0, i32 1 + store i64 %29, i64* %_M_string_length.i.i.i.i.i.i97, align 8, !tbaa !56 + %30 = load i8*, i8** %_M_p.i13.i.i.i.i90, align 8, !tbaa !59 + %arrayidx.i.i.i.i.i98 = getelementptr inbounds i8, i8* %30, i64 %29 + store i8 0, i8* %arrayidx.i.i.i.i.i98, align 1, !tbaa !39 + call void @llvm.lifetime.end(i64 8, i8* nonnull %28) #2 + %31 = load i64, i64* %_M_string_length.i.i.i.i.i.i, align 8, !tbaa !56, !noalias !68 + %32 = load i8*, i8** %_M_p.i13.i.i.i.i, align 8, !tbaa !59, !noalias !68 + %call3.i.i.i102 = call dereferenceable(32) %"class.std::__cxx11::basic_string"* @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm(%"class.std::__cxx11::basic_string"* nonnull %ref.tmp3, i64 0, i64 0, i8* %32, i64 %31) #2, !noalias !68 + %33 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv1_w_path, i64 0, i32 2 + %34 = bitcast %"class.std::__cxx11::basic_string"* %conv1_w_path to %union.anon** + store %union.anon* %33, %union.anon** %34, align 8, !tbaa !55, !alias.scope !68 + %_M_p.i.i23.i.i103 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i102, i64 0, i32 0, i32 0 + %35 = load i8*, i8** %_M_p.i.i23.i.i103, align 8, !tbaa !59 + %36 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i102, i64 0, i32 2 + %arraydecay.i.i.i.i104 = bitcast %union.anon* %36 to i8* + %cmp.i.i.i105 = icmp eq i8* %35, %arraydecay.i.i.i.i104 + br i1 %cmp.i.i.i105, label %if.then.i.i107, label %if.else.i.i111 + +if.then.i.i107: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit78 + %arraydecay.i.i.i106 = bitcast %union.anon* %33 to i8* + call void @llvm.memcpy.p0i8.p0i8.i64(i8* %arraydecay.i.i.i106, i8* %35, i64 16, i32 1, i1 false) #2 + br label %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit114 + +if.else.i.i111: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit78 + %_M_p.i21.i.i108 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv1_w_path, i64 0, i32 0, i32 0 + store i8* %35, i8** %_M_p.i21.i.i108, align 8, !tbaa !59, !alias.scope !68 + %_M_allocated_capacity.i.i109 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i102, i64 0, i32 2, i32 0 + %37 = load i64, i64* %_M_allocated_capacity.i.i109, align 8, !tbaa !15 + %_M_allocated_capacity.i.i.i110 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv1_w_path, i64 0, i32 2, i32 0 + store i64 %37, i64* %_M_allocated_capacity.i.i.i110, align 8, !tbaa !15, !alias.scope !68 + br label %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit114 + +_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit114: ; preds = %if.else.i.i111, %if.then.i.i107 + %_M_string_length.i20.i.i112 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i102, i64 0, i32 1 + %38 = load i64, i64* %_M_string_length.i20.i.i112, align 8, !tbaa !56 + %_M_string_length.i.i2.i113 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv1_w_path, i64 0, i32 1 + store i64 %38, i64* %_M_string_length.i.i2.i113, align 8, !tbaa !56, !alias.scope !68 + %39 = bitcast %"class.std::__cxx11::basic_string"* %call3.i.i.i102 to %union.anon** + store %union.anon* %36, %union.anon** %39, align 8, !tbaa !59 + store i64 0, i64* %_M_string_length.i20.i.i112, align 8, !tbaa !56 + store i8 0, i8* %arraydecay.i.i.i.i104, align 1, !tbaa !39 + %40 = load i8*, i8** %_M_p.i13.i.i.i.i90, align 8, !tbaa !59 + %cmp.i.i.i117 = icmp eq i8* %40, %27 + br i1 %cmp.i.i.i117, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit119, label %if.then.i.i118 + +if.then.i.i118: ; preds = %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit114 + call void @_ZdlPv(i8* %40) #2 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit119 + +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit119: ; preds = %if.then.i.i118, %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit114 + call void @llvm.lifetime.end(i64 32, i8* nonnull %24) #2 + %41 = bitcast %"class.std::__cxx11::basic_string"* %conv1_b_path to i8* + call void @llvm.lifetime.start(i64 32, i8* nonnull %41) #2 + %42 = bitcast %"class.std::__cxx11::basic_string"* %ref.tmp5 to i8* + call void @llvm.lifetime.start(i64 32, i8* nonnull %42) #2 + %43 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp5, i64 0, i32 2 + %44 = bitcast %"class.std::__cxx11::basic_string"* %ref.tmp5 to %union.anon** + store %union.anon* %43, %union.anon** %44, align 8, !tbaa !55 + %45 = bitcast %union.anon* %43 to i8* + %46 = bitcast i64* %__dnew.i.i.i.i125 to i8* + call void @llvm.lifetime.start(i64 8, i8* nonnull %46) #2 + store i64 27, i64* %__dnew.i.i.i.i125, align 8, !tbaa !15 + %call5.i.i.i.i130 = call i8* @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(%"class.std::__cxx11::basic_string"* nonnull %ref.tmp5, i64* nonnull dereferenceable(8) %__dnew.i.i.i.i125, i64 0) #2 + %_M_p.i13.i.i.i.i131 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp5, i64 0, i32 0, i32 0 + store i8* %call5.i.i.i.i130, i8** %_M_p.i13.i.i.i.i131, align 8, !tbaa !59 + %47 = load i64, i64* %__dnew.i.i.i.i125, align 8, !tbaa !15 + %_M_allocated_capacity.i.i.i.i.i132 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp5, i64 0, i32 2, i32 0 + store i64 %47, i64* %_M_allocated_capacity.i.i.i.i.i132, align 8, !tbaa !15 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* %call5.i.i.i.i130, i8* nonnull getelementptr inbounds ([28 x i8], [28 x i8]* @.str.26, i64 0, i64 0), i64 27, i32 1, i1 false) #2 + %_M_string_length.i.i.i.i.i.i138 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp5, i64 0, i32 1 + store i64 %47, i64* %_M_string_length.i.i.i.i.i.i138, align 8, !tbaa !56 + %48 = load i8*, i8** %_M_p.i13.i.i.i.i131, align 8, !tbaa !59 + %arrayidx.i.i.i.i.i139 = getelementptr inbounds i8, i8* %48, i64 %47 + store i8 0, i8* %arrayidx.i.i.i.i.i139, align 1, !tbaa !39 + call void @llvm.lifetime.end(i64 8, i8* nonnull %46) #2 + %49 = load i64, i64* %_M_string_length.i.i.i.i.i.i, align 8, !tbaa !56, !noalias !71 + %50 = load i8*, i8** %_M_p.i13.i.i.i.i, align 8, !tbaa !59, !noalias !71 + %call3.i.i.i143 = call dereferenceable(32) %"class.std::__cxx11::basic_string"* @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm(%"class.std::__cxx11::basic_string"* nonnull %ref.tmp5, i64 0, i64 0, i8* %50, i64 %49) #2, !noalias !71 + %51 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv1_b_path, i64 0, i32 2 + %52 = bitcast %"class.std::__cxx11::basic_string"* %conv1_b_path to %union.anon** + store %union.anon* %51, %union.anon** %52, align 8, !tbaa !55, !alias.scope !71 + %_M_p.i.i23.i.i144 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i143, i64 0, i32 0, i32 0 + %53 = load i8*, i8** %_M_p.i.i23.i.i144, align 8, !tbaa !59 + %54 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i143, i64 0, i32 2 + %arraydecay.i.i.i.i145 = bitcast %union.anon* %54 to i8* + %cmp.i.i.i146 = icmp eq i8* %53, %arraydecay.i.i.i.i145 + br i1 %cmp.i.i.i146, label %if.then.i.i148, label %if.else.i.i152 + +if.then.i.i148: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit119 + %arraydecay.i.i.i147 = bitcast %union.anon* %51 to i8* + call void @llvm.memcpy.p0i8.p0i8.i64(i8* %arraydecay.i.i.i147, i8* %53, i64 16, i32 1, i1 false) #2 + br label %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit155 + +if.else.i.i152: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit119 + %_M_p.i21.i.i149 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv1_b_path, i64 0, i32 0, i32 0 + store i8* %53, i8** %_M_p.i21.i.i149, align 8, !tbaa !59, !alias.scope !71 + %_M_allocated_capacity.i.i150 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i143, i64 0, i32 2, i32 0 + %55 = load i64, i64* %_M_allocated_capacity.i.i150, align 8, !tbaa !15 + %_M_allocated_capacity.i.i.i151 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv1_b_path, i64 0, i32 2, i32 0 + store i64 %55, i64* %_M_allocated_capacity.i.i.i151, align 8, !tbaa !15, !alias.scope !71 + br label %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit155 + +_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit155: ; preds = %if.else.i.i152, %if.then.i.i148 + %_M_string_length.i20.i.i153 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i143, i64 0, i32 1 + %56 = load i64, i64* %_M_string_length.i20.i.i153, align 8, !tbaa !56 + %_M_string_length.i.i2.i154 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv1_b_path, i64 0, i32 1 + store i64 %56, i64* %_M_string_length.i.i2.i154, align 8, !tbaa !56, !alias.scope !71 + %57 = bitcast %"class.std::__cxx11::basic_string"* %call3.i.i.i143 to %union.anon** + store %union.anon* %54, %union.anon** %57, align 8, !tbaa !59 + store i64 0, i64* %_M_string_length.i20.i.i153, align 8, !tbaa !56 + store i8 0, i8* %arraydecay.i.i.i.i145, align 1, !tbaa !39 + %58 = load i8*, i8** %_M_p.i13.i.i.i.i131, align 8, !tbaa !59 + %cmp.i.i.i158 = icmp eq i8* %58, %45 + br i1 %cmp.i.i.i158, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit160, label %if.then.i.i159 + +if.then.i.i159: ; preds = %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit155 + call void @_ZdlPv(i8* %58) #2 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit160 + +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit160: ; preds = %if.then.i.i159, %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit155 + call void @llvm.lifetime.end(i64 32, i8* nonnull %42) #2 + %59 = bitcast %"class.std::__cxx11::basic_string"* %conv2_w_path to i8* + call void @llvm.lifetime.start(i64 32, i8* nonnull %59) #2 + %60 = bitcast %"class.std::__cxx11::basic_string"* %ref.tmp7 to i8* + call void @llvm.lifetime.start(i64 32, i8* nonnull %60) #2 + %61 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp7, i64 0, i32 2 + %62 = bitcast %"class.std::__cxx11::basic_string"* %ref.tmp7 to %union.anon** + store %union.anon* %61, %union.anon** %62, align 8, !tbaa !55 + %63 = bitcast %union.anon* %61 to i8* + %64 = bitcast i64* %__dnew.i.i.i.i166 to i8* + call void @llvm.lifetime.start(i64 8, i8* nonnull %64) #2 + store i64 22, i64* %__dnew.i.i.i.i166, align 8, !tbaa !15 + %call5.i.i.i.i171 = call i8* @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(%"class.std::__cxx11::basic_string"* nonnull %ref.tmp7, i64* nonnull dereferenceable(8) %__dnew.i.i.i.i166, i64 0) #2 + %_M_p.i13.i.i.i.i172 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp7, i64 0, i32 0, i32 0 + store i8* %call5.i.i.i.i171, i8** %_M_p.i13.i.i.i.i172, align 8, !tbaa !59 + %65 = load i64, i64* %__dnew.i.i.i.i166, align 8, !tbaa !15 + %_M_allocated_capacity.i.i.i.i.i173 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp7, i64 0, i32 2, i32 0 + store i64 %65, i64* %_M_allocated_capacity.i.i.i.i.i173, align 8, !tbaa !15 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* %call5.i.i.i.i171, i8* nonnull getelementptr inbounds ([23 x i8], [23 x i8]* @.str.27, i64 0, i64 0), i64 22, i32 1, i1 false) #2 + %_M_string_length.i.i.i.i.i.i179 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp7, i64 0, i32 1 + store i64 %65, i64* %_M_string_length.i.i.i.i.i.i179, align 8, !tbaa !56 + %66 = load i8*, i8** %_M_p.i13.i.i.i.i172, align 8, !tbaa !59 + %arrayidx.i.i.i.i.i180 = getelementptr inbounds i8, i8* %66, i64 %65 + store i8 0, i8* %arrayidx.i.i.i.i.i180, align 1, !tbaa !39 + call void @llvm.lifetime.end(i64 8, i8* nonnull %64) #2 + %67 = load i64, i64* %_M_string_length.i.i.i.i.i.i, align 8, !tbaa !56, !noalias !74 + %68 = load i8*, i8** %_M_p.i13.i.i.i.i, align 8, !tbaa !59, !noalias !74 + %call3.i.i.i184 = call dereferenceable(32) %"class.std::__cxx11::basic_string"* @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm(%"class.std::__cxx11::basic_string"* nonnull %ref.tmp7, i64 0, i64 0, i8* %68, i64 %67) #2, !noalias !74 + %69 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv2_w_path, i64 0, i32 2 + %70 = bitcast %"class.std::__cxx11::basic_string"* %conv2_w_path to %union.anon** + store %union.anon* %69, %union.anon** %70, align 8, !tbaa !55, !alias.scope !74 + %_M_p.i.i23.i.i185 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i184, i64 0, i32 0, i32 0 + %71 = load i8*, i8** %_M_p.i.i23.i.i185, align 8, !tbaa !59 + %72 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i184, i64 0, i32 2 + %arraydecay.i.i.i.i186 = bitcast %union.anon* %72 to i8* + %cmp.i.i.i187 = icmp eq i8* %71, %arraydecay.i.i.i.i186 + br i1 %cmp.i.i.i187, label %if.then.i.i189, label %if.else.i.i193 + +if.then.i.i189: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit160 + %arraydecay.i.i.i188 = bitcast %union.anon* %69 to i8* + call void @llvm.memcpy.p0i8.p0i8.i64(i8* %arraydecay.i.i.i188, i8* %71, i64 16, i32 1, i1 false) #2 + br label %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit196 + +if.else.i.i193: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit160 + %_M_p.i21.i.i190 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv2_w_path, i64 0, i32 0, i32 0 + store i8* %71, i8** %_M_p.i21.i.i190, align 8, !tbaa !59, !alias.scope !74 + %_M_allocated_capacity.i.i191 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i184, i64 0, i32 2, i32 0 + %73 = load i64, i64* %_M_allocated_capacity.i.i191, align 8, !tbaa !15 + %_M_allocated_capacity.i.i.i192 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv2_w_path, i64 0, i32 2, i32 0 + store i64 %73, i64* %_M_allocated_capacity.i.i.i192, align 8, !tbaa !15, !alias.scope !74 + br label %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit196 + +_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit196: ; preds = %if.else.i.i193, %if.then.i.i189 + %_M_string_length.i20.i.i194 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i184, i64 0, i32 1 + %74 = load i64, i64* %_M_string_length.i20.i.i194, align 8, !tbaa !56 + %_M_string_length.i.i2.i195 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv2_w_path, i64 0, i32 1 + store i64 %74, i64* %_M_string_length.i.i2.i195, align 8, !tbaa !56, !alias.scope !74 + %75 = bitcast %"class.std::__cxx11::basic_string"* %call3.i.i.i184 to %union.anon** + store %union.anon* %72, %union.anon** %75, align 8, !tbaa !59 + store i64 0, i64* %_M_string_length.i20.i.i194, align 8, !tbaa !56 + store i8 0, i8* %arraydecay.i.i.i.i186, align 1, !tbaa !39 + %76 = load i8*, i8** %_M_p.i13.i.i.i.i172, align 8, !tbaa !59 + %cmp.i.i.i199 = icmp eq i8* %76, %63 + br i1 %cmp.i.i.i199, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit201, label %if.then.i.i200 + +if.then.i.i200: ; preds = %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit196 + call void @_ZdlPv(i8* %76) #2 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit201 + +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit201: ; preds = %if.then.i.i200, %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit196 + call void @llvm.lifetime.end(i64 32, i8* nonnull %60) #2 + %77 = bitcast %"class.std::__cxx11::basic_string"* %conv2_b_path to i8* + call void @llvm.lifetime.start(i64 32, i8* nonnull %77) #2 + %78 = bitcast %"class.std::__cxx11::basic_string"* %ref.tmp9 to i8* + call void @llvm.lifetime.start(i64 32, i8* nonnull %78) #2 + %79 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp9, i64 0, i32 2 + %80 = bitcast %"class.std::__cxx11::basic_string"* %ref.tmp9 to %union.anon** + store %union.anon* %79, %union.anon** %80, align 8, !tbaa !55 + %81 = bitcast %union.anon* %79 to i8* + %82 = bitcast i64* %__dnew.i.i.i.i207 to i8* + call void @llvm.lifetime.start(i64 8, i8* nonnull %82) #2 + store i64 27, i64* %__dnew.i.i.i.i207, align 8, !tbaa !15 + %call5.i.i.i.i212 = call i8* @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(%"class.std::__cxx11::basic_string"* nonnull %ref.tmp9, i64* nonnull dereferenceable(8) %__dnew.i.i.i.i207, i64 0) #2 + %_M_p.i13.i.i.i.i213 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp9, i64 0, i32 0, i32 0 + store i8* %call5.i.i.i.i212, i8** %_M_p.i13.i.i.i.i213, align 8, !tbaa !59 + %83 = load i64, i64* %__dnew.i.i.i.i207, align 8, !tbaa !15 + %_M_allocated_capacity.i.i.i.i.i214 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp9, i64 0, i32 2, i32 0 + store i64 %83, i64* %_M_allocated_capacity.i.i.i.i.i214, align 8, !tbaa !15 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* %call5.i.i.i.i212, i8* nonnull getelementptr inbounds ([28 x i8], [28 x i8]* @.str.28, i64 0, i64 0), i64 27, i32 1, i1 false) #2 + %_M_string_length.i.i.i.i.i.i220 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %ref.tmp9, i64 0, i32 1 + store i64 %83, i64* %_M_string_length.i.i.i.i.i.i220, align 8, !tbaa !56 + %84 = load i8*, i8** %_M_p.i13.i.i.i.i213, align 8, !tbaa !59 + %arrayidx.i.i.i.i.i221 = getelementptr inbounds i8, i8* %84, i64 %83 + store i8 0, i8* %arrayidx.i.i.i.i.i221, align 1, !tbaa !39 + call void @llvm.lifetime.end(i64 8, i8* nonnull %82) #2 + %85 = load i64, i64* %_M_string_length.i.i.i.i.i.i, align 8, !tbaa !56, !noalias !77 + %86 = load i8*, i8** %_M_p.i13.i.i.i.i, align 8, !tbaa !59, !noalias !77 + %call3.i.i.i225 = call dereferenceable(32) %"class.std::__cxx11::basic_string"* @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm(%"class.std::__cxx11::basic_string"* nonnull %ref.tmp9, i64 0, i64 0, i8* %86, i64 %85) #2, !noalias !77 + %87 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv2_b_path, i64 0, i32 2 + %88 = bitcast %"class.std::__cxx11::basic_string"* %conv2_b_path to %union.anon** + store %union.anon* %87, %union.anon** %88, align 8, !tbaa !55, !alias.scope !77 + %_M_p.i.i23.i.i226 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i225, i64 0, i32 0, i32 0 + %89 = load i8*, i8** %_M_p.i.i23.i.i226, align 8, !tbaa !59 + %90 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i225, i64 0, i32 2 + %arraydecay.i.i.i.i227 = bitcast %union.anon* %90 to i8* + %cmp.i.i.i228 = icmp eq i8* %89, %arraydecay.i.i.i.i227 + br i1 %cmp.i.i.i228, label %if.then.i.i230, label %if.else.i.i234 + +if.then.i.i230: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit201 + %arraydecay.i.i.i229 = bitcast %union.anon* %87 to i8* + call void @llvm.memcpy.p0i8.p0i8.i64(i8* %arraydecay.i.i.i229, i8* %89, i64 16, i32 1, i1 false) #2 + br label %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit237 + +if.else.i.i234: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit201 + %_M_p.i21.i.i231 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv2_b_path, i64 0, i32 0, i32 0 + store i8* %89, i8** %_M_p.i21.i.i231, align 8, !tbaa !59, !alias.scope !77 + %_M_allocated_capacity.i.i232 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i225, i64 0, i32 2, i32 0 + %91 = load i64, i64* %_M_allocated_capacity.i.i232, align 8, !tbaa !15 + %_M_allocated_capacity.i.i.i233 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv2_b_path, i64 0, i32 2, i32 0 + store i64 %91, i64* %_M_allocated_capacity.i.i.i233, align 8, !tbaa !15, !alias.scope !77 + br label %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit237 + +_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit237: ; preds = %if.else.i.i234, %if.then.i.i230 + %_M_string_length.i20.i.i235 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %call3.i.i.i225, i64 0, i32 1 + %92 = load i64, i64* %_M_string_length.i20.i.i235, align 8, !tbaa !56 + %_M_string_length.i.i2.i236 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv2_b_path, i64 0, i32 1 + store i64 %92, i64* %_M_string_length.i.i2.i236, align 8, !tbaa !56, !alias.scope !77 + %93 = bitcast %"class.std::__cxx11::basic_string"* %call3.i.i.i225 to %union.anon** + store %union.anon* %90, %union.anon** %93, align 8, !tbaa !59 + store i64 0, i64* %_M_string_length.i20.i.i235, align 8, !tbaa !56 + store i8 0, i8* %arraydecay.i.i.i.i227, align 1, !tbaa !39 + %94 = load i8*, i8** %_M_p.i13.i.i.i.i213, align 8, !tbaa !59 + %cmp.i.i.i240 = icmp eq i8* %94, %81 + br i1 %cmp.i.i.i240, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit242, label %if.then.i.i241 + +if.then.i.i241: ; preds = %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit237 + call void @_ZdlPv(i8* %94) #2 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit242 + +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit242: ; preds = %if.then.i.i241, %_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_.exit237 + call void @llvm.lifetime.end(i64 32, i8* nonnull %78) #2 + %_M_p.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %input_data_path, i64 0, i32 0, i32 0 + %95 = load i8*, i8** %_M_p.i.i, align 8, !tbaa !59 + %call11 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.29, i64 0, i64 0), i8* %95) + %96 = load i8*, i8** %_M_p.i.i, align 8, !tbaa !59 + %call13 = call %struct.Tensor* @_Z18readTrainedWeightsPKciiiii(i8* %96, i32 0, i32 1000, i32 1, i32 28, i32 28) + %_M_p.i.i245 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv1_w_path, i64 0, i32 0, i32 0 + %97 = load i8*, i8** %_M_p.i.i245, align 8, !tbaa !59 + %call15 = call %struct.Tensor* @_Z18readTrainedWeightsPKciiiii(i8* %97, i32 0, i32 32, i32 1, i32 5, i32 5) + %_M_p.i.i247 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv1_b_path, i64 0, i32 0, i32 0 + %98 = load i8*, i8** %_M_p.i.i247, align 8, !tbaa !59 + %call17 = call %struct.Tensor* @_Z18readTrainedWeightsPKciiiii(i8* %98, i32 0, i32 1, i32 32, i32 1, i32 1) + %_M_p.i.i246 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv2_w_path, i64 0, i32 0, i32 0 + %99 = load i8*, i8** %_M_p.i.i246, align 8, !tbaa !59 + %call19 = call %struct.Tensor* @_Z18readTrainedWeightsPKciiiii(i8* %99, i32 0, i32 64, i32 32, i32 5, i32 5) + %_M_p.i.i244 = getelementptr inbounds %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string"* %conv2_b_path, i64 0, i32 0, i32 0 + %100 = load i8*, i8** %_M_p.i.i244, align 8, !tbaa !59 + %call21 = call %struct.Tensor* @_Z18readTrainedWeightsPKciiiii(i8* %100, i32 0, i32 1, i32 64, i32 1, i32 1) + call void @llvm.visc.init() + %call22 = call noalias i8* @malloc(i64 96) #2 + %x23 = bitcast i8* %call22 to i8** + %101 = bitcast i8* %call22 to %struct.Tensor** + store %struct.Tensor* %call13, %struct.Tensor** %101, align 1, !tbaa !80 + %x_bytes = getelementptr inbounds i8, i8* %call22, i64 8 + %102 = bitcast i8* %x_bytes to i64* + store i64 0, i64* %102, align 1, !tbaa !83 + %conv1_w24 = getelementptr inbounds i8, i8* %call22, i64 16 + %103 = bitcast i8* %conv1_w24 to %struct.Tensor** + store %struct.Tensor* %call15, %struct.Tensor** %103, align 1, !tbaa !84 + %conv1_w_bytes = getelementptr inbounds i8, i8* %call22, i64 24 + %104 = bitcast i8* %conv1_w_bytes to i64* + store i64 0, i64* %104, align 1, !tbaa !85 + %conv1_b25 = getelementptr inbounds i8, i8* %call22, i64 32 + %105 = bitcast i8* %conv1_b25 to %struct.Tensor** + store %struct.Tensor* %call17, %struct.Tensor** %105, align 1, !tbaa !86 + %conv1_b_bytes = getelementptr inbounds i8, i8* %call22, i64 40 + %106 = bitcast i8* %conv1_b_bytes to i64* + store i64 0, i64* %106, align 1, !tbaa !87 + %conv2_w26 = getelementptr inbounds i8, i8* %call22, i64 48 + %107 = bitcast i8* %conv2_w26 to %struct.Tensor** + store %struct.Tensor* %call19, %struct.Tensor** %107, align 1, !tbaa !88 + %conv2_w_bytes = getelementptr inbounds i8, i8* %call22, i64 56 + %108 = bitcast i8* %conv2_w_bytes to i64* + store i64 0, i64* %108, align 1, !tbaa !89 + %conv2_b27 = getelementptr inbounds i8, i8* %call22, i64 64 + %109 = bitcast i8* %conv2_b27 to %struct.Tensor** + store %struct.Tensor* %call21, %struct.Tensor** %109, align 1, !tbaa !90 + %conv2_b_bytes = getelementptr inbounds i8, i8* %call22, i64 72 + %110 = bitcast i8* %conv2_b_bytes to i64* + store i64 0, i64* %110, align 1, !tbaa !91 + %graphID = call i8* @llvm.visc.launch(i8* bitcast (%struct.out._Z4rootPvmS_mS_mS_mS_m (i8*, i64, i8*, i64, i8*, i64, i8*, i64, i8*, i64)* @_Z4rootPvmS_mS_mS_mS_m_cloned to i8*), i8* %call22, i1 false) + call void @llvm.visc.wait(i8* %graphID) + %111 = load i8*, i8** %x23, align 1, !tbaa !80 + call void @hpvm_request_tensor(i8* %111, i32 0) #2 + call void @llvm.visc.cleanup() + %112 = load i8*, i8** %_M_p.i.i244, align 8, !tbaa !59 + %arraydecay.i.i.i.i203 = bitcast %union.anon* %87 to i8* + %cmp.i.i.i204 = icmp eq i8* %112, %arraydecay.i.i.i.i203 + br i1 %cmp.i.i.i204, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit206, label %if.then.i.i205 + +if.then.i.i205: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit242 + call void @_ZdlPv(i8* %112) #2 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit206 + +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit206: ; preds = %if.then.i.i205, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit242 + call void @llvm.lifetime.end(i64 32, i8* nonnull %77) #2 + %113 = load i8*, i8** %_M_p.i.i246, align 8, !tbaa !59 + %arraydecay.i.i.i.i162 = bitcast %union.anon* %69 to i8* + %cmp.i.i.i163 = icmp eq i8* %113, %arraydecay.i.i.i.i162 + br i1 %cmp.i.i.i163, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit165, label %if.then.i.i164 + +if.then.i.i164: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit206 + call void @_ZdlPv(i8* %113) #2 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit165 + +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit165: ; preds = %if.then.i.i164, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit206 + call void @llvm.lifetime.end(i64 32, i8* nonnull %59) #2 + %114 = load i8*, i8** %_M_p.i.i247, align 8, !tbaa !59 + %arraydecay.i.i.i.i121 = bitcast %union.anon* %51 to i8* + %cmp.i.i.i122 = icmp eq i8* %114, %arraydecay.i.i.i.i121 + br i1 %cmp.i.i.i122, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit124, label %if.then.i.i123 + +if.then.i.i123: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit165 + call void @_ZdlPv(i8* %114) #2 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit124 + +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit124: ; preds = %if.then.i.i123, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit165 + call void @llvm.lifetime.end(i64 32, i8* nonnull %41) #2 + %115 = load i8*, i8** %_M_p.i.i245, align 8, !tbaa !59 + %arraydecay.i.i.i.i80 = bitcast %union.anon* %33 to i8* + %cmp.i.i.i81 = icmp eq i8* %115, %arraydecay.i.i.i.i80 + br i1 %cmp.i.i.i81, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit83, label %if.then.i.i82 + +if.then.i.i82: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit124 + call void @_ZdlPv(i8* %115) #2 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit83 + +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit83: ; preds = %if.then.i.i82, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit124 + call void @llvm.lifetime.end(i64 32, i8* nonnull %23) #2 + %116 = load i8*, i8** %_M_p.i.i, align 8, !tbaa !59 + %arraydecay.i.i.i.i51 = bitcast %union.anon* %15 to i8* + %cmp.i.i.i52 = icmp eq i8* %116, %arraydecay.i.i.i.i51 + br i1 %cmp.i.i.i52, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit54, label %if.then.i.i53 + +if.then.i.i53: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit83 + call void @_ZdlPv(i8* %116) #2 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit54 + +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit54: ; preds = %if.then.i.i53, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit83 + call void @llvm.lifetime.end(i64 32, i8* nonnull %6) #2 + %117 = load i8*, i8** %_M_p.i13.i.i.i.i, align 8, !tbaa !59 + %cmp.i.i.i = icmp eq i8* %117, %3 + br i1 %cmp.i.i.i, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit, label %if.then.i.i + +if.then.i.i: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit54 + call void @_ZdlPv(i8* %117) #2 + br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit + +_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit: ; preds = %if.then.i.i, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit54 + call void @llvm.lifetime.end(i64 32, i8* nonnull %0) #2 + ret i32 0 +} + +; Function Attrs: nobuiltin nounwind +declare void @_ZdlPv(i8*) local_unnamed_addr #7 + +declare void @_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E(%"class.std::basic_ios"*, %"class.std::basic_streambuf"*) local_unnamed_addr #0 + +; Function Attrs: nounwind +declare void @_ZNSt8ios_baseC2Ev(%"class.std::ios_base"*) unnamed_addr #1 + +; Function Attrs: nounwind +declare void @_ZNSt6localeC1Ev(%"class.std::locale"*) unnamed_addr #1 + +; Function Attrs: nounwind +declare void @_ZNSt6localeD1Ev(%"class.std::locale"*) unnamed_addr #1 + +; Function Attrs: nounwind +declare void @_ZNSt8ios_baseD2Ev(%"class.std::ios_base"*) unnamed_addr #1 + +declare dereferenceable(272) %"class.std::basic_ostream"* @_ZNSo9_M_insertIdEERSoT_(%"class.std::basic_ostream"*, double) local_unnamed_addr #0 + +; Function Attrs: nounwind uwtable +declare void @_ZNKSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strEv(%"class.std::__cxx11::basic_string"* noalias sret, %"class.std::__cxx11::basic_stringbuf"*) local_unnamed_addr #3 align 2 + +declare i8* @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(%"class.std::__cxx11::basic_string"*, i64* dereferenceable(8), i64) local_unnamed_addr #0 + +; Function Attrs: argmemonly nounwind +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture writeonly, i8* nocapture readonly, i64, i32, i1) #4 + +declare dereferenceable(32) %"class.std::__cxx11::basic_string"* @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm(%"class.std::__cxx11::basic_string"*, i64, i64, i8*, i64) local_unnamed_addr #0 + +; Function Attrs: nounwind uwtable +define internal void @_GLOBAL__sub_I_lenet.cpp() #3 section ".text.startup" { +entry: + tail call void @_ZNSt8ios_base4InitC1Ev(%"class.std::ios_base::Init"* nonnull @_ZStL8__ioinit) #2 + %0 = tail call i32 @__cxa_atexit(void (i8*)* bitcast (void (%"class.std::ios_base::Init"*)* @_ZNSt8ios_base4InitD1Ev to void (i8*)*), i8* getelementptr inbounds (%"class.std::ios_base::Init", %"class.std::ios_base::Init"* @_ZStL8__ioinit, i64 0, i32 0), i8* nonnull @__dso_handle) #2 + ret void +} + +; Function Attrs: nounwind +declare i32 @puts(i8* nocapture readonly) #2 + +declare i32 @putchar(i32) + +; Function Attrs: argmemonly nounwind +declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i32, i1) #4 + +; Function Attrs: nounwind +declare i8* @llvm.visc.tensor.convolution(i8*, i8*, i32, i32, i32, i32) #2 + +; Function Attrs: nounwind uwtable +define %struct.out._Z14tensorConvNodePvmS_m @_Z14tensorConvNodePvmS_m_cloned(i8* in %t1, i64 %bytes1, i8* in %t2, i64 %bytes2) #3 { +entry: + %call1 = call i8* @llvm.visc.tensor.convolution(i8* %t1, i8* %t2, i32 2, i32 2, i32 1, i32 1) + %returnStruct = insertvalue %struct.out._Z14tensorConvNodePvmS_m undef, i8* %call1, 0 + %returnStruct2 = insertvalue %struct.out._Z14tensorConvNodePvmS_m %returnStruct, i64 0, 1 + ret %struct.out._Z14tensorConvNodePvmS_m %returnStruct2 +} + +; Function Attrs: nounwind +declare i8* @llvm.visc.tensor.add(i8*, i8*) #2 + +; Function Attrs: nounwind uwtable +define %struct.out._Z13tensorAddNodePvmS_m @_Z13tensorAddNodePvmS_m_cloned(i8* in %t1, i64 %bytest1, i8* in %t2, i64 %bytest2) #3 { +entry: + %call1 = call i8* @llvm.visc.tensor.add(i8* %t1, i8* %t2) + %returnStruct = insertvalue %struct.out._Z13tensorAddNodePvmS_m undef, i8* %call1, 0 + %returnStruct2 = insertvalue %struct.out._Z13tensorAddNodePvmS_m %returnStruct, i64 0, 1 + ret %struct.out._Z13tensorAddNodePvmS_m %returnStruct2 +} + +; Function Attrs: nounwind +declare i8* @llvm.visc.createNode(i8*) #2 + +; Function Attrs: nounwind +declare void @llvm.visc.bind.input(i8*, i32, i32, i1) #2 + +; Function Attrs: nounwind +declare i8* @llvm.visc.createEdge(i8*, i8*, i1, i32, i32, i1) #2 + +; Function Attrs: nounwind +declare void @llvm.visc.bind.output(i8*, i32, i32, i1) #2 + +; Function Attrs: nounwind uwtable +define %struct.out._Z4rootPvmS_mS_mS_mS_m @_Z4rootPvmS_mS_mS_mS_m_cloned(i8* in %x, i64 %x_bytes, i8* in %conv1_w, i64 %conv1_w_bytes, i8* in %conv1_b, i64 %conv1_b_bytes, i8* in %conv2_w, i64 %conv2_w_bytes, i8* in %conv2_b, i64 %conv2_b_bytes) #3 { +entry: + %_Z14tensorConvNodePvmS_m_cloned.node = call i8* @llvm.visc.createNode(i8* bitcast (%struct.out._Z14tensorConvNodePvmS_m (i8*, i64, i8*, i64)* @_Z14tensorConvNodePvmS_m_cloned to i8*)) + %_Z13tensorAddNodePvmS_m_cloned.node = call i8* @llvm.visc.createNode(i8* bitcast (%struct.out._Z13tensorAddNodePvmS_m (i8*, i64, i8*, i64)* @_Z13tensorAddNodePvmS_m_cloned to i8*)) + call void @llvm.visc.bind.input(i8* %_Z14tensorConvNodePvmS_m_cloned.node, i32 0, i32 0, i1 false) + call void @llvm.visc.bind.input(i8* %_Z14tensorConvNodePvmS_m_cloned.node, i32 1, i32 1, i1 false) + call void @llvm.visc.bind.input(i8* %_Z14tensorConvNodePvmS_m_cloned.node, i32 2, i32 2, i1 false) + call void @llvm.visc.bind.input(i8* %_Z14tensorConvNodePvmS_m_cloned.node, i32 3, i32 3, i1 false) + %output = call i8* @llvm.visc.createEdge(i8* %_Z14tensorConvNodePvmS_m_cloned.node, i8* %_Z13tensorAddNodePvmS_m_cloned.node, i1 true, i32 0, i32 0, i1 false) + %output1 = call i8* @llvm.visc.createEdge(i8* %_Z14tensorConvNodePvmS_m_cloned.node, i8* %_Z13tensorAddNodePvmS_m_cloned.node, i1 true, i32 1, i32 1, i1 false) + call void @llvm.visc.bind.input(i8* %_Z13tensorAddNodePvmS_m_cloned.node, i32 4, i32 2, i1 false) + call void @llvm.visc.bind.input(i8* %_Z13tensorAddNodePvmS_m_cloned.node, i32 5, i32 3, i1 false) + call void @llvm.visc.bind.output(i8* %_Z13tensorAddNodePvmS_m_cloned.node, i32 0, i32 0, i1 false) + call void @llvm.visc.bind.output(i8* %_Z13tensorAddNodePvmS_m_cloned.node, i32 1, i32 1, i1 false) + ret %struct.out._Z4rootPvmS_mS_mS_mS_m undef +} + +; Function Attrs: nounwind +declare void @llvm.visc.init() #2 + +; Function Attrs: nounwind +declare i8* @llvm.visc.launch(i8*, i8*, i1) #2 + +; Function Attrs: nounwind +declare void @llvm.visc.wait(i8*) #2 + +; Function Attrs: nounwind +declare void @llvm.visc.cleanup() #2 + +attributes #0 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="true" "no-nans-fp-math"="true" "no-signed-zeros-fp-math"="true" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="true" "use-soft-float"="false" } +attributes #1 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="true" "no-nans-fp-math"="true" "no-signed-zeros-fp-math"="true" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="true" "use-soft-float"="false" } +attributes #2 = { nounwind } +attributes #3 = { nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="true" "no-jump-tables"="false" "no-nans-fp-math"="true" "no-signed-zeros-fp-math"="true" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="true" "use-soft-float"="false" } +attributes #4 = { argmemonly nounwind } +attributes #5 = { noreturn nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="true" "no-nans-fp-math"="true" "no-signed-zeros-fp-math"="true" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="true" "use-soft-float"="false" } +attributes #6 = { norecurse nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="true" "no-jump-tables"="false" "no-nans-fp-math"="true" "no-signed-zeros-fp-math"="true" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="true" "use-soft-float"="false" } +attributes #7 = { nobuiltin nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="true" "no-nans-fp-math"="true" "no-signed-zeros-fp-math"="true" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="true" "use-soft-float"="false" } +attributes #8 = { noreturn nounwind } + +!llvm.ident = !{!0} +!visc_hint_cudnn = !{!1, !2} +!visc_hint_gpu = !{} +!visc_hint_spir = !{} +!visc_hint_promise = !{} +!visc_hint_cpu = !{!3} +!visc_hint_cpu_gpu = !{} +!visc_hint_cpu_spir = !{} + +!0 = !{!"clang version 4.0.1 "} +!1 = !{%struct.out._Z14tensorConvNodePvmS_m (i8*, i64, i8*, i64)* @_Z14tensorConvNodePvmS_m_cloned} +!2 = !{%struct.out._Z13tensorAddNodePvmS_m (i8*, i64, i8*, i64)* @_Z13tensorAddNodePvmS_m_cloned} +!3 = !{%struct.out._Z4rootPvmS_mS_mS_mS_m (i8*, i64, i8*, i64, i8*, i64, i8*, i64, i8*, i64)* @_Z4rootPvmS_mS_mS_mS_m_cloned} +!4 = !{!5, !10, i64 40} +!5 = !{!"_ZTS6Tensor", !6, i64 0, !6, i64 4, !9, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !11, i64 48, !11, i64 56, !12, i64 64} +!6 = !{!"int", !7, i64 0} +!7 = !{!"omnipotent char", !8, i64 0} +!8 = !{!"Simple C++ TBAA"} +!9 = !{!"_ZTS15data_location_t", !7, i64 0} +!10 = !{!"any pointer", !7, i64 0} +!11 = !{!"long", !7, i64 0} +!12 = !{!"_ZTS9Dimension", !6, i64 0, !10, i64 8} +!13 = !{!5, !6, i64 64} +!14 = !{!5, !10, i64 72} +!15 = !{!11, !11, i64 0} +!16 = !{!5, !11, i64 48} +!17 = !{!5, !11, i64 56} +!18 = !{!5, !10, i64 32} +!19 = !{!5, !6, i64 0} +!20 = !{!21, !21, i64 0} +!21 = !{!"float", !7, i64 0} +!22 = distinct !{!22, !23} +!23 = !{!"llvm.loop.unroll.disable"} +!24 = distinct !{!24, !25, !26} +!25 = !{!"llvm.loop.vectorize.width", i32 1} +!26 = !{!"llvm.loop.interleave.count", i32 1} +!27 = distinct !{!27, !25, !26} +!28 = distinct !{!28, !23} +!29 = distinct !{!29, !25, !26} +!30 = distinct !{!30, !23} +!31 = distinct !{!31, !25, !26} +!32 = distinct !{!32, !25, !26} +!33 = distinct !{!33, !25, !26} +!34 = distinct !{!34, !23} +!35 = distinct !{!35, !25, !26} +!36 = distinct !{!36, !25, !26} +!37 = distinct !{!37, !25, !26} +!38 = distinct !{!38, !25, !26} +!39 = !{!7, !7, i64 0} +!40 = distinct !{!40, !25, !26} +!41 = distinct !{!41, !42, !25, !26} +!42 = !{!"llvm.loop.unroll.runtime.disable"} +!43 = !{!44, !44, i64 0} +!44 = !{!"vtable pointer", !8, i64 0} +!45 = !{!46, !10, i64 216} +!46 = !{!"_ZTSSt9basic_iosIcSt11char_traitsIcEE", !10, i64 216, !7, i64 224, !47, i64 225, !10, i64 232, !10, i64 240, !10, i64 248, !10, i64 256} +!47 = !{!"bool", !7, i64 0} +!48 = !{!46, !7, i64 224} +!49 = !{!46, !47, i64 225} +!50 = !{!51, !52, i64 64} +!51 = !{!"_ZTSNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE", !52, i64 64, !53, i64 72} +!52 = !{!"_ZTSSt13_Ios_Openmode", !7, i64 0} +!53 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !54, i64 0, !11, i64 8, !7, i64 16} +!54 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !10, i64 0} +!55 = !{!54, !10, i64 0} +!56 = !{!53, !11, i64 8} +!57 = !{!58, !58, i64 0} +!58 = !{!"_ZTSSt13_Ios_Fmtflags", !7, i64 0} +!59 = !{!53, !10, i64 0} +!60 = !{!61, !58, i64 24} +!61 = !{!"_ZTSSt8ios_base", !11, i64 8, !11, i64 16, !58, i64 24, !62, i64 28, !62, i64 32, !10, i64 40, !63, i64 48, !7, i64 64, !6, i64 192, !10, i64 200, !64, i64 208} +!62 = !{!"_ZTSSt12_Ios_Iostate", !7, i64 0} +!63 = !{!"_ZTSNSt8ios_base6_WordsE", !10, i64 0, !11, i64 8} +!64 = !{!"_ZTSSt6locale", !10, i64 0} +!65 = !{!66} +!66 = distinct !{!66, !67, !"_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_: %agg.result"} +!67 = distinct !{!67, !"_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_"} +!68 = !{!69} +!69 = distinct !{!69, !70, !"_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_: %agg.result"} +!70 = distinct !{!70, !"_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_"} +!71 = !{!72} +!72 = distinct !{!72, !73, !"_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_: %agg.result"} +!73 = distinct !{!73, !"_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_"} +!74 = !{!75} +!75 = distinct !{!75, !76, !"_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_: %agg.result"} +!76 = distinct !{!76, !"_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_"} +!77 = !{!78} +!78 = distinct !{!78, !79, !"_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_: %agg.result"} +!79 = distinct !{!79, !"_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_"} +!80 = !{!81, !10, i64 0} +!81 = !{!"_ZTS6RootIn", !10, i64 0, !11, i64 8, !10, i64 16, !11, i64 24, !10, i64 32, !11, i64 40, !10, i64 48, !11, i64 56, !10, i64 64, !11, i64 72, !82, i64 80} +!82 = !{!"_ZTS5ret_t", !10, i64 0, !11, i64 8} +!83 = !{!81, !11, i64 8} +!84 = !{!81, !10, i64 16} +!85 = !{!81, !11, i64 24} +!86 = !{!81, !10, i64 32} +!87 = !{!81, !11, i64 40} +!88 = !{!81, !10, i64 48} +!89 = !{!81, !11, i64 56} +!90 = !{!81, !10, i64 64} +!91 = !{!81, !11, i64 72} diff --git a/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet/build/lenet_linked b/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet/build/lenet_linked new file mode 100755 index 0000000000000000000000000000000000000000..83a7629171a5e4fa97becf2380e06c553098db7e GIT binary patch literal 416608 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%0Ay_+FW;ldK`Y(Pl$JHHr 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%0ANJ#Co}Pn<<6B_ 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 S|2;pG^jmN~x%Ud@|9=41T4l8W literal 0 HcmV?d00001 diff --git a/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet/build/lenet_linked.bc b/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet/build/lenet_linked.bc new file mode 100644 index 0000000000000000000000000000000000000000..214b0a7ae29ce6507062314e08fe7db8632afeff GIT binary patch literal 198808 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¬VZH*!c^u`t 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%0DH}J< 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ڬSAArWI}K0vP5Fg0+&tbB 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⋘mOJ%rZ{k~4YHOAL@T(b7G%xt*9A)zdF~iaTUcyy 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 DYOsVa literal 0 HcmV?d00001 diff --git a/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet/src/.#fcl.cpp b/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet/src/.#fcl.cpp new file mode 120000 index 0000000000..2024cd1790 --- /dev/null +++ b/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet/src/.#fcl.cpp @@ -0,0 +1 @@ +hsharif3@tyler.cs.illinois.edu.16991:1541049775 \ No newline at end of file diff --git a/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet/src/lenet.cpp b/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet/src/lenet.cpp new file mode 100644 index 0000000000..e588db93bf --- /dev/null +++ b/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet/src/lenet.cpp @@ -0,0 +1,132 @@ + +#include <iostream> +#include <cstdio> +#include <cstring> +#include <cinttypes> +#include <visc.h> +#include <tensorTypes.h> +#include <tensorUtils.h> + +using namespace std; + +void tensorConvNode(void *t1, size_t bytes1, void *t2, size_t bytes2) { + __visc__hint(visc::CUDNN_TARGET); + __visc__attributes(2, t1, t2, 0); + + // X * W = t2 * t1 + void *r = __visc__tensor_convolution(t1, t2, 2, 2, 1, 1); + __visc__return(2, r, (size_t) 0); +} + + +void tensorAddNode(void *t1, size_t bytest1, void *t2, size_t bytest2) { + __visc__hint(visc::CUDNN_TARGET); + __visc__attributes(2, t1, t2, 0); + + void* r = __visc__tensor_add(t1, t2); + __visc__return(2, r, (size_t) 0); +} + +void root(void *x, size_t x_bytes, + void *conv1_w, size_t conv1_w_bytes, + void *conv1_b, size_t conv1_b_bytes, + void *conv2_w, size_t conv2_w_bytes, + void *conv2_b, size_t conv2_b_bytes){ + + __visc__hint(visc::CPU_TARGET); + __visc__attributes(5, x, conv1_w, conv1_b, conv2_w, conv2_b, 0); + + void *nodeConv1 = __visc__createNodeND(0, tensorConvNode); + void *nodeAdd = __visc__createNodeND(0, tensorAddNode); + + // node, src, dst, stream + __visc__bindIn(nodeConv1, 0, 0, 0); + __visc__bindIn(nodeConv1, 1, 1, 0); + __visc__bindIn(nodeConv1, 2, 2, 0); + __visc__bindIn(nodeConv1, 3, 3, 0); + + // node, node, type, src, dst, stream + __visc__edge(nodeConv1, nodeAdd, 1, 0, 0, 0); + __visc__edge(nodeConv1, nodeAdd, 1, 1, 1, 0); + + __visc__bindIn(nodeAdd, 4, 2, 0); + __visc__bindIn(nodeAdd, 5, 3, 0); + + __visc__bindOut(nodeAdd, 0, 0, 0); + __visc__bindOut(nodeAdd, 1, 1, 0); + +} + + +// Return type for the nodes +struct ret_t { + void *tensor; + size_t bytes; +}; + +typedef struct __attribute__((__packed__)) { + void *x; + size_t x_bytes; + + void *conv1_w; + size_t conv1_w_bytes; + void *conv1_b; + size_t conv1_b_bytes; + + void *conv2_w; + size_t conv2_w_bytes; + void *conv2_b; + size_t conv2_b_bytes; + + struct ret_t r; +} +RootIn; + +int main() { + + int test_batch_size = 1000; + std::string prefix = "../../../../../../projects/hpvm-tensor-rt/model_params"; + std::string input_data_path = prefix + std::string("/FC_network2/mnist_float_input.bin"); + std::string conv1_w_path = prefix + std::string("/lenet_keras/conv1.bin"); + std::string conv1_b_path = prefix + std::string("/lenet_keras/conv1_bias.bin"); + std::string conv2_w_path = prefix + std::string("/lenet_keras/conv2.bin"); + std::string conv2_b_path = prefix + std::string("/lenet_keras/conv2_bias.bin"); + + printf("Reading Input Data from = %s \n", input_data_path.c_str()); + + void* x = readTrainedWeights(input_data_path.c_str(), float_type, + test_batch_size, 1, 28, 28); + void* conv1_w = readTrainedWeights(conv1_w_path.c_str(), float_type, 32, 1, 5, 5); + void* conv1_b = readTrainedWeights(conv1_b_path.c_str(), float_type, 1, 32, 1, 1); + void* conv2_w = readTrainedWeights(conv2_w_path.c_str(), float_type, 64, 32, 5, 5); + void* conv2_b = readTrainedWeights(conv2_b_path.c_str(), float_type, 1, 64, 1, 1); + + __visc__init(); + + RootIn* args = static_cast<RootIn*>(malloc(sizeof(RootIn))); + args->x = x; + args->x_bytes = 0; + args->conv1_w = conv1_w; + args->conv1_w_bytes = 0; + args->conv1_b = conv1_b; + args->conv1_b_bytes = 0; + args->conv2_w = conv2_w; + args->conv2_w_bytes = 0; + args->conv2_b = conv2_b; + args->conv2_b_bytes = 0; + + + void *dfg = __visc__launch(0, root, (void *)args); + + __visc__wait(dfg); + + // FIXME: Value returned in the wrong index!! + //void *r = static_cast<RootIn*>(args)->r.tensor; + void *r = static_cast<RootIn*>(args)->x; + hpvm_request_tensor(r, 0); + + __visc__cleanup(); + return 0; +} + + -- GitLab