; ModuleID = '/home/hakta/Documents/vivado_test/solution1/.autopilot/db/a.g.1.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" @apint_arith.str = internal unnamed_addr constant [12 x i8] c"apint_arith\00" ; [#uses=1 type=[12 x i8]*] ; [#uses=8] declare void @llvm.dbg.value(metadata, i64, metadata) nounwind readnone ; [#uses=0] define void @apint_arith(i8 signext %inA, i16 signext %inB, i32 %inC, i64 %inD, i32* %out1, i32* %out2, i32* %out3, i64* %out4) nounwind uwtable { call void (...)* @_ssdm_op_SpecTopModule([12 x i8]* @apint_arith.str) nounwind call void @llvm.dbg.value(metadata !{i8 %inA}, i64 0, metadata !38), !dbg !39 ; [debug line = 4:25] [debug variable = inA] call void @llvm.dbg.value(metadata !{i16 %inB}, i64 0, metadata !40), !dbg !41 ; [debug line = 4:37] [debug variable = inB] call void @llvm.dbg.value(metadata !{i32 %inC}, i64 0, metadata !42), !dbg !43 ; [debug line = 4:49] [debug variable = inC] call void @llvm.dbg.value(metadata !{i64 %inD}, i64 0, metadata !44), !dbg !45 ; [debug line = 4:61] [debug variable = inD] call void @llvm.dbg.value(metadata !{i32* %out1}, i64 0, metadata !46), !dbg !47 ; [debug line = 4:75] [debug variable = out1] call void @llvm.dbg.value(metadata !{i32* %out2}, i64 0, metadata !48), !dbg !49 ; [debug line = 4:90] [debug variable = out2] call void @llvm.dbg.value(metadata !{i32* %out3}, i64 0, metadata !50), !dbg !51 ; [debug line = 4:105] [debug variable = out3] call void @llvm.dbg.value(metadata !{i64* %out4}, i64 0, metadata !52), !dbg !53 ; [debug line = 4:120] [debug variable = out4] %tmp = sext i8 %inA to i32, !dbg !54 ; [#uses=3 type=i32] [debug line = 6:2] %tmp.1 = sext i16 %inB to i32, !dbg !54 ; [#uses=2 type=i32] [debug line = 6:2] %tmp.2 = mul nsw i32 %tmp.1, %tmp, !dbg !54 ; [#uses=1 type=i32] [debug line = 6:2] store i32 %tmp.2, i32* %out1, align 4, !dbg !54 ; [debug line = 6:2] %tmp.3 = add nsw i32 %tmp.1, %tmp, !dbg !56 ; [#uses=1 type=i32] [debug line = 7:2] store i32 %tmp.3, i32* %out2, align 4, !dbg !56 ; [debug line = 7:2] %tmp.4 = sdiv i32 %inC, %tmp, !dbg !57 ; [#uses=1 type=i32] [debug line = 8:2] store i32 %tmp.4, i32* %out3, align 4, !dbg !57 ; [debug line = 8:2] %tmp.5 = sext i8 %inA to i64, !dbg !58 ; [#uses=1 type=i64] [debug line = 9:2] %tmp.6 = srem i64 %inD, %tmp.5, !dbg !58 ; [#uses=1 type=i64] [debug line = 9:2] store i64 %tmp.6, i64* %out4, align 8, !dbg !58 ; [debug line = 9:2] ret void, !dbg !59 ; [debug line = 10:1] } ; [#uses=1] declare void @_ssdm_op_SpecTopModule(...) !llvm.dbg.cu = !{!0} !opencl.kernels = !{!31} !hls.encrypted.func = !{} !0 = metadata !{i32 786449, i32 0, i32 4, metadata !"/home/hakta/Documents/vivado_test/solution1/.autopilot/db/prec_test.pragma.2.cpp", metadata !"/home/hakta/Documents", metadata !"clang version 3.1 ", i1 true, i1 false, metadata !"", i32 0, metadata !1, metadata !1, metadata !3, metadata !1} ; [ DW_TAG_compile_unit ] !1 = metadata !{metadata !2} !2 = metadata !{i32 0} !3 = metadata !{metadata !4} !4 = metadata !{metadata !5} !5 = metadata !{i32 786478, i32 0, metadata !6, metadata !"apint_arith", metadata !"apint_arith", metadata !"_Z11apint_arithcsixPiPjS_Pl", metadata !6, i32 4, metadata !7, i1 false, i1 true, i32 0, i32 0, null, i32 256, i1 false, void (i8, i16, i32, i64, i32*, i32*, i32*, i64*)* @apint_arith, null, null, metadata !29, i32 4} ; [ DW_TAG_subprogram ] !6 = metadata !{i32 786473, metadata !"vivado_test/prec_test.cpp", metadata !"/home/hakta/Documents", null} ; [ DW_TAG_file_type ] !7 = metadata !{i32 786453, i32 0, metadata !"", i32 0, i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !8, i32 0, i32 0} ; [ DW_TAG_subroutine_type ] !8 = metadata !{null, metadata !9, metadata !11, metadata !13, metadata !15, metadata !17, metadata !19, metadata !22, metadata !25} !9 = metadata !{i32 786454, null, metadata !"dinA_t", metadata !6, i32 3, i64 0, i64 0, i64 0, i32 0, metadata !10} ; [ DW_TAG_typedef ] !10 = metadata !{i32 786468, null, metadata !"char", null, i32 0, i64 8, i64 8, i64 0, i32 0, i32 6} ; [ DW_TAG_base_type ] !11 = metadata !{i32 786454, null, metadata !"dinB_t", metadata !6, i32 4, i64 0, i64 0, i64 0, i32 0, metadata !12} ; [ DW_TAG_typedef ] !12 = metadata !{i32 786468, null, metadata !"short", null, i32 0, i64 16, i64 16, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ] !13 = metadata !{i32 786454, null, metadata !"dinC_t", metadata !6, i32 5, i64 0, i64 0, i64 0, i32 0, metadata !14} ; [ DW_TAG_typedef ] !14 = metadata !{i32 786468, null, metadata !"int", null, i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ] !15 = metadata !{i32 786454, null, metadata !"dinD_t", metadata !6, i32 6, i64 0, i64 0, i64 0, i32 0, metadata !16} ; [ DW_TAG_typedef ] !16 = metadata !{i32 786468, null, metadata !"long long int", null, i32 0, i64 64, i64 64, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ] !17 = metadata !{i32 786447, null, metadata !"", null, i32 0, i64 64, i64 64, i64 0, i32 0, metadata !18} ; [ DW_TAG_pointer_type ] !18 = metadata !{i32 786454, null, metadata !"dout1_t", metadata !6, i32 7, i64 0, i64 0, i64 0, i32 0, metadata !14} ; [ DW_TAG_typedef ] !19 = metadata !{i32 786447, null, metadata !"", null, i32 0, i64 64, i64 64, i64 0, i32 0, metadata !20} ; [ DW_TAG_pointer_type ] !20 = metadata !{i32 786454, null, metadata !"dout2_t", metadata !6, i32 8, i64 0, i64 0, i64 0, i32 0, metadata !21} ; [ DW_TAG_typedef ] !21 = metadata !{i32 786468, null, metadata !"unsigned int", null, i32 0, i64 32, i64 32, i64 0, i32 0, i32 7} ; [ DW_TAG_base_type ] !22 = metadata !{i32 786447, null, metadata !"", null, i32 0, i64 64, i64 64, i64 0, i32 0, metadata !23} ; [ DW_TAG_pointer_type ] !23 = metadata !{i32 786454, null, metadata !"dout3_t", metadata !6, i32 9, i64 0, i64 0, i64 0, i32 0, metadata !24} ; [ DW_TAG_typedef ] !24 = metadata !{i32 786454, null, metadata !"int32_t", metadata !6, i32 38, i64 0, i64 0, i64 0, i32 0, metadata !14} ; [ DW_TAG_typedef ] !25 = metadata !{i32 786447, null, metadata !"", null, i32 0, i64 64, i64 64, i64 0, i32 0, metadata !26} ; [ DW_TAG_pointer_type ] !26 = metadata !{i32 786454, null, metadata !"dout4_t", metadata !6, i32 10, i64 0, i64 0, i64 0, i32 0, metadata !27} ; [ DW_TAG_typedef ] !27 = metadata !{i32 786454, null, metadata !"int64_t", metadata !6, i32 40, i64 0, i64 0, i64 0, i32 0, metadata !28} ; [ DW_TAG_typedef ] !28 = metadata !{i32 786468, null, metadata !"long int", null, i32 0, i64 64, i64 64, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ] !29 = metadata !{metadata !30} !30 = metadata !{i32 786468} ; [ DW_TAG_base_type ] !31 = metadata !{void (i8, i16, i32, i64, i32*, i32*, i32*, i64*)* @apint_arith, metadata !32, metadata !33, metadata !34, metadata !35, metadata !36, metadata !37} !32 = metadata !{metadata !"kernel_arg_addr_space", i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 1, i32 1} !33 = metadata !{metadata !"kernel_arg_access_qual", metadata !"none", metadata !"none", metadata !"none", metadata !"none", metadata !"none", metadata !"none", metadata !"none", metadata !"none"} !34 = metadata !{metadata !"kernel_arg_type", metadata !"dinA_t", metadata !"dinB_t", metadata !"dinC_t", metadata !"dinD_t", metadata !"dout1_t*", metadata !"dout2_t*", metadata !"dout3_t*", metadata !"dout4_t*"} !35 = metadata !{metadata !"kernel_arg_type_qual", metadata !"", metadata !"", metadata !"", metadata !"", metadata !"", metadata !"", metadata !"", metadata !""} !36 = metadata !{metadata !"kernel_arg_name", metadata !"inA", metadata !"inB", metadata !"inC", metadata !"inD", metadata !"out1", metadata !"out2", metadata !"out3", metadata !"out4"} !37 = metadata !{metadata !"reqd_work_group_size", i32 1, i32 1, i32 1} !38 = metadata !{i32 786689, metadata !5, metadata !"inA", metadata !6, i32 16777220, metadata !9, i32 0, i32 0} ; [ DW_TAG_arg_variable ] !39 = metadata !{i32 4, i32 25, metadata !5, null} !40 = metadata !{i32 786689, metadata !5, metadata !"inB", metadata !6, i32 33554436, metadata !11, i32 0, i32 0} ; [ DW_TAG_arg_variable ] !41 = metadata !{i32 4, i32 37, metadata !5, null} !42 = metadata !{i32 786689, metadata !5, metadata !"inC", metadata !6, i32 50331652, metadata !13, i32 0, i32 0} ; [ DW_TAG_arg_variable ] !43 = metadata !{i32 4, i32 49, metadata !5, null} !44 = metadata !{i32 786689, metadata !5, metadata !"inD", metadata !6, i32 67108868, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] !45 = metadata !{i32 4, i32 61, metadata !5, null} !46 = metadata !{i32 786689, metadata !5, metadata !"out1", metadata !6, i32 83886084, metadata !17, i32 0, i32 0} ; [ DW_TAG_arg_variable ] !47 = metadata !{i32 4, i32 75, metadata !5, null} !48 = metadata !{i32 786689, metadata !5, metadata !"out2", metadata !6, i32 100663300, metadata !19, i32 0, i32 0} ; [ DW_TAG_arg_variable ] !49 = metadata !{i32 4, i32 90, metadata !5, null} !50 = metadata !{i32 786689, metadata !5, metadata !"out3", metadata !6, i32 117440516, metadata !22, i32 0, i32 0} ; [ DW_TAG_arg_variable ] !51 = metadata !{i32 4, i32 105, metadata !5, null} !52 = metadata !{i32 786689, metadata !5, metadata !"out4", metadata !6, i32 134217732, metadata !25, i32 0, i32 0} ; [ DW_TAG_arg_variable ] !53 = metadata !{i32 4, i32 120, metadata !5, null} !54 = metadata !{i32 6, i32 2, metadata !55, null} !55 = metadata !{i32 786443, metadata !5, i32 4, i32 126, metadata !6, i32 0} ; [ DW_TAG_lexical_block ] !56 = metadata !{i32 7, i32 2, metadata !55, null} !57 = metadata !{i32 8, i32 2, metadata !55, null} !58 = metadata !{i32 9, i32 2, metadata !55, null} !59 = metadata !{i32 10, i32 1, metadata !55, null}