; ModuleID = '/home/hakta/Documents/vivado_test/solution1/.autopilot/db/a.o.2.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_SpecBitsMap(i8 %inA) nounwind, !map !38 call void (...)* @_ssdm_op_SpecBitsMap(i16 %inB) nounwind, !map !44 call void (...)* @_ssdm_op_SpecBitsMap(i32 %inC) nounwind, !map !48 call void (...)* @_ssdm_op_SpecBitsMap(i64 %inD) nounwind, !map !52 call void (...)* @_ssdm_op_SpecBitsMap(i32* %out1) nounwind, !map !56 call void (...)* @_ssdm_op_SpecBitsMap(i32* %out2) nounwind, !map !62 call void (...)* @_ssdm_op_SpecBitsMap(i32* %out3) nounwind, !map !66 call void (...)* @_ssdm_op_SpecBitsMap(i64* %out4) nounwind, !map !70 call void (...)* @_ssdm_op_SpecTopModule([12 x i8]* @apint_arith.str) nounwind call void @llvm.dbg.value(metadata !{i8 %inA}, i64 0, metadata !74), !dbg !75 ; [debug line = 4:25] [debug variable = inA] call void @llvm.dbg.value(metadata !{i16 %inB}, i64 0, metadata !76), !dbg !77 ; [debug line = 4:37] [debug variable = inB] call void @llvm.dbg.value(metadata !{i32 %inC}, i64 0, metadata !78), !dbg !79 ; [debug line = 4:49] [debug variable = inC] call void @llvm.dbg.value(metadata !{i64 %inD}, i64 0, metadata !80), !dbg !81 ; [debug line = 4:61] [debug variable = inD] call void @llvm.dbg.value(metadata !{i32* %out1}, i64 0, metadata !82), !dbg !83 ; [debug line = 4:75] [debug variable = out1] call void @llvm.dbg.value(metadata !{i32* %out2}, i64 0, metadata !84), !dbg !85 ; [debug line = 4:90] [debug variable = out2] call void @llvm.dbg.value(metadata !{i32* %out3}, i64 0, metadata !86), !dbg !87 ; [debug line = 4:105] [debug variable = out3] call void @llvm.dbg.value(metadata !{i64* %out4}, i64 0, metadata !88), !dbg !89 ; [debug line = 4:120] [debug variable = out4] %tmp = sext i8 %inA to i32, !dbg !90 ; [#uses=1 type=i32] [debug line = 6:2] %tmp.cast2 = sext i8 %inA to i17, !dbg !90 ; [#uses=1 type=i17] [debug line = 6:2] %tmp.cast = sext i8 %inA to i24, !dbg !90 ; [#uses=1 type=i24] [debug line = 6:2] %tmp.1.cast1 = sext i16 %inB to i17, !dbg !90 ; [#uses=1 type=i17] [debug line = 6:2] %tmp.1.cast = sext i16 %inB to i24, !dbg !90 ; [#uses=1 type=i24] [debug line = 6:2] %tmp.2 = mul i24 %tmp.cast, %tmp.1.cast, !dbg !90 ; [#uses=1 type=i24] [debug line = 6:2] %tmp.2.cast = sext i24 %tmp.2 to i32, !dbg !90 ; [#uses=1 type=i32] [debug line = 6:2] store i32 %tmp.2.cast, i32* %out1, align 4, !dbg !90 ; [debug line = 6:2] %tmp.3 = add i17 %tmp.cast2, %tmp.1.cast1, !dbg !92 ; [#uses=1 type=i17] [debug line = 7:2] %tmp.3.cast = sext i17 %tmp.3 to i32, !dbg !92 ; [#uses=1 type=i32] [debug line = 7:2] store i32 %tmp.3.cast, i32* %out2, align 4, !dbg !92 ; [debug line = 7:2] %tmp.4 = sdiv i32 %inC, %tmp, !dbg !93 ; [#uses=1 type=i32] [debug line = 8:2] store i32 %tmp.4, i32* %out3, align 4, !dbg !93 ; [debug line = 8:2] %tmp.5 = sext i8 %inA to i64, !dbg !94 ; [#uses=1 type=i64] [debug line = 9:2] %tmp.6 = srem i64 %inD, %tmp.5, !dbg !94 ; [#uses=1 type=i64] [debug line = 9:2] store i64 %tmp.6, i64* %out4, align 8, !dbg !94 ; [debug line = 9:2] ret void, !dbg !95 ; [debug line = 10:1] } ; [#uses=1] declare void @_ssdm_op_SpecTopModule(...) ; [#uses=8] declare void @_ssdm_op_SpecBitsMap(...) !llvm.dbg.cu = !{!0} !opencl.kernels = !{!31} !hls.encrypted.func = !{} !llvm.map.gv = !{} !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 !{metadata !39} !39 = metadata !{i32 0, i32 7, metadata !40} !40 = metadata !{metadata !41} !41 = metadata !{metadata !"inA", metadata !42, metadata !"char", i32 0, i32 7} !42 = metadata !{metadata !43} !43 = metadata !{i32 0, i32 0, i32 0} !44 = metadata !{metadata !45} !45 = metadata !{i32 0, i32 15, metadata !46} !46 = metadata !{metadata !47} !47 = metadata !{metadata !"inB", metadata !42, metadata !"short", i32 0, i32 15} !48 = metadata !{metadata !49} !49 = metadata !{i32 0, i32 31, metadata !50} !50 = metadata !{metadata !51} !51 = metadata !{metadata !"inC", metadata !42, metadata !"int", i32 0, i32 31} !52 = metadata !{metadata !53} !53 = metadata !{i32 0, i32 63, metadata !54} !54 = metadata !{metadata !55} !55 = metadata !{metadata !"inD", metadata !42, metadata !"long long int", i32 0, i32 63} !56 = metadata !{metadata !57} !57 = metadata !{i32 0, i32 31, metadata !58} !58 = metadata !{metadata !59} !59 = metadata !{metadata !"out1", metadata !60, metadata !"int", i32 0, i32 31} !60 = metadata !{metadata !61} !61 = metadata !{i32 0, i32 0, i32 1} !62 = metadata !{metadata !63} !63 = metadata !{i32 0, i32 31, metadata !64} !64 = metadata !{metadata !65} !65 = metadata !{metadata !"out2", metadata !60, metadata !"unsigned int", i32 0, i32 31} !66 = metadata !{metadata !67} !67 = metadata !{i32 0, i32 31, metadata !68} !68 = metadata !{metadata !69} !69 = metadata !{metadata !"out3", metadata !60, metadata !"int", i32 0, i32 31} !70 = metadata !{metadata !71} !71 = metadata !{i32 0, i32 63, metadata !72} !72 = metadata !{metadata !73} !73 = metadata !{metadata !"out4", metadata !60, metadata !"long int", i32 0, i32 63} !74 = metadata !{i32 786689, metadata !5, metadata !"inA", metadata !6, i32 16777220, metadata !9, i32 0, i32 0} ; [ DW_TAG_arg_variable ] !75 = metadata !{i32 4, i32 25, metadata !5, null} !76 = metadata !{i32 786689, metadata !5, metadata !"inB", metadata !6, i32 33554436, metadata !11, i32 0, i32 0} ; [ DW_TAG_arg_variable ] !77 = metadata !{i32 4, i32 37, metadata !5, null} !78 = metadata !{i32 786689, metadata !5, metadata !"inC", metadata !6, i32 50331652, metadata !13, i32 0, i32 0} ; [ DW_TAG_arg_variable ] !79 = metadata !{i32 4, i32 49, metadata !5, null} !80 = metadata !{i32 786689, metadata !5, metadata !"inD", metadata !6, i32 67108868, metadata !15, i32 0, i32 0} ; [ DW_TAG_arg_variable ] !81 = metadata !{i32 4, i32 61, metadata !5, null} !82 = metadata !{i32 786689, metadata !5, metadata !"out1", metadata !6, i32 83886084, metadata !17, i32 0, i32 0} ; [ DW_TAG_arg_variable ] !83 = metadata !{i32 4, i32 75, metadata !5, null} !84 = metadata !{i32 786689, metadata !5, metadata !"out2", metadata !6, i32 100663300, metadata !19, i32 0, i32 0} ; [ DW_TAG_arg_variable ] !85 = metadata !{i32 4, i32 90, metadata !5, null} !86 = metadata !{i32 786689, metadata !5, metadata !"out3", metadata !6, i32 117440516, metadata !22, i32 0, i32 0} ; [ DW_TAG_arg_variable ] !87 = metadata !{i32 4, i32 105, metadata !5, null} !88 = metadata !{i32 786689, metadata !5, metadata !"out4", metadata !6, i32 134217732, metadata !25, i32 0, i32 0} ; [ DW_TAG_arg_variable ] !89 = metadata !{i32 4, i32 120, metadata !5, null} !90 = metadata !{i32 6, i32 2, metadata !91, null} !91 = metadata !{i32 786443, metadata !5, i32 4, i32 126, metadata !6, i32 0} ; [ DW_TAG_lexical_block ] !92 = metadata !{i32 7, i32 2, metadata !91, null} !93 = metadata !{i32 8, i32 2, metadata !91, null} !94 = metadata !{i32 9, i32 2, metadata !91, null} !95 = metadata !{i32 10, i32 1, metadata !91, null}