; ModuleID = '/home/hakta/Documents/edge_detection/solution2/.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" @convolution_str = internal unnamed_addr constant [12 x i8] c"convolution\00" @RAM_1P_str = internal unnamed_addr constant [7 x i8] c"RAM_1P\00" @p_str5 = internal unnamed_addr constant [1 x i8] zeroinitializer @p_str4 = internal unnamed_addr constant [1 x i8] zeroinitializer @p_str3 = internal unnamed_addr constant [1 x i8] zeroinitializer @p_str1 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @p_str = private unnamed_addr constant [10 x i8] c"s_axilite\00", align 1 declare void @llvm.dbg.value(metadata, i64, metadata) nounwind readnone define void @convolution([10000 x i32]* %A, [100 x i32]* %B, [8281 x i32]* %C) nounwind uwtable { call void (...)* @_ssdm_op_SpecBitsMap([10000 x i32]* %A) nounwind, !map !7 call void (...)* @_ssdm_op_SpecBitsMap([100 x i32]* %B) nounwind, !map !13 call void (...)* @_ssdm_op_SpecBitsMap([8281 x i32]* %C) nounwind, !map !19 call void (...)* @_ssdm_op_SpecTopModule([12 x i8]* @convolution_str) nounwind call void (...)* @_ssdm_op_SpecInterface(i32 0, [10 x i8]* @p_str, i32 0, i32 0, [1 x i8]* @p_str1, i32 0, i32 0, [1 x i8]* @p_str1, [1 x i8]* @p_str1, [1 x i8]* @p_str1, i32 0, i32 0, i32 0, i32 0, [1 x i8]* @p_str1, [1 x i8]* @p_str1) nounwind %empty = call i32 (...)* @_ssdm_op_SpecMemCore([8281 x i32]* %C, [1 x i8]* @p_str5, [7 x i8]* @RAM_1P_str, [1 x i8]* @p_str5, i32 -1, [1 x i8]* @p_str5, [1 x i8]* @p_str5, [1 x i8]* @p_str5, [1 x i8]* @p_str5, [1 x i8]* @p_str5) nounwind call void (...)* @_ssdm_op_SpecInterface([8281 x i32]* %C, [10 x i8]* @p_str, i32 0, i32 0, [1 x i8]* @p_str1, i32 0, i32 0, [1 x i8]* @p_str1, [1 x i8]* @p_str1, [1 x i8]* @p_str1, i32 0, i32 0, i32 0, i32 0, [1 x i8]* @p_str1, [1 x i8]* @p_str1) nounwind %empty_2 = call i32 (...)* @_ssdm_op_SpecMemCore([100 x i32]* %B, [1 x i8]* @p_str4, [7 x i8]* @RAM_1P_str, [1 x i8]* @p_str4, i32 -1, [1 x i8]* @p_str4, [1 x i8]* @p_str4, [1 x i8]* @p_str4, [1 x i8]* @p_str4, [1 x i8]* @p_str4) nounwind call void (...)* @_ssdm_op_SpecInterface([100 x i32]* %B, [10 x i8]* @p_str, i32 0, i32 0, [1 x i8]* @p_str1, i32 0, i32 0, [1 x i8]* @p_str1, [1 x i8]* @p_str1, [1 x i8]* @p_str1, i32 0, i32 0, i32 0, i32 0, [1 x i8]* @p_str1, [1 x i8]* @p_str1) nounwind %empty_3 = call i32 (...)* @_ssdm_op_SpecMemCore([10000 x i32]* %A, [1 x i8]* @p_str3, [7 x i8]* @RAM_1P_str, [1 x i8]* @p_str3, i32 -1, [1 x i8]* @p_str3, [1 x i8]* @p_str3, [1 x i8]* @p_str3, [1 x i8]* @p_str3, [1 x i8]* @p_str3) nounwind call void (...)* @_ssdm_op_SpecInterface([10000 x i32]* %A, [10 x i8]* @p_str, i32 0, i32 0, [1 x i8]* @p_str1, i32 0, i32 0, [1 x i8]* @p_str1, [1 x i8]* @p_str1, [1 x i8]* @p_str1, i32 0, i32 0, i32 0, i32 0, [1 x i8]* @p_str1, [1 x i8]* @p_str1) nounwind br label %.loopexit1 .loopexit1.loopexit: ; preds = %.preheader4 br label %.loopexit1 .loopexit1: ; preds = %.loopexit1.loopexit, %0 %i = phi i7 [ 0, %0 ], [ %i_1, %.loopexit1.loopexit ] %phi_mul = phi i14 [ 0, %0 ], [ %next_mul, %.loopexit1.loopexit ] %next_mul = add i14 %phi_mul, 91 %exitcond3 = icmp eq i7 %i, -37 %empty_4 = call i32 (...)* @_ssdm_op_SpecLoopTripCount(i64 91, i64 91, i64 91) nounwind %i_1 = add i7 %i, 1 br i1 %exitcond3, label %3, label %.preheader4.preheader .preheader4.preheader: ; preds = %.loopexit1 br label %.preheader4 .preheader4.loopexit: ; preds = %.loopexit br label %.preheader4 .preheader4: ; preds = %.preheader4.preheader, %.preheader4.loopexit %j = phi i7 [ %j_1, %.preheader4.loopexit ], [ 0, %.preheader4.preheader ] %j_cast5 = zext i7 %j to i14 %exitcond2 = icmp eq i7 %j, -37 %empty_5 = call i32 (...)* @_ssdm_op_SpecLoopTripCount(i64 91, i64 91, i64 91) nounwind %j_1 = add i7 %j, 1 br i1 %exitcond2, label %.loopexit1.loopexit, label %1 ;