; LLVM IR from Seeed-Studio/Seeed_Arduino_edgeimpulse :: src/edge-impulse-sdk/tensorflow/lite/micro/kernels (circular_buffer)

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%"struct.tflite::ops::micro::circular_buffer::(anonymous namespace)::OpData" = type { i32, i32 }
%struct.TfLiteContext = type { i64, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i32, ptr, ptr, i8, ptr, ptr, ptr, ptr, ptr, ptr, ptr }
%struct.TfLiteTensor = type { i32, %union.TfLitePtrUnion, ptr, %struct.TfLiteQuantizationParams, i32, i64, ptr, ptr, ptr, i32, i8, i8, %struct.TfLiteQuantization, ptr, ptr }
%union.TfLitePtrUnion = type { ptr }
%struct.TfLiteQuantizationParams = type { float, i32 }
%struct.TfLiteQuantization = type { i32, ptr }
%struct.TfLiteIntArray = type { i32, [0 x i32] }
%struct.TfLiteNode = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, i32, ptr }

@_ZN6tflite3ops5micro15circular_buffer12_GLOBAL__N_115op_data_counterE = external hidden global i32, align 4
@.str = external hidden unnamed_addr constant [23 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [143 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [12 x i8], align 1
@_ZN6tflite3ops5micro15circular_buffer12_GLOBAL__N_113op_data_arrayE = external hidden global [7 x %"struct.tflite::ops::micro::circular_buffer::(anonymous namespace)::OpData"], align 16

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_ZN6tflite3ops5micro15circular_buffer7PrepareEP13TfLiteContextP10TfLiteNode(ptr noundef %0, ptr noundef %1) #0 {
  %3 = alloca i32, align 4
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca ptr, align 8
  %8 = alloca i32, align 4
  %9 = alloca ptr, align 8
  store ptr %0, ptr %4, align 8, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %6) #5
  %10 = load ptr, ptr %4, align 8, !tbaa !5
  %11 = load ptr, ptr %5, align 8, !tbaa !5
  %12 = call noundef ptr @_ZN6tflite8GetInputEPK13TfLiteContextPK10TfLiteNodei(ptr noundef %10, ptr noundef %11, i32 noundef 0)
  store ptr %12, ptr %6, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %7) #5
  %13 = load ptr, ptr %4, align 8, !tbaa !5
  %14 = load ptr, ptr %5, align 8, !tbaa !5
  %15 = call noundef ptr @_ZN6tflite9GetOutputEP13TfLiteContextPK10TfLiteNodei(ptr noundef %13, ptr noundef %14, i32 noundef 0)
  store ptr %15, ptr %7, align 8, !tbaa !5
  br label %16

16:                                               ; preds = %2
  %17 = load ptr, ptr %6, align 8, !tbaa !5
  %18 = icmp ne ptr %17, null
  br i1 %18, label %27, label %19

19:                                               ; preds = %16
  br label %20

20:                                               ; preds = %19
  %21 = load ptr, ptr %4, align 8, !tbaa !5
  %22 = getelementptr inbounds %struct.TfLiteContext, ptr %21, i32 0, i32 5
  %23 = load ptr, ptr %22, align 8, !tbaa !9
  %24 = load ptr, ptr %4, align 8, !tbaa !5
  call void (ptr, ptr, ...) %23(ptr noundef %24, ptr noundef @.str, ptr noundef @.str.1, i32 noundef 83, ptr noundef @.str.2)
  br label %25

25:                                               ; preds = %20
  br label %26

26:                                               ; preds = %25
  store i32 1, ptr %3, align 4
  store i32 1, ptr %8, align 4
  br label %286

27:                                               ; preds = %16
  br label %28

28:                                               ; preds = %27
  br label %29

29:                                               ; preds = %28
  br label %30

30:                                               ; preds = %29
  %31 = load ptr, ptr %7, align 8, !tbaa !5
  %32 = icmp ne ptr %31, null
  br i1 %32, label %41, label %33

33:                                               ; preds = %30
  br label %34

34:                                               ; preds = %33
  %35 = load ptr, ptr %4, align 8, !tbaa !5
  %36 = getelementptr inbounds %struct.TfLiteContext, ptr %35, i32 0, i32 5
  %37 = load ptr, ptr %36, align 8, !tbaa !9
  %38 = load ptr, ptr %4, align 8, !tbaa !5
  call void (ptr, ptr, ...) %37(ptr noundef %38, ptr noundef @.str, ptr noundef @.str.1, i32 noundef 84, ptr noundef @.str.3)
  br label %39

39:                                               ; preds = %34
  br label %40

40:                                               ; preds = %39
  store i32 1, ptr %3, align 4
  store i32 1, ptr %8, align 4
  br label %286

41:                                               ; preds = %30
  br label %42

42:                                               ; preds = %41
  br label %43

43:                                               ; preds = %42
  br label %44

44:                                               ; preds = %43
  %45 = load ptr, ptr %7, align 8, !tbaa !5
  %46 = getelementptr inbounds %struct.TfLiteTensor, ptr %45, i32 0, i32 2
  %47 = load ptr, ptr %46, align 8, !tbaa !14
  %48 = getelementptr inbounds %struct.TfLiteIntArray, ptr %47, i32 0, i32 1
  %49 = getelementptr inbounds [0 x i32], ptr %48, i64 0, i64 0
  %50 = load i32, ptr %49, align 4, !tbaa !22
  %51 = icmp ne i32 1, %50
  br i1 %51, label %52, label %66

