; ModuleID = '/home/hakta/Documents/vector_mult/solution0/.autopilot/db/a.o.bc' target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" @.str = private unnamed_addr constant [10 x i8] c"s_axilite\00", align 1 ; [#uses=1 type=[10 x i8]*] @.str1 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 ; [#uses=1 type=[1 x i8]*] @.str2 = private unnamed_addr constant [6 x i8] c"m_axi\00", align 1 ; [#uses=1 type=[6 x i8]*] @.str3 = private unnamed_addr constant [7 x i8] c"result\00", align 1 ; [#uses=1 type=[7 x i8]*] @.str4 = private unnamed_addr constant [6 x i8] c"slave\00", align 1 ; [#uses=1 type=[6 x i8]*] @.str5 = private unnamed_addr constant [2 x i8] c"B\00", align 1 ; [#uses=1 type=[2 x i8]*] @.str6 = private unnamed_addr constant [2 x i8] c"A\00", align 1 ; [#uses=1 type=[2 x i8]*] @.str7 = private unnamed_addr constant [17 x i8] c"vector_mult_loop\00", align 1 ; [#uses=1 type=[17 x i8]*] ; [#uses=0] define void @_Z11vector_multPiS_S_(i32* %A, i32* %B, i32* %result) nounwind uwtable { %1 = alloca i32*, align 8 ; [#uses=4 type=i32**] %2 = alloca i32*, align 8 ; [#uses=4 type=i32**] %3 = alloca i32*, align 8 ; [#uses=4 type=i32**] %tempA = alloca [8 x i32], align 16 ; [#uses=0 type=[8 x i32]*] %tempB = alloca [8 x i32], align 16 ; [#uses=0 type=[8 x i32]*] %tempResult = alloca [8 x i32], align 16 ; [#uses=0 type=[8 x i32]*] %i = alloca i32, align 4 ; [#uses=7 type=i32*] store i32* %A, i32** %1, align 8 call void @llvm.dbg.declare(metadata !{i32** %1}, metadata !20), !dbg !21 ; [debug line = 4:22] [debug variable = A] store i32* %B, i32** %2, align 8 call void @llvm.dbg.declare(metadata !{i32** %2}, metadata !22), !dbg !23 ; [debug line = 4:32] [debug variable = B] store i32* %result, i32** %3, align 8 call void @llvm.dbg.declare(metadata !{i32** %3}, metadata !24), !dbg !25 ; [debug line = 4:42] [debug variable = result] %4 = load i32** %3, align 8, !dbg !26 ; [#uses=1 type=i32*] [debug line = 4:54] call void (...)* @_ssdm_SpecArrayDimSize(i32* %4, i32 8) nounwind, !dbg !26 ; [debug line = 4:54] %5 = load i32** %1, align 8, !dbg !28 ; [#uses=1 type=i32*] [debug line = 4:87] call void (...)* @_ssdm_SpecArrayDimSize(i32* %5, i32 8) nounwind, !dbg !28 ; [debug line = 4:87] %6 = load i32** %2, align 8, !dbg !29 ; [#uses=1 type=i32*] [debug line = 4:115] call void (...)* @_ssdm_SpecArrayDimSize(i32* %6, i32 8) nounwind, !dbg !29 ; [debug line = 4:115] call void (...)* @_ssdm_op_SpecInterface(i32 0, i8* getelementptr inbounds ([10 x i8]* @.str, i32 0, i32 0), i32 0, i32 0, i8* getelementptr inbounds ([1 x i8]* @.str1, i32 0, i32 0), i32 0, i32 0, i8* getelementptr inbounds ([1 x i8]* @.str1, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8]* @.str1, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8]* @.str1, i32 0, i32 0), i32 0, i32 0, i32 0, i32 0, i8* getelementptr inbounds ([1 x i8]* @.str1, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8]* @.str1, i32 0, i32 0)) nounwind, !dbg !30 ; [debug line = 5:1] %7 = load i32** %3, align 8, !dbg !30 ; [#uses=1 type=i32*] [debug line = 5:1] call void (...)* @_ssdm_op_SpecInterface(i32* %7, i8* getelementptr inbounds ([6 x i8]* @.str2, i32 0, i32 0), i32 0, i32 0, i8* getelementptr inbounds ([1 x i8]* @.str1, i32 0, i32 0), i32 0, i32 32, i8* getelementptr inbounds ([7 x i8]* @.str3, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str4, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8]* @.str1, i32 0, i32 0), i32 16, i32 16, i32 16, i32 16, i8* getelementptr inbounds ([1 x i8]* @.str1, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8]* @.str1, i32 0, i32 0)) nounwind, !dbg !30 ; [debug line = 5:1] %8 = load i32** %2, align 8, !dbg !30 ; [#uses=1 type=i32*] [debug line = 5:1] call void (...)* @_ssdm_op_SpecInterface(i32* %8, i8* getelementptr inbounds ([6 x i8]* @.str2, i32 0, i32 0), i32 0, i32 0, i8* getelementptr inbounds ([1 x i8]* @.str1, i32 0, i32 0), i32 0, i32 32, i8* getelementptr inbounds ([2 x i8]* @.str5, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str4, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8]* @.str1, i32 0, i32 0), i32 16, i32 16, i32 16, i32 16, i8* getelementptr inbounds ([1 x i8]* @.str1, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8]* @.str1, i32 0, i32 0)) nounwind, !dbg !30 ; [debug line = 5:1] %9 = load i32** %1, align 8, !dbg !30 ; [#uses=1 type=i32*] [debug line = 5:1] call void (...)* @_ssdm_op_SpecInterface(i32* %9, i8* getelementptr inbounds ([6 x i8]* @.str2, i32 0, i32 0), i32 0, i32 0, i8* getelementptr inbounds ([1 x i8]* @.str1, i32 0, i32 0), i32 0, i32 32, i8* getelementptr inbounds ([2 x i8]* @.str6, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str4, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8]* @.str1, i32 0, i32 0), i32 16, i32 16, i32 16, i32 16, i8* getelementptr inbounds ([1 x i8]* @.str1, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8]* @.str1, i32 0, i32 0)) nounwind, !dbg !30 ; [debug line = 5:1] call void @llvm.dbg.declare(metadata !{[8 x i32]* %tempA}, metadata !31), !dbg !35 ; [debug line = 5:6] [debug variable = tempA] call void @llvm.dbg.declare(metadata !{[8 x i32]* %tempB}, metadata !36), !dbg !37 ; [debug line = 5:16] [debug variable = tempB] call void @llvm.dbg.declare(metadata !{[8 x i32]* %tempResult}, metadata !38), !dbg !39 ; [debug line = 5:26] [debug variable = tempResult] br label %10, !dbg !40 ; [debug line = 5:39] ;