CoolFace
Modelpublic

Aboudek/ASM_TO_LLVM_V2

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes
extr_interface.c_command_generator.ll677 linesDownload Raw Back to tg
1; ModuleID = 'tg/extr_interface.c_command_generator.c'2source_filename = "tg/extr_interface.c_command_generator.c"3target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"4target triple = "x86_64-unknown-linux-gnu"5 6%struct.TYPE_6__ = type { i32 }7%struct.TYPE_7__ = type { i32 }8%struct.tgl_message = type { i32 }9 10@command_generator.len = internal global i32 0, align 411@command_generator.index = internal global i32 0, align 412@command_generator.mode = internal global i32 0, align 413@command_generator.command_pos = internal global ptr null, align 814@command_generator.command_len = internal global i32 0, align 415@in_chat_mode = dso_local global i64 0, align 816@in_chat_commands = dso_local global i32 0, align 417@rl_point = dso_local global i64 0, align 818@rl_line_buffer = dso_local global ptr null, align 819@cur_token = dso_local global ptr null, align 820@cur_token_len = dso_local global i32 0, align 421@ca_none = dso_local global i32 0, align 422@ca_string = dso_local global i32 0, align 423@ca_string_end = dso_local global i32 0, align 424@ca_number = dso_local global i32 0, align 425@ca_double = dso_local global i32 0, align 426@ca_msg_id = dso_local global i32 0, align 427@TGL_PEER_USER = dso_local global i32 0, align 428@TLS = dso_local global i32 0, align 429@TGL_PEER_CHANNEL = dso_local global i32 0, align 430@modifiers = dso_local global i32 0, align 431@autocomplete_peer = dso_local global ptr null, align 832@TGL_PEER_CHAT = dso_local global i32 0, align 433@autocomplete_id = dso_local global %struct.TYPE_6__ zeroinitializer, align 434@NOT_FOUND = dso_local global i32 0, align 435 36; Function Attrs: noinline nounwind optnone uwtable37define dso_local ptr @command_generator(ptr noundef %0, i32 noundef %1) #0 {38  %3 = alloca ptr, align 839  %4 = alloca ptr, align 840  %5 = alloca i32, align 441  %6 = alloca ptr, align 842  %7 = alloca i8, align 143  %8 = alloca ptr, align 844  %9 = alloca ptr, align 845  %10 = alloca ptr, align 846  store ptr %0, ptr %4, align 847  store i32 %1, ptr %5, align 448  %11 = load i64, ptr @in_chat_mode, align 849  %12 = icmp ne i64 %11, 050  br i1 %12, label %13, label %2151 5213:                                               ; preds = %253  store ptr null, ptr %6, align 854  %14 = load i32, ptr @in_chat_commands, align 455  %15 = load i32, ptr @command_generator.index, align 456  %16 = load ptr, ptr %4, align 857  %17 = load i64, ptr @rl_point, align 858  %18 = trunc i64 %17 to i3259  %19 = call i32 @complete_string_list(i32 noundef %14, i32 noundef %15, ptr noundef %16, i32 noundef %18, ptr noundef %6)60  store i32 %19, ptr @command_generator.index, align 461  %20 = load ptr, ptr %6, align 862  store ptr %20, ptr %3, align 863  br label %35864 6521:                                               ; preds = %266  store i8 0, ptr %7, align 167  %22 = load ptr, ptr @rl_line_buffer, align 868  %23 = load i64, ptr @rl_point, align 869  %24 = getelementptr inbounds i8, ptr %22, i64 %2370  %25 = load i8, ptr %24, align 171  store i8 %25, ptr %7, align 172  %26 = load ptr, ptr @rl_line_buffer, align 873  %27 = load i64, ptr @rl_point, align 874  %28 = getelementptr inbounds i8, ptr %26, i64 %2775  store i8 0, ptr %28, align 176  %29 = load i32, ptr %5, align 477  %30 = icmp ne i32 %29, 078  br i1 %30, label %37, label %3179 8031:                                               ; preds = %2181  %32 = load ptr, ptr %4, align 882  %33 = call i32 @strlen(ptr noundef %32)83  store i32 %33, ptr @command_generator.len, align 484  store i32 -1, ptr @command_generator.index, align 485  %34 = call i32 (...) @get_complete_mode()86  store i32 %34, ptr @command_generator.mode, align 487  %35 = load ptr, ptr @cur_token, align 888  store ptr %35, ptr @command_generator.command_pos, align 889  %36 = load i32, ptr @cur_token_len, align 490  store i32 %36, ptr @command_generator.command_len, align 491  br label %4892 9337:                                               ; preds = %2194  %38 = load i32, ptr @command_generator.mode, align 495  %39 = icmp ne i32 %38, 13496  br i1 %39, label %40, label %4797 9840:                                               ; preds = %3799  %41 = load i32, ptr @command_generator.mode, align 4100  %42 = icmp ne i32 %41, 133101  br i1 %42, label %43, label %47102 10343:                                               ; preds = %40104  %44 = load i32, ptr @command_generator.index, align 4105  %45 = icmp eq i32 %44, -1106  br i1 %45, label %46, label %47107 10846:                                               ; preds = %43109  store ptr null, ptr %3, align 8110  br label %358111 11247:                                               ; preds = %43, %40, %37113  br label %48114 11548:                                               ; preds = %47, %31116  %49 = load i32, ptr @command_generator.mode, align 4117  %50 = load i32, ptr @ca_none, align 4118  %51 = icmp eq i32 %49, %50119  br i1 %51, label %72, label %52120 12152:                                               ; preds = %48122  %53 = load i32, ptr @command_generator.mode, align 4123  %54 = load i32, ptr @ca_string, align 4124  %55 = icmp eq i32 %53, %54125  br i1 %55, label %72, label %56126 12756:                                               ; preds = %52128  %57 = load i32, ptr @command_generator.mode, align 4129  %58 = load i32, ptr @ca_string_end, align 4130  %59 = icmp eq i32 %57, %58131  br i1 %59, label %72, label %60132 13360:                                               ; preds = %56134  %61 = load i32, ptr @command_generator.mode, align 4135  %62 = load i32, ptr @ca_number, align 4136  %63 = icmp eq i32 %61, %62137  br i1 %63, label %72, label %64138 13964:                                               ; preds = %60140  %65 = load i32, ptr @command_generator.mode, align 4141  %66 = load i32, ptr @ca_double, align 4142  %67 = icmp eq i32 %65, %66143  br i1 %67, label %72, label %68144 14568:                                               ; preds = %64146  %69 = load i32, ptr @command_generator.mode, align 4147  %70 = load i32, ptr @ca_msg_id, align 4148  %71 = icmp eq i32 %69, %70149  br i1 %71, label %72, label %81150 15172:                                               ; preds = %68, %64, %60, %56, %52, %48152  %73 = load i8, ptr %7, align 1153  %74 = icmp ne i8 %73, 0154  br i1 %74, label %75, label %80155 15675:                                               ; preds = %72157  %76 = load i8, ptr %7, align 1158  %77 = load ptr, ptr @rl_line_buffer, align 8159  %78 = load i64, ptr @rl_point, align 8160  %79 = getelementptr inbounds i8, ptr %77, i64 %78161  store i8 %76, ptr %79, align 1162  br label %80163 16480:                                               ; preds = %75, %72165  store ptr null, ptr %3, align 8166  br label %358167 16881:                                               ; preds = %68169  %82 = load i32, ptr @command_generator.command_len, align 4170  %83 = icmp sge i32 %82, 0171  %84 = zext i1 %83 to i32172  %85 = call i32 @assert(i32 noundef %84)173  store ptr null, ptr %8, align 8174  %86 = load i32, ptr @command_generator.mode, align 4175  %87 = and i32 %86, 255176  switch i32 %87, label %349 [177    i32 136, label %88178    i32 128, label %102179    i32 130, label %133180    i32 134, label %163181    i32 133, label %163182    i32 137, label %176183    i32 129, label %191184    i32 138, label %206185    i32 132, label %237186    i32 131, label %252187    i32 135, label %332188  ]189 19088:                                               ; preds = %81191  %89 = load i32, ptr @command_generator.index, align 4192  %90 = load ptr, ptr @command_generator.command_pos, align 8193  %91 = load i32, ptr @command_generator.command_len, align 4194  %92 = call i32 @complete_command_list(i32 noundef %89, ptr noundef %90, i32 noundef %91, ptr noundef %8)195  store i32 %92, ptr @command_generator.index, align 4196  %93 = load i8, ptr %7, align 1197  %94 = icmp ne i8 %93, 0198  br i1 %94, label %95, label %100199 20095:                                               ; preds = %88201  %96 = load i8, ptr %7, align 1202  %97 = load ptr, ptr @rl_line_buffer, align 8203  %98 = load i64, ptr @rl_point, align 8204  %99 = getelementptr inbounds i8, ptr %97, i64 %98205  store i8 %96, ptr %99, align 1206  br label %100207 208100:                                              ; preds = %95, %88209  %101 = load ptr, ptr %8, align 8210  store ptr %101, ptr %3, align 8211  br label %358212 213102:                                              ; preds = %81214  %103 = load i32, ptr @command_generator.command_len, align 4215  %104 = icmp ne i32 %103, 0216  br i1 %104, label %105, label %117217 218105:                                              ; preds = %102219  %106 = load ptr, ptr @command_generator.command_pos, align 8220  %107 = getelementptr inbounds i8, ptr %106, i64 0221  %108 = load i8, ptr %107, align 1222  %109 = sext i8 %108 to i32223  %110 = icmp eq i32 %109, 64224  br i1 %110, label %111, label %117225 226111:                                              ; preds = %105227  %112 = load i32, ptr @TGL_PEER_USER, align 4228  %113 = load i32, ptr @command_generator.index, align 4229  %114 = load ptr, ptr @command_generator.command_pos, align 8230  %115 = load i32, ptr @command_generator.command_len, align 4231  %116 = call i32 @complete_username(i32 noundef %112, i32 noundef %113, ptr noundef %114, i32 noundef %115, ptr noundef %8)232  store i32 %116, ptr @command_generator.index, align 4233  br label %123234 235117:                                              ; preds = %105, %102236  %118 = load i32, ptr @TLS, align 4237  %119 = load i32, ptr @command_generator.index, align 4238  %120 = load ptr, ptr @command_generator.command_pos, align 8239  %121 = load i32, ptr @command_generator.command_len, align 4240  %122 = call i32 @tgl_complete_user_list(i32 noundef %118, i32 noundef %119, ptr noundef %120, i32 noundef %121, ptr noundef %8)241  store i32 %122, ptr @command_generator.index, align 4242  br label %123243 244123:                                              ; preds = %117, %111245  %124 = load i8, ptr %7, align 1246  %125 = icmp ne i8 %124, 0247  br i1 %125, label %126, label %131248 249126:                                              ; preds = %123250  %127 = load i8, ptr %7, align 1251  %128 = load ptr, ptr @rl_line_buffer, align 8252  %129 = load i64, ptr @rl_point, align 8253  %130 = getelementptr inbounds i8, ptr %128, i64 %129254  store i8 %127, ptr %130, align 1255  br label %131256 257131:                                              ; preds = %126, %123258  %132 = load ptr, ptr %8, align 8259  store ptr %132, ptr %3, align 8260  br label %358261 262133:                                              ; preds = %81263  %134 = load i32, ptr @command_generator.command_len, align 4264  %135 = icmp ne i32 %134, 0265  br i1 %135, label %136, label %147266 267136:                                              ; preds = %133268  %137 = load ptr, ptr @command_generator.command_pos, align 8269  %138 = getelementptr inbounds i8, ptr %137, i64 0270  %139 = load i8, ptr %138, align 1271  %140 = sext i8 %139 to i32272  %141 = icmp eq i32 %140, 64273  br i1 %141, label %142, label %147274 275142:                                              ; preds = %136276  %143 = load i32, ptr @command_generator.index, align 4277  %144 = load ptr, ptr @command_generator.command_pos, align 8278  %145 = load i32, ptr @command_generator.command_len, align 4279  %146 = call i32 @complete_username(i32 noundef 0, i32 noundef %143, ptr noundef %144, i32 noundef %145, ptr noundef %8)280  store i32 %146, ptr @command_generator.index, align 4281  br label %153282 283147:                                              ; preds = %136, %133284  %148 = load i32, ptr @TLS, align 4285  %149 = load i32, ptr @command_generator.index, align 4286  %150 = load ptr, ptr @command_generator.command_pos, align 8287  %151 = load i32, ptr @command_generator.command_len, align 4288  %152 = call i32 @tgl_complete_peer_list(i32 noundef %148, i32 noundef %149, ptr noundef %150, i32 noundef %151, ptr noundef %8)289  store i32 %152, ptr @command_generator.index, align 4290  br label %153291 292153:                                              ; preds = %147, %142293  %154 = load i8, ptr %7, align 1294  %155 = icmp ne i8 %154, 0295  br i1 %155, label %156, label %161296 297156:                                              ; preds = %153298  %157 = load i8, ptr %7, align 1299  %158 = load ptr, ptr @rl_line_buffer, align 8300  %159 = load i64, ptr @rl_point, align 8301  %160 = getelementptr inbounds i8, ptr %158, i64 %159302  store i8 %157, ptr %160, align 1303  br label %161304 305161:                                              ; preds = %156, %153306  %162 = load ptr, ptr %8, align 8307  store ptr %162, ptr %3, align 8308  br label %358309 310163:                                              ; preds = %81, %81311  %164 = load i8, ptr %7, align 1312  %165 = icmp ne i8 %164, 0313  br i1 %165, label %166, label %171314 315166:                                              ; preds = %163316  %167 = load i8, ptr %7, align 1317  %168 = load ptr, ptr @rl_line_buffer, align 8318  %169 = load i64, ptr @rl_point, align 8319  %170 = getelementptr inbounds i8, ptr %168, i64 %169320  store i8 %167, ptr %170, align 1321  br label %171322 323171:                                              ; preds = %166, %163324  %172 = load ptr, ptr @command_generator.command_pos, align 8325  %173 = load i32, ptr %5, align 4326  %174 = call ptr @rl_filename_completion_function(ptr noundef %172, i32 noundef %173)327  store ptr %174, ptr %8, align 8328  %175 = load ptr, ptr %8, align 8329  store ptr %175, ptr %3, align 8330  br label %358331 332176:                                              ; preds = %81333  %177 = load i32, ptr @TLS, align 4334  %178 = load i32, ptr @command_generator.index, align 4335  %179 = load ptr, ptr @command_generator.command_pos, align 8336  %180 = load i32, ptr @command_generator.command_len, align 4337  %181 = call i32 @tgl_complete_chat_list(i32 noundef %177, i32 noundef %178, ptr noundef %179, i32 noundef %180, ptr noundef %8)338  store i32 %181, ptr @command_generator.index, align 4339  %182 = load i8, ptr %7, align 1340  %183 = icmp ne i8 %182, 0341  br i1 %183, label %184, label %189342 343184:                                              ; preds = %176344  %185 = load i8, ptr %7, align 1345  %186 = load ptr, ptr @rl_line_buffer, align 8346  %187 = load i64, ptr @rl_point, align 8347  %188 = getelementptr inbounds i8, ptr %186, i64 %187348  store i8 %185, ptr %188, align 1349  br label %189350 351189:                                              ; preds = %184, %176352  %190 = load ptr, ptr %8, align 8353  store ptr %190, ptr %3, align 8354  br label %358355 356191:                                              ; preds = %81357  %192 = load i32, ptr @TLS, align 4358  %193 = load i32, ptr @command_generator.index, align 4359  %194 = load ptr, ptr @command_generator.command_pos, align 8360  %195 = load i32, ptr @command_generator.command_len, align 4361  %196 = call i32 @tgl_complete_encr_chat_list(i32 noundef %192, i32 noundef %193, ptr noundef %194, i32 noundef %195, ptr noundef %8)362  store i32 %196, ptr @command_generator.index, align 4363  %197 = load i8, ptr %7, align 1364  %198 = icmp ne i8 %197, 0365  br i1 %198, label %199, label %204366 367199:                                              ; preds = %191368  %200 = load i8, ptr %7, align 1369  %201 = load ptr, ptr @rl_line_buffer, align 8370  %202 = load i64, ptr @rl_point, align 8371  %203 = getelementptr inbounds i8, ptr %201, i64 %202372  store i8 %200, ptr %203, align 1373  br label %204374 375204:                                              ; preds = %199, %191376  %205 = load ptr, ptr %8, align 8377  store ptr %205, ptr %3, align 8378  br label %358379 380206:                                              ; preds = %81381  %207 = load i32, ptr @command_generator.command_len, align 4382  %208 = icmp ne i32 %207, 0383  br i1 %208, label %209, label %221384 385209:                                              ; preds = %206386  %210 = load ptr, ptr @command_generator.command_pos, align 8387  %211 = getelementptr inbounds i8, ptr %210, i64 0388  %212 = load i8, ptr %211, align 1389  %213 = sext i8 %212 to i32390  %214 = icmp eq i32 %213, 64391  br i1 %214, label %215, label %221392 393215:                                              ; preds = %209394  %216 = load i32, ptr @TGL_PEER_CHANNEL, align 4395  %217 = load i32, ptr @command_generator.index, align 4396  %218 = load ptr, ptr @command_generator.command_pos, align 8397  %219 = load i32, ptr @command_generator.command_len, align 4398  %220 = call i32 @complete_username(i32 noundef %216, i32 noundef %217, ptr noundef %218, i32 noundef %219, ptr noundef %8)399  store i32 %220, ptr @command_generator.index, align 4400  br label %227401 402221:                                              ; preds = %209, %206403  %222 = load i32, ptr @TLS, align 4404  %223 = load i32, ptr @command_generator.index, align 4405  %224 = load ptr, ptr @command_generator.command_pos, align 8406  %225 = load i32, ptr @command_generator.command_len, align 4407  %226 = call i32 @tgl_complete_channel_list(i32 noundef %222, i32 noundef %223, ptr noundef %224, i32 noundef %225, ptr noundef %8)408  store i32 %226, ptr @command_generator.index, align 4409  br label %227410 411227:                                              ; preds = %221, %215412  %228 = load i8, ptr %7, align 1413  %229 = icmp ne i8 %228, 0414  br i1 %229, label %230, label %235415 416230:                                              ; preds = %227417  %231 = load i8, ptr %7, align 1418  %232 = load ptr, ptr @rl_line_buffer, align 8419  %233 = load i64, ptr @rl_point, align 8420  %234 = getelementptr inbounds i8, ptr %232, i64 %233421  store i8 %231, ptr %234, align 1422  br label %235423 424235:                                              ; preds = %230, %227425  %236 = load ptr, ptr %8, align 8426  store ptr %236, ptr %3, align 8427  br label %358428 429237:                                              ; preds = %81430  %238 = load i32, ptr @modifiers, align 4431  %239 = load i32, ptr @command_generator.index, align 4432  %240 = load ptr, ptr @command_generator.command_pos, align 8433  %241 = load i32, ptr @command_generator.command_len, align 4434  %242 = call i32 @complete_string_list(i32 noundef %238, i32 noundef %239, ptr noundef %240, i32 noundef %241, ptr noundef %8)435  store i32 %242, ptr @command_generator.index, align 4436  %243 = load i8, ptr %7, align 1437  %244 = icmp ne i8 %243, 0438  br i1 %244, label %245, label %250439 440245:                                              ; preds = %237441  %246 = load i8, ptr %7, align 1442  %247 = load ptr, ptr @rl_line_buffer, align 8443  %248 = load i64, ptr @rl_point, align 8444  %249 = getelementptr inbounds i8, ptr %247, i64 %248445  store i8 %246, ptr %249, align 1446  br label %250447 448250:                                              ; preds = %245, %237449  %251 = load ptr, ptr %8, align 8450  store ptr %251, ptr %3, align 8451  br label %358452 453252:                                              ; preds = %81454  %253 = load ptr, ptr @autocomplete_peer, align 8455  %254 = icmp ne ptr %253, null456  br i1 %254, label %255, label %282457 458255:                                              ; preds = %252459  %256 = load ptr, ptr @autocomplete_peer, align 8460  %257 = getelementptr inbounds %struct.TYPE_7__, ptr %256, i32 0, i32 0461  %258 = load i32, ptr %257, align 4462  %259 = call i32 @tgl_get_peer_type(i32 noundef %258)463  %260 = load i32, ptr @TGL_PEER_USER, align 4464  %261 = icmp eq i32 %259, %260465  br i1 %261, label %262, label %268466 467262:                                              ; preds = %255468  %263 = load ptr, ptr @autocomplete_peer, align 8469  %264 = load i32, ptr @command_generator.index, align 4470  %265 = load ptr, ptr @command_generator.command_pos, align 8471  %266 = load i32, ptr @command_generator.command_len, align 4472  %267 = call i32 @complete_user_command(ptr noundef %263, i32 noundef %264, ptr noundef %265, i32 noundef %266, ptr noundef %8)473  store i32 %267, ptr @command_generator.index, align 4474  br label %268475 476268:                                              ; preds = %262, %255477  %269 = load ptr, ptr @autocomplete_peer, align 8478  %270 = getelementptr inbounds %struct.TYPE_7__, ptr %269, i32 0, i32 0479  %271 = load i32, ptr %270, align 4480  %272 = call i32 @tgl_get_peer_type(i32 noundef %271)481  %273 = load i32, ptr @TGL_PEER_CHAT, align 4482  %274 = icmp eq i32 %272, %273483  br i1 %274, label %275, label %281484 485275:                                              ; preds = %268486  %276 = load ptr, ptr @autocomplete_peer, align 8487  %277 = load i32, ptr @command_generator.index, align 4488  %278 = load ptr, ptr @command_generator.command_pos, align 8489  %279 = load i32, ptr @command_generator.command_len, align 4490  %280 = call i32 @complete_chat_command(ptr noundef %276, i32 noundef %277, ptr noundef %278, i32 noundef %279, ptr noundef %8)491  store i32 %280, ptr @command_generator.index, align 4492  br label %281493 494281:                                              ; preds = %275, %268495  br label %282496 497282:                                              ; preds = %281, %252498  %283 = load i32, ptr @autocomplete_id, align 4499  %284 = load i32, ptr @NOT_FOUND, align 4500  %285 = icmp ne i32 %283, %284501  br i1 %285, label %286, label %322502 503286:                                              ; preds = %282504  %287 = load i32, ptr @TLS, align 4505  %288 = call ptr @tgl_message_get(i32 noundef %287, ptr noundef @autocomplete_id)506  store ptr %288, ptr %9, align 8507  %289 = load ptr, ptr %9, align 8508  %290 = icmp ne ptr %289, null509  br i1 %290, label %291, label %321510 511291:                                              ; preds = %286512  %292 = load i32, ptr @command_generator.command_len, align 4513  %293 = icmp sgt i32 %292, 0514  br i1 %293, label %294, label %314515 516294:                                              ; preds = %291517  %295 = load ptr, ptr @command_generator.command_pos, align 8518  %296 = load i8, ptr %295, align 1519  %297 = sext i8 %296 to i32520  %298 = icmp eq i32 %297, 47521  br i1 %298, label %299, label %314522 523299:                                              ; preds = %294524  %300 = load i32, ptr @TLS, align 4525  %301 = load ptr, ptr %9, align 8526  %302 = getelementptr inbounds %struct.tgl_message, ptr %301, i32 0, i32 0527  %303 = load i32, ptr %302, align 4528  %304 = call ptr @tgl_peer_get(i32 noundef %300, i32 noundef %303)529  store ptr %304, ptr %10, align 8530  %305 = load ptr, ptr %10, align 8531  %306 = icmp ne ptr %305, null532  br i1 %306, label %307, label %313533 534307:                                              ; preds = %299535  %308 = load ptr, ptr @autocomplete_peer, align 8536  %309 = load i32, ptr @command_generator.index, align 4537  %310 = load ptr, ptr @command_generator.command_pos, align 8538  %311 = load i32, ptr @command_generator.command_len, align 4539  %312 = call i32 @complete_user_command(ptr noundef %308, i32 noundef %309, ptr noundef %310, i32 noundef %311, ptr noundef %8)540  store i32 %312, ptr @command_generator.index, align 4541  br label %313542 543313:                                              ; preds = %307, %299544  br label %320545 546314:                                              ; preds = %294, %291547  %315 = load ptr, ptr %9, align 8548  %316 = load i32, ptr @command_generator.index, align 4549  %317 = load ptr, ptr @command_generator.command_pos, align 8550  %318 = load i32, ptr @command_generator.command_len, align 4551  %319 = call i32 @complete_spec_message_answer(ptr noundef %315, i32 noundef %316, ptr noundef %317, i32 noundef %318, ptr noundef %8)552  store i32 %319, ptr @command_generator.index, align 4553  br label %320554 555320:                                              ; preds = %314, %313556  br label %321557 558321:                                              ; preds = %320, %286559  br label %322560 561322:                                              ; preds = %321, %282562  %323 = load i8, ptr %7, align 1563  %324 = icmp ne i8 %323, 0564  br i1 %324, label %325, label %330565 566325:                                              ; preds = %322567  %326 = load i8, ptr %7, align 1568  %327 = load ptr, ptr @rl_line_buffer, align 8569  %328 = load i64, ptr @rl_point, align 8570  %329 = getelementptr inbounds i8, ptr %327, i64 %328571  store i8 %326, ptr %329, align 1572  br label %330573 574330:                                              ; preds = %325, %322575  %331 = load ptr, ptr %8, align 8576  store ptr %331, ptr %3, align 8577  br label %358578 579332:                                              ; preds = %81580  %333 = load i32, ptr @TLS, align 4581  %334 = load ptr, ptr %4, align 8582  %335 = load i32, ptr @command_generator.len, align 4583  %336 = load i32, ptr @command_generator.index, align 4584  %337 = load ptr, ptr @rl_line_buffer, align 8585  %338 = load i64, ptr @rl_point, align 8586  %339 = call i32 @tglf_extf_autocomplete(i32 noundef %333, ptr noundef %334, i32 noundef %335, i32 noundef %336, ptr noundef %8, ptr noundef %337, i64 noundef %338)587  store i32 %339, ptr @command_generator.index, align 4588  %340 = load i8, ptr %7, align 1589  %341 = icmp ne i8 %340, 0590  br i1 %341, label %342, label %347591 592342:                                              ; preds = %332593  %343 = load i8, ptr %7, align 1594  %344 = load ptr, ptr @rl_line_buffer, align 8595  %345 = load i64, ptr @rl_point, align 8596  %346 = getelementptr inbounds i8, ptr %344, i64 %345597  store i8 %343, ptr %346, align 1598  br label %347599 600347:                                              ; preds = %342, %332601  %348 = load ptr, ptr %8, align 8602  store ptr %348, ptr %3, align 8603  br label %358604 605349:                                              ; preds = %81606  %350 = load i8, ptr %7, align 1607  %351 = icmp ne i8 %350, 0608  br i1 %351, label %352, label %357609 610352:                                              ; preds = %349611  %353 = load i8, ptr %7, align 1612  %354 = load ptr, ptr @rl_line_buffer, align 8613  %355 = load i64, ptr @rl_point, align 8614  %356 = getelementptr inbounds i8, ptr %354, i64 %355615  store i8 %353, ptr %356, align 1616  br label %357617 618357:                                              ; preds = %352, %349619  store ptr null, ptr %3, align 8620  br label %358621 622358:                                              ; preds = %357, %347, %330, %250, %235, %204, %189, %171, %161, %131, %100, %80, %46, %13623  %359 = load ptr, ptr %3, align 8624  ret ptr %359625}626 627declare i32 @complete_string_list(i32 noundef, i32 noundef, ptr noundef, i32 noundef, ptr noundef) #1628 629declare i32 @strlen(ptr noundef) #1630 631declare i32 @get_complete_mode(...) #1632 633declare i32 @assert(i32 noundef) #1634 635declare i32 @complete_command_list(i32 noundef, ptr noundef, i32 noundef, ptr noundef) #1636 637declare i32 @complete_username(i32 noundef, i32 noundef, ptr noundef, i32 noundef, ptr noundef) #1638 639declare i32 @tgl_complete_user_list(i32 noundef, i32 noundef, ptr noundef, i32 noundef, ptr noundef) #1640 641declare i32 @tgl_complete_peer_list(i32 noundef, i32 noundef, ptr noundef, i32 noundef, ptr noundef) #1642 643declare ptr @rl_filename_completion_function(ptr noundef, i32 noundef) #1644 645declare i32 @tgl_complete_chat_list(i32 noundef, i32 noundef, ptr noundef, i32 noundef, ptr noundef) #1646 647declare i32 @tgl_complete_encr_chat_list(i32 noundef, i32 noundef, ptr noundef, i32 noundef, ptr noundef) #1648 649declare i32 @tgl_complete_channel_list(i32 noundef, i32 noundef, ptr noundef, i32 noundef, ptr noundef) #1650 651declare i32 @tgl_get_peer_type(i32 noundef) #1652 653declare i32 @complete_user_command(ptr noundef, i32 noundef, ptr noundef, i32 noundef, ptr noundef) #1654 655declare i32 @complete_chat_command(ptr noundef, i32 noundef, ptr noundef, i32 noundef, ptr noundef) #1656 657declare ptr @tgl_message_get(i32 noundef, ptr noundef) #1658 659declare ptr @tgl_peer_get(i32 noundef, i32 noundef) #1660 661declare i32 @complete_spec_message_answer(ptr noundef, i32 noundef, ptr noundef, i32 noundef, ptr noundef) #1662 663declare i32 @tglf_extf_autocomplete(i32 noundef, ptr noundef, i32 noundef, i32 noundef, ptr noundef, ptr noundef, i64 noundef) #1664 665attributes #0 = { noinline nounwind optnone uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }666attributes #1 = { "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }667 668!llvm.module.flags = !{!0, !1, !2, !3, !4}669!llvm.ident = !{!5}670 671!0 = !{i32 1, !"wchar_size", i32 4}672!1 = !{i32 7, !"PIC Level", i32 2}673!2 = !{i32 7, !"PIE Level", i32 2}674!3 = !{i32 7, !"uwtable", i32 2}675!4 = !{i32 7, !"frame-pointer", i32 2}676!5 = !{!"clang version 15.0.3"}677