52:                                               ; preds = %44
  br label %53

53:                                               ; preds = %52
  %54 = load ptr, ptr %4, align 8, !tbaa !5
  %55 = getelementptr inbounds %struct.TfLiteContext, ptr %54, i32 0, i32 5
  %56 = load ptr, ptr %55, align 8, !tbaa !9
  %57 = load ptr, ptr %4, align 8, !tbaa !5
  %58 = load ptr, ptr %7, align 8, !tbaa !5
  %59 = getelementptr inbounds %struct.TfLiteTensor, ptr %58, i32 0, i32 2
  %60 = load ptr, ptr %59, align 8, !tbaa !14
  %61 = getelementptr inbounds %struct.TfLiteIntArray, ptr %60, i32 0, i32 1
  %62 = getelementptr inbounds [0 x i32], ptr %61, i64 0, i64 0
  %63 = load i32, ptr %62, align 4, !tbaa !22
  call void (ptr, ptr, ...) %56(ptr noundef %57, ptr noundef @.str.4, ptr noundef @.str.1, i32 noundef 85, ptr noundef @.str.5, ptr noundef @.str.6, i32 noundef 1, i32 noundef %63)
  br label %64

64:                                               ; preds = %53
  br label %65

65:                                               ; preds = %64
  store i32 1, ptr %3, align 4
  store i32 1, ptr %8, align 4
  br label %286

66:                                               ; preds = %44
  br label %67

67:                                               ; preds = %66
  br label %68

68:                                               ; preds = %67
  br label %69

69:                                               ; preds = %68
  %70 = load ptr, ptr %6, align 8, !tbaa !5
  %71 = getelementptr inbounds %struct.TfLiteTensor, ptr %70, i32 0, i32 2
  %72 = load ptr, ptr %71, align 8, !tbaa !14
  %73 = getelementptr inbounds %struct.TfLiteIntArray, ptr %72, i32 0, i32 1
  %74 = getelementptr inbounds [0 x i32], ptr %73, i64 0, i64 0
  %75 = load i32, ptr %74, align 4, !tbaa !22
  %76 = icmp ne i32 1, %75
  br i1 %76, label %77, label %91

77:                                               ; preds = %69
  br label %78

78:                                               ; preds = %77
  %79 = load ptr, ptr %4, align 8, !tbaa !5
  %80 = getelementptr inbounds %struct.TfLiteContext, ptr %79, i32 0, i32 5
  %81 = load ptr, ptr %80, align 8, !tbaa !9
  %82 = load ptr, ptr %4, align 8, !tbaa !5
  %83 = load ptr, ptr %6, align 8, !tbaa !5
  %84 = getelementptr inbounds %struct.TfLiteTensor, ptr %83, i32 0, i32 2
  %85 = load ptr, ptr %84, align 8, !tbaa !14
  %86 = getelementptr inbounds %struct.TfLiteIntArray, ptr %85, i32 0, i32 1
  %87 = getelementptr inbounds [0 x i32], ptr %86, i64 0, i64 0
  %88 = load i32, ptr %87, align 4, !tbaa !22
  call void (ptr, ptr, ...) %81(ptr noundef %82, ptr noundef @.str.4, ptr noundef @.str.1, i32 noundef 86, ptr noundef @.str.5, ptr noundef @.str.7, i32 noundef 1, i32 noundef %88)
  br label %89

89:                                               ; preds = %78
  br label %90

90:                                               ; preds = %89
  store i32 1, ptr %3, align 4
  store i32 1, ptr %8, align 4
  br label %286

91:                                               ; preds = %69
  br label %92

92:                                               ; preds = %91
  br label %93

93:                                               ; preds = %92
  br label %94

94:                                               ; preds = %93
  %95 = load ptr, ptr %6, align 8, !tbaa !5
  %96 = getelementptr inbounds %struct.TfLiteTensor, ptr %95, i32 0, i32 2
  %97 = load ptr, ptr %96, align 8, !tbaa !14
  %98 = getelementptr inbounds %struct.TfLiteIntArray, ptr %97, i32 0, i32 1
  %99 = getelementptr inbounds [0 x i32], ptr %98, i64 0, i64 1
  %100 = load i32, ptr %99, align 4, !tbaa !22
  %101 = icmp ne i32 1, %100
  br i1 %101, label %102, label %116

102:                                              ; preds = %94
  br label %103

103:                                              ; preds = %102
  %104 = load ptr, ptr %4, align 8, !tbaa !5
  %105 = getelementptr inbounds %struct.TfLiteContext, ptr %104, i32 0, i32 5
  %106 = load ptr, ptr %105, align 8, !tbaa !9
  %107 = load ptr, ptr %4, align 8, !tbaa !5
  %108 = load ptr, ptr %6, align 8, !tbaa !5
  %109 = getelementptr inbounds %struct.TfLiteTensor, ptr %108, i32 0, i32 2
  %110 = load ptr, ptr %109, align 8, !tbaa !14
  %111 = getelementptr inbounds %struct.TfLiteIntArray, ptr %110, i32 0, i32 1
  %112 = getelementptr inbounds [0 x i32], ptr %111, i64 0, i64 1
  %113 = load i32, ptr %112, align 4, !tbaa !22
  call void (ptr, ptr, ...) %106(ptr noundef %107, ptr noundef @.str.4, ptr noundef @.str.1, i32 noundef 87, ptr noundef @.str.5, ptr noundef @.str.8, i32 noundef 1, i32 noundef %113)
  br label %114

114:                                              ; preds = %103
  br label %115

115:                                              ; preds = %114
  store i32 1, ptr %3, align 4
  store i32 1, ptr %8, align 4
  br label %286

116:                                              ; preds = %94
  br label %117

117:                                              ; preds = %116
  br label %118

118:                                              ; preds = %117
  br label %119

119:                                              ; preds = %118
  %120 = load ptr, ptr %7, align 8, !tbaa !5
  %121 = getelementptr inbounds %struct.TfLiteTensor, ptr %120, i32 0, i32 2
  %122 = load ptr, ptr %121, align 8, !tbaa !14
  %123 = getelementptr inbounds %struct.TfLiteIntArray, ptr %122, i32 0, i32 1
  %124 = getelementptr inbounds [0 x i32], ptr %123, i64 0, i64 2
  %125 = load i32, ptr %124, align 4, !tbaa !22
  %126 = icmp ne i32 1, %125
  br i1 %126, label %127, label %141

127:                                              ; preds = %119
  br label %128

128:                                              ; preds = %127
  %129 = load ptr, ptr %4, align 8, !tbaa !5
  %130 = getelementptr inbounds %struct.TfLiteContext, ptr %129, i32 0, i32 5
  %131 = load ptr, ptr %130, align 8, !tbaa !9
  %132 = load ptr, ptr %4, align 8, !tbaa !5
  %133 = load ptr, ptr %7, align 8, !tbaa !5
  %134 = getelementptr inbounds %struct.TfLiteTensor, ptr %133, i32 0, i32 2
  %135 = load ptr, ptr %134, align 8, !tbaa !14
  %136 = getelementptr inbounds %struct.TfLiteIntArray, ptr %135, i32 0, i32 1
  %137 = getelementptr inbounds [0 x i32], ptr %136, i64 0, i64 2
  %138 = load i32, ptr %137, align 4, !tbaa !22
  call void (ptr, ptr, ...) %131(ptr noundef %132, ptr noundef @.str.4, ptr noundef @.str.1, i32 noundef 88, ptr noundef @.str.5, ptr noundef @.str.9, i32 noundef 1, i32 noundef %138)
  br label %139

139:                                              ; preds = %128
  br label %140

140:                                              ; preds = %139
  store i32 1, ptr %3, align 4
  store i32 1, ptr %8, align 4
  br label %286

141:                                              ; preds = %119
  br label %142

142:                                              ; preds = %141
  br label %143

143:                                              ; preds = %142
  br label %144

144:                                              ; preds = %143
  %145 = load ptr, ptr %6, align 8, !tbaa !5
  %146 = getelementptr inbounds %struct.TfLiteTensor, ptr %145, i32 0, i32 2
  %147 = load ptr, ptr %146, align 8, !tbaa !14
  %148 = getelementptr inbounds %struct.TfLiteIntArray, ptr %147, i32 0, i32 1
  %149 = getelementptr inbounds [0 x i32], ptr %148, i64 0, i64 2
  %150 = load i32, ptr %149, align 4, !tbaa !22
  %151 = icmp ne i32 1, %150
  br i1 %151, label %152, label %166

152:                                              ; preds = %144
  br label %153

153:                                              ; preds = %152
  %154 = load ptr, ptr %4, align 8, !tbaa !5
  %155 = getelementptr inbounds %struct.TfLiteContext, ptr %154, i32 0, i32 5
  %156 = load ptr, ptr %155, align 8, !tbaa !9
  %157 = load ptr, ptr %4, align 8, !tbaa !5
  %158 = load ptr, ptr %6, align 8, !tbaa !5
  %159 = getelementptr inbounds %struct.TfLiteTensor, ptr %158, i32 0, i32 2
  %160 = load ptr, ptr %159, align 8, !tbaa !14
  %161 = getelementptr inbounds %struct.TfLiteIntArray, ptr %160, i32 0, i32 1
  %162 = getelementptr inbounds [0 x i32], ptr %161, i64 0, i64 2
  %163 = load i32, ptr %162, align 4, !tbaa !22
  call void (ptr, ptr, ...) %156(ptr noundef %157, ptr noundef @.str.4, ptr noundef @.str.1, i32 noundef 89, ptr noundef @.str.5, ptr noundef @.str.10, i32 noundef 1, i32 noundef %163)
  br label %164

164:                                              ; preds = %153
  br label %165

165:                                              ; preds = %164
  store i32 1, ptr %3, align 4
  store i32 1, ptr %8, align 4
  br label %286

166:                                              ; preds = %144
  br label %167

167:                                              ; preds = %166
  br label %168

168:                                              ; preds = %167
  br label %169

169:                                              ; preds = %168
  %170 = load ptr, ptr %7, align 8, !tbaa !5
  %171 = getelementptr inbounds %struct.TfLiteTensor, ptr %170, i32 0, i32 2
  %172 = load ptr, ptr %171, align 8, !tbaa !14
  %173 = getelementptr inbounds %struct.TfLiteIntArray, ptr %172, i32 0, i32 1
  %174 = getelementptr inbounds [0 x i32], ptr %173, i64 0, i64 3
  %175 = load i32, ptr %174, align 4, !tbaa !22
  %176 = load ptr, ptr %6, align 8, !tbaa !5
  %177 = getelementptr inbounds %struct.TfLiteTensor, ptr %176, i32 0, i32 2
  %178 = load ptr, ptr %177, align 8, !tbaa !14
  %179 = getelementptr inbounds %struct.TfLiteIntArray, ptr %178, i32 0, i32 1
  %180 = getelementptr inbounds [0 x i32], ptr %179, i64 0, i64 3
  %181 = load i32, ptr %180, align 4, !tbaa !22
  %182 = icmp ne i32 %175, %181
  br i1 %182, label %183, label %203

183:                                              ; preds = %169
  br label %184

184:                                              ; preds = %183
  %185 = load ptr, ptr %4, align 8, !tbaa !5
  %186 = getelementptr inbounds %struct.TfLiteContext, ptr %185, i32 0, i32 5
  %187 = load ptr, ptr %186, align 8, !tbaa !9
  %188 = load ptr, ptr %4, align 8, !tbaa !5
  %189 = load ptr, ptr %7, align 8, !tbaa !5
  %190 = getelementptr inbounds %struct.TfLiteTensor, ptr %189, i32 0, i32 2
  %191 = load ptr, ptr %190, align 8, !tbaa !14
  %192 = getelementptr inbounds %struct.TfLiteIntArray, ptr %191, i32 0, i32 1
  %193 = getelementptr inbounds [0 x i32], ptr %192, i64 0, i64 3
  %194 = load i32, ptr %193, align 4, !tbaa !22
  %195 = load ptr, ptr %6, align 8, !tbaa !5
  %196 = getelementptr inbounds %struct.TfLiteTensor, ptr %195, i32 0, i32 2
  %197 = load ptr, ptr %196, align 8, !tbaa !14
  %198 = getelementptr inbounds %struct.TfLiteIntArray, ptr %197, i32 0, i32 1
  %199 = getelementptr inbounds [0 x i32], ptr %198, i64 0, i64 3
  %200 = load i32, ptr %199, align 4, !tbaa !22
  call void (ptr, ptr, ...) %187(ptr noundef %188, ptr noundef @.str.4, ptr noundef @.str.1, i32 noundef 90, ptr noundef @.str.11, ptr noundef @.str.12, i32 noundef %194, i32 noundef %200)
  br label %201

201:                                              ; preds = %184
  br label %202

202:                                              ; preds = %201
  store i32 1, ptr %3, align 4
  store i32 1, ptr %8, align 4
  br label %286

203:                                              ; preds = %169
  br label %204

204:                                              ; preds = %203
  br label %205

205:                                              ; preds = %204
  br label %206

206:                                              ; preds = %205
  %207 = load ptr, ptr %6, align 8, !tbaa !5
  %208 = getelementptr inbounds %struct.TfLiteTensor, ptr %207, i32 0, i32 0
  %209 = load i32, ptr %208, align 8, !tbaa !23
  %210 = load ptr, ptr %7, align 8, !tbaa !5
  %211 = getelementptr inbounds %struct.TfLiteTensor, ptr %210, i32 0, i32 0
  %212 = load i32, ptr %211, align 8, !tbaa !23
  %213 = icmp ne i32 %209, %212
  br i1 %213, label %214, label %230

214:                                              ; preds = %206
  br label %215

215:                                              ; preds = %214
  %216 = load ptr, ptr %4, align 8, !tbaa !5
  %217 = getelementptr inbounds %struct.TfLiteContext, ptr %216, i32 0, i32 5
  %218 = load ptr, ptr %217, align 8, !tbaa !9
  %219 = load ptr, ptr %4, align 8, !tbaa !5
  %220 = load ptr, ptr %6, align 8, !tbaa !5
  %221 = getelementptr inbounds %struct.TfLiteTensor, ptr %220, i32 0, i32 0
  %222 = load i32, ptr %221, align 8, !tbaa !23
  %223 = call ptr @TfLiteTypeGetName(i32 noundef %222)
  %224 = load ptr, ptr %7, align 8, !tbaa !5
  %225 = getelementptr inbounds %struct.TfLiteTensor, ptr %224, i32 0, i32 0
  %226 = load i32, ptr %225, align 8, !tbaa !23
  %227 = call ptr @TfLiteTypeGetName(i32 noundef %226)
  call void (ptr, ptr, ...) %218(ptr noundef %219, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 92, ptr noundef @.str.14, ptr noundef @.str.15, ptr noundef %223, ptr noundef %227)
  br label %228

228:                                              ; preds = %215
  br label %229

229:                                              ; preds = %228
  store i32 1, ptr %3, align 4
  store i32 1, ptr %8, align 4
  br label %286

230:                                              ; preds = %206
  br label %231

231:                                              ; preds = %230
  br label %232

232:                                              ; preds = %231
  br label %233

233:                                              ; preds = %232
  %234 = load ptr, ptr %6, align 8, !tbaa !5
  %235 = getelementptr inbounds %struct.TfLiteTensor, ptr %234, i32 0, i32 0
  %236 = load i32, ptr %235, align 8, !tbaa !23
  %237 = icmp ne i32 %236, 9
  br i1 %237, label %238, label %251

238:                                              ; preds = %233
  br label %239

239:                                              ; preds = %238
  %240 = load ptr, ptr %4, align 8, !tbaa !5
  %241 = getelementptr inbounds %struct.TfLiteContext, ptr %240, i32 0, i32 5
  %242 = load ptr, ptr %241, align 8, !tbaa !9
  %243 = load ptr, ptr %4, align 8, !tbaa !5
  %244 = load ptr, ptr %6, align 8, !tbaa !5
  %245 = getelementptr inbounds %struct.TfLiteTensor, ptr %244, i32 0, i32 0
  %246 = load i32, ptr %245, align 8, !tbaa !23
  %247 = call ptr @TfLiteTypeGetName(i32 noundef %246)
  %248 = call ptr @TfLiteTypeGetName(i32 noundef 9)
  call void (ptr, ptr, ...) %242(ptr noundef %243, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 95, ptr noundef @.str.14, ptr noundef @.str.16, ptr noundef %247, ptr noundef %248)
  br label %249

249:                                              ; preds = %239
  br label %250

250:                                              ; preds = %249
  store i32 1, ptr %3, align 4
  store i32 1, ptr %8, align 4
  br label %286

251:                                              ; preds = %233
  br label %252

252:                                              ; preds = %251
  br label %253

253:                                              ; preds = %252
  %254 = load i32, ptr @_ZN6tflite3ops5micro15circular_buffer12_GLOBAL__N_115op_data_counterE, align 4, !tbaa !22
  %255 = icmp sle i32 %254, 7
  br i1 %255, label %256, label %257

256:                                              ; preds = %253
  br label %259

257:                                              ; preds = %253
  call void @abort() #6
  unreachable

258:                                              ; No predecessors!
  br label %259

259:                                              ; preds = %258, %256
  call void @llvm.lifetime.start.p0(i64 8, ptr %9) #5
  %260 = load i32, ptr @_ZN6tflite3ops5micro15circular_buffer12_GLOBAL__N_115op_data_counterE, align 4, !tbaa !22
  %261 = add nsw i32 %260, 1
  store i32 %261, ptr @_ZN6tflite3ops5micro15circular_buffer12_GLOBAL__N_115op_data_counterE, align 4, !tbaa !22
  %262 = sext i32 %260 to i64
  %263 = getelementptr inbounds [7 x %"struct.tflite::ops::micro::circular_buffer::(anonymous namespace)::OpData"], ptr @_ZN6tflite3ops5micro15circular_buffer12_GLOBAL__N_113op_data_arrayE, i64 0, i64 %262
  store ptr %263, ptr %9, align 8, !tbaa !5
  %264 = load ptr, ptr %7, align 8, !tbaa !5
  %265 = getelementptr inbounds %struct.TfLiteTensor, ptr %264, i32 0, i32 2
  %266 = load ptr, ptr %265, align 8, !tbaa !14
  %267 = getelementptr inbounds %struct.TfLiteIntArray, ptr %266, i32 0, i32 1
  %268 = getelementptr inbounds [0 x i32], ptr %267, i64 0, i64 1
  %269 = load i32, ptr %268, align 4, !tbaa !22
  %270 = icmp eq i32 %269, 5
  br i1 %270, label %271, label %274

271:                                              ; preds = %259
  %272 = load ptr, ptr %9, align 8, !tbaa !5
  %273 = getelementptr inbounds %"struct.tflite::ops::micro::circular_buffer::(anonymous namespace)::OpData", ptr %272, i32 0, i32 1
  store i32 1, ptr %273, align 4, !tbaa !24
  br label %277

274:                                              ; preds = %259
  %275 = load ptr, ptr %9, align 8, !tbaa !5
  %276 = getelementptr inbounds %"struct.tflite::ops::micro::circular_buffer::(anonymous namespace)::OpData", ptr %275, i32 0, i32 1
  store i32 2, ptr %276, align 4, !tbaa !24
  br label %277

277:                                              ; preds = %274, %271
  %278 = load ptr, ptr %9, align 8, !tbaa !5
  %279 = getelementptr inbounds %"struct.tflite::ops::micro::circular_buffer::(anonymous namespace)::OpData", ptr %278, i32 0, i32 1
  %280 = load i32, ptr %279, align 4, !tbaa !24
  %281 = load ptr, ptr %9, align 8, !tbaa !5
  %282 = getelementptr inbounds %"struct.tflite::ops::micro::circular_buffer::(anonymous namespace)::OpData", ptr %281, i32 0, i32 0
  store i32 %280, ptr %282, align 4, !tbaa !26
  %283 = load ptr, ptr %9, align 8, !tbaa !5
  %284 = load ptr, ptr %5, align 8, !tbaa !5
  %285 = getelementptr inbounds %struct.TfLiteNode, ptr %284, i32 0, i32 4
  store ptr %283, ptr %285, align 8, !tbaa !27
  store i32 0, ptr %3, align 4
  store i32 1, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #5
  br label %286

286:                                              ; preds = %277, %250, %229, %202, %165, %140, %115, %90, %65, %40, %26
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #5
  %287 = load i32, ptr %3, align 4
  ret i32 %287
}

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZN6tflite8GetInputEPK13TfLiteContextPK10TfLiteNodei(ptr noundef, ptr noundef, i32 noundef) #2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZN6tflite9GetOutputEP13TfLiteContextPK10TfLiteNodei(ptr noundef, ptr noundef, i32 noundef) #2

declare ptr @TfLiteTypeGetName(i32 noundef) #3

; Function Attrs: noreturn nounwind
declare void @abort() #4

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1

attributes #0 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind }
attributes #6 = { noreturn nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !6, i64 40}
!10 = !{!"_ZTS13TfLiteContext", !11, i64 0, !6, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !6, i64 40, !6, i64 48, !6, i64 56, !6, i64 64, !12, i64 72, !6, i64 80, !6, i64 88, !13, i64 96, !6, i64 104, !6, i64 112, !6, i64 120, !6, i64 128, !6, i64 136, !6, i64 144, !6, i64 152}
!11 = !{!"long", !7, i64 0}
!12 = !{!"int", !7, i64 0}
!13 = !{!"bool", !7, i64 0}
!14 = !{!15, !6, i64 16}
!15 = !{!"_ZTS12TfLiteTensor", !16, i64 0, !7, i64 8, !6, i64 16, !17, i64 24, !19, i64 32, !11, i64 40, !6, i64 48, !6, i64 56, !6, i64 64, !12, i64 72, !13, i64 76, !13, i64 77, !20, i64 80, !6, i64 96, !6, i64 104}
!16 = !{!"_ZTS10TfLiteType", !7, i64 0}
!17 = !{!"_ZTS24TfLiteQuantizationParams", !18, i64 0, !12, i64 4}
!18 = !{!"float", !7, i64 0}
!19 = !{!"_ZTS20TfLiteAllocationType", !7, i64 0}
!20 = !{!"_ZTS18TfLiteQuantization", !21, i64 0, !6, i64 8}
!21 = !{!"_ZTS22TfLiteQuantizationType", !7, i64 0}
!22 = !{!12, !12, i64 0}
!23 = !{!15, !16, i64 0}
!24 = !{!25, !12, i64 4}
!25 = !{!"_ZTSN6tflite3ops5micro15circular_buffer12_GLOBAL__N_16OpDataE", !12, i64 0, !12, i64 4}
!26 = !{!25, !12, i64 0}
!27 = !{!28, !6, i64 32}
!28 = !{!"_ZTS10TfLiteNode", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !6, i64 40, !6, i64 48, !12, i64 56, !6, i64 64}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%"struct.tflite::ops::micro::circular_buffer::(anonymous namespace)::OpData" = type { i32, i32 }

@_ZN6tflite3ops5micro15circular_buffer12_GLOBAL__N_115op_data_counterE = external hidden local_unnamed_addr global i32, align 4
@.str = external hidden unnamed_addr constant [23 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [143 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [12 x i8], align 1
@_ZN6tflite3ops5micro15circular_buffer12_GLOBAL__N_113op_data_arrayE = external hidden global [7 x %"struct.tflite::ops::micro::circular_buffer::(anonymous namespace)::OpData"], align 16

; Function Attrs: mustprogress uwtable
define dso_local noundef range(i32 0, 2) i32 @_ZN6tflite3ops5micro15circular_buffer7PrepareEP13TfLiteContextP10TfLiteNode(ptr noundef %0, ptr noundef %1) local_unnamed_addr #0 {
  %3 = tail call noundef ptr @_ZN6tflite8GetInputEPK13TfLiteContextPK10TfLiteNodei(ptr noundef %0, ptr noundef %1, i32 noundef 0)
  %4 = tail call noundef ptr @_ZN6tflite9GetOutputEP13TfLiteContextPK10TfLiteNodei(ptr noundef %0, ptr noundef %1, i32 noundef 0)
  %.not = icmp eq ptr %3, null
  br i1 %.not, label %5, label %8

5:                                                ; preds = %2
  %6 = getelementptr inbounds i8, ptr %0, i64 40
  %7 = load ptr, ptr %6, align 8, !tbaa !5
  tail call void (ptr, ptr, ...) %7(ptr noundef %0, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1, i32 noundef 83, ptr noundef nonnull @.str.2)
  br label %82

8:                                                ; preds = %2
  %.not64 = icmp eq ptr %4, null
  br i1 %.not64, label %9, label %12

9:                                                ; preds = %8
  %10 = getelementptr inbounds i8, ptr %0, i64 40
  %11 = load ptr, ptr %10, align 8, !tbaa !5
  tail call void (ptr, ptr, ...) %11(ptr noundef %0, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1, i32 noundef 84, ptr noundef nonnull @.str.3)
  br label %82

12:                                               ; preds = %8
  %13 = getelementptr inbounds i8, ptr %4, i64 16
  %14 = load ptr, ptr %13, align 8, !tbaa !13
  %15 = getelementptr inbounds i8, ptr %14, i64 4
  %16 = load i32, ptr %15, align 4, !tbaa !21
  %.not65 = icmp eq i32 %16, 1
  br i1 %.not65, label %20, label %17

17:                                               ; preds = %12
  %18 = getelementptr inbounds i8, ptr %0, i64 40
  %19 = load ptr, ptr %18, align 8, !tbaa !5
  tail call void (ptr, ptr, ...) %19(ptr noundef %0, ptr noundef nonnull @.str.4, ptr noundef nonnull @.str.1, i32 noundef 85, ptr noundef nonnull @.str.5, ptr noundef nonnull @.str.6, i32 noundef 1, i32 noundef %16)
  br label %82

20:                                               ; preds = %12
  %21 = getelementptr inbounds i8, ptr %3, i64 16
  %22 = load ptr, ptr %21, align 8, !tbaa !13
  %23 = getelementptr inbounds i8, ptr %22, i64 4
  %24 = load i32, ptr %23, align 4, !tbaa !21
  %.not66 = icmp eq i32 %24, 1
  br i1 %.not66, label %28, label %25

25:                                               ; preds = %20
  %26 = getelementptr inbounds i8, ptr %0, i64 40
  %27 = load ptr, ptr %26, align 8, !tbaa !5
  tail call void (ptr, ptr, ...) %27(ptr noundef %0, ptr noundef nonnull @.str.4, ptr noundef nonnull @.str.1, i32 noundef 86, ptr noundef nonnull @.str.5, ptr noundef nonnull @.str.7, i32 noundef 1, i32 noundef %24)
  br label %82

28:                                               ; preds = %20
  %29 = getelementptr inbounds i8, ptr %22, i64 8
  %30 = load i32, ptr %29, align 4, !tbaa !21
  %.not67 = icmp eq i32 %30, 1
  br i1 %.not67, label %34, label %31

31:                                               ; preds = %28
  %32 = getelementptr inbounds i8, ptr %0, i64 40
  %33 = load ptr, ptr %32, align 8, !tbaa !5
  tail call void (ptr, ptr, ...) %33(ptr noundef %0, ptr noundef nonnull @.str.4, ptr noundef nonnull @.str.1, i32 noundef 87, ptr noundef nonnull @.str.5, ptr noundef nonnull @.str.8, i32 noundef 1, i32 noundef %30)
  br label %82

34:                                               ; preds = %28
  %35 = getelementptr inbounds i8, ptr %14, i64 12
  %36 = load i32, ptr %35, align 4, !tbaa !21
  %.not68 = icmp eq i32 %36, 1
  br i1 %.not68, label %40, label %37

37:                                               ; preds = %34
  %38 = getelementptr inbounds i8, ptr %0, i64 40
  %39 = load ptr, ptr %38, align 8, !tbaa !5
  tail call void (ptr, ptr, ...) %39(ptr noundef %0, ptr noundef nonnull @.str.4, ptr noundef nonnull @.str.1, i32 noundef 88, ptr noundef nonnull @.str.5, ptr noundef nonnull @.str.9, i32 noundef 1, i32 noundef %36)
  br label %82

40:                                               ; preds = %34
  %41 = getelementptr inbounds i8, ptr %22, i64 12
  %42 = load i32, ptr %41, align 4, !tbaa !21
  %.not69 = icmp eq i32 %42, 1
  br i1 %.not69, label %46, label %43

43:                                               ; preds = %40
  %44 = getelementptr inbounds i8, ptr %0, i64 40
  %45 = load ptr, ptr %44, align 8, !tbaa !5
  tail call void (ptr, ptr, ...) %45(ptr noundef %0, ptr noundef nonnull @.str.4, ptr noundef nonnull @.str.1, i32 noundef 89, ptr noundef nonnull @.str.5, ptr noundef nonnull @.str.10, i32 noundef 1, i32 noundef %42)
  br label %82

46:                                               ; preds = %40
  %47 = getelementptr inbounds i8, ptr %14, i64 16
  %48 = load i32, ptr %47, align 4, !tbaa !21
  %49 = getelementptr inbounds i8, ptr %22, i64 16
  %50 = load i32, ptr %49, align 4, !tbaa !21
  %.not70 = icmp eq i32 %48, %50
  br i1 %.not70, label %54, label %51

51:                                               ; preds = %46
  %52 = getelementptr inbounds i8, ptr %0, i64 40
  %53 = load ptr, ptr %52, align 8, !tbaa !5
  tail call void (ptr, ptr, ...) %53(ptr noundef %0, ptr noundef nonnull @.str.4, ptr noundef nonnull @.str.1, i32 noundef 90, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.12, i32 noundef %48, i32 noundef %50)
  br label %82

54:                                               ; preds = %46
  %55 = load i32, ptr %3, align 8, !tbaa !22
  %56 = load i32, ptr %4, align 8, !tbaa !22
  %.not71 = icmp eq i32 %55, %56
  br i1 %.not71, label %63, label %57

57:                                               ; preds = %54
  %58 = getelementptr inbounds i8, ptr %0, i64 40
  %59 = load ptr, ptr %58, align 8, !tbaa !5
  %60 = tail call ptr @TfLiteTypeGetName(i32 noundef %55)
  %61 = load i32, ptr %4, align 8, !tbaa !22
  %62 = tail call ptr @TfLiteTypeGetName(i32 noundef %61)
  tail call void (ptr, ptr, ...) %59(ptr noundef %0, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 92, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.15, ptr noundef %60, ptr noundef %62)
  br label %82

63:                                               ; preds = %54
  %.not72 = icmp eq i32 %55, 9
  br i1 %.not72, label %69, label %64

64:                                               ; preds = %63
  %65 = getelementptr inbounds i8, ptr %0, i64 40
  %66 = load ptr, ptr %65, align 8, !tbaa !5
  %67 = tail call ptr @TfLiteTypeGetName(i32 noundef %55)
  %68 = tail call ptr @TfLiteTypeGetName(i32 noundef 9)
  tail call void (ptr, ptr, ...) %66(ptr noundef %0, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 95, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.16, ptr noundef %67, ptr noundef %68)
  br label %82

69:                                               ; preds = %63
  %70 = load i32, ptr @_ZN6tflite3ops5micro15circular_buffer12_GLOBAL__N_115op_data_counterE, align 4, !tbaa !21
  %71 = icmp slt i32 %70, 8
  br i1 %71, label %73, label %72

72:                                               ; preds = %69
  tail call void @abort() #4
  unreachable

73:                                               ; preds = %69
  %74 = add nsw i32 %70, 1
  store i32 %74, ptr @_ZN6tflite3ops5micro15circular_buffer12_GLOBAL__N_115op_data_counterE, align 4, !tbaa !21
  %75 = sext i32 %70 to i64
  %76 = getelementptr inbounds [7 x %"struct.tflite::ops::micro::circular_buffer::(anonymous namespace)::OpData"], ptr @_ZN6tflite3ops5micro15circular_buffer12_GLOBAL__N_113op_data_arrayE, i64 0, i64 %75
  %77 = getelementptr inbounds i8, ptr %14, i64 8
  %78 = load i32, ptr %77, align 4, !tbaa !21
  %79 = icmp eq i32 %78, 5
  %spec.select = select i1 %79, i32 1, i32 2
  %80 = getelementptr inbounds i8, ptr %76, i64 4
  store i32 %spec.select, ptr %80, align 4
  store i32 %spec.select, ptr %76, align 8, !tbaa !23
  %81 = getelementptr inbounds i8, ptr %1, i64 32
  store ptr %76, ptr %81, align 8, !tbaa !25
  br label %82

82:                                               ; preds = %73, %64, %57, %51, %43, %37, %31, %25, %17, %9, %5
  %.0 = phi i32 [ 1, %17 ], [ 1, %25 ], [ 1, %31 ], [ 1, %37 ], [ 1, %43 ], [ 1, %51 ], [ 1, %57 ], [ 1, %64 ], [ 0, %73 ], [ 1, %9 ], [ 1, %5 ]
  ret i32 %.0
}

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZN6tflite8GetInputEPK13TfLiteContextPK10TfLiteNodei(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #1

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZN6tflite9GetOutputEP13TfLiteContextPK10TfLiteNodei(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #1

declare ptr @TfLiteTypeGetName(i32 noundef) local_unnamed_addr #2

; Function Attrs: noreturn nounwind
declare void @abort() local_unnamed_addr #3

attributes #0 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { noreturn nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !10, i64 40}
!6 = !{!"_ZTS13TfLiteContext", !7, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !11, i64 72, !10, i64 80, !10, i64 88, !12, i64 96, !10, i64 104, !10, i64 112, !10, i64 120, !10, i64 128, !10, i64 136, !10, i64 144, !10, i64 152}
!7 = !{!"long", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"any pointer", !8, i64 0}
!11 = !{!"int", !8, i64 0}
!12 = !{!"bool", !8, i64 0}
!13 = !{!14, !10, i64 16}
!14 = !{!"_ZTS12TfLiteTensor", !15, i64 0, !8, i64 8, !10, i64 16, !16, i64 24, !18, i64 32, !7, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !11, i64 72, !12, i64 76, !12, i64 77, !19, i64 80, !10, i64 96, !10, i64 104}
!15 = !{!"_ZTS10TfLiteType", !8, i64 0}
!16 = !{!"_ZTS24TfLiteQuantizationParams", !17, i64 0, !11, i64 4}
!17 = !{!"float", !8, i64 0}
!18 = !{!"_ZTS20TfLiteAllocationType", !8, i64 0}
!19 = !{!"_ZTS18TfLiteQuantization", !20, i64 0, !10, i64 8}
!20 = !{!"_ZTS22TfLiteQuantizationType", !8, i64 0}
!21 = !{!11, !11, i64 0}
!22 = !{!14, !15, i64 0}
!23 = !{!24, !11, i64 0}
!24 = !{!"_ZTSN6tflite3ops5micro15circular_buffer12_GLOBAL__N_16OpDataE", !11, i64 0, !11, i64 4}
!25 = !{!26, !10, i64 32}
!26 = !{!"_ZTS10TfLiteNode", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !11, i64 56, !10, i64 64}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,MergedLoadStoreMotionPass,SROAPass,SimplifyCFGPass,TailCallElimPass