Aboudek/ASM_TO_LLVM_V2
0
1; ModuleID = 'winfile/src/extr_wfdirsrc.c_DSDropObject.c'2source_filename = "winfile/src/extr_wfdirsrc.c_DSDropObject.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 { i64, i64, i64, i64 }7%struct.TYPE_5__ = type { i64 }8 9@MAXPATHLEN = dso_local global i32 0, align 410@hwndStatus = dso_local global i64 0, align 811@SB_SIMPLE = dso_local global i32 0, align 412@LB_GETSEL = dso_local global i32 0, align 413@TRUE = dso_local global i64 0, align 814@FS_GETDIRECTORY = dso_local global i32 0, align 415@GWL_HDTA = dso_local global i32 0, align 416@LB_GETTEXT = dso_local global i32 0, align 417@LB_ERR = dso_local global i64 0, align 818@ATTR_DIR = dso_local global i64 0, align 819@ATTR_PARENT = dso_local global i64 0, align 820@DOF_DIRECTORY = dso_local global i64 0, align 821@iSelHighlight = dso_local global i32 0, align 422@FALSE = dso_local global i64 0, align 823@SZ_BACKSLASH = dso_local global ptr null, align 824@FS_GETSELECTION = dso_local global i32 0, align 425@bConfirmMouse = dso_local global i64 0, align 826@hAppInstance = dso_local global i32 0, align 427@IDS_MOUSECONFIRM = dso_local global i32 0, align 428@szTitle = dso_local global ptr null, align 829@IDS_EXECMOUSECONFIRM = dso_local global i32 0, align 430@szMessage = dso_local global i32 0, align 431@hwndFrame = dso_local global i32 0, align 432@MB_YESNO = dso_local global i32 0, align 433@MB_ICONEXCLAMATION = dso_local global i32 0, align 434@IDYES = dso_local global i64 0, align 835@hwndSearch = dso_local global i64 0, align 836@CHAR_NULL = dso_local global i32 0, align 437@SZ_DOT = dso_local global ptr null, align 838@IDS_EXECERRTITLE = dso_local global i32 0, align 439@MB_OK = dso_local global i32 0, align 440@MB_SYSTEMMODAL = dso_local global i32 0, align 441@GWL_LISTPARMS = dso_local global i32 0, align 442@hwndMDIClient = dso_local global i64 0, align 843@WM_MDIGETACTIVE = dso_local global i32 0, align 444@szStarDotStar = dso_local global ptr null, align 845@fShowSourceBitmaps = dso_local global i32 0, align 446@FSC_REFRESH = dso_local global i32 0, align 447@WM_FSC = dso_local global i32 0, align 448 49; Function Attrs: noinline nounwind optnone uwtable50define dso_local i64 @DSDropObject(i64 noundef %0, i64 noundef %1, ptr noundef %2, i64 noundef %3) #0 {51 %5 = alloca i64, align 852 %6 = alloca i64, align 853 %7 = alloca i64, align 854 %8 = alloca ptr, align 855 %9 = alloca i64, align 856 %10 = alloca i64, align 857 %11 = alloca ptr, align 858 %12 = alloca i64, align 859 %13 = alloca i64, align 860 %14 = alloca ptr, align 861 %15 = alloca ptr, align 862 %16 = alloca ptr, align 863 %17 = alloca i64, align 864 %18 = alloca ptr, align 865 %19 = alloca i64, align 866 %20 = alloca i64, align 867 %21 = alloca i64, align 868 %22 = alloca i32, align 469 store i64 %0, ptr %6, align 870 store i64 %1, ptr %7, align 871 store ptr %2, ptr %8, align 872 store i64 %3, ptr %9, align 873 store i64 0, ptr %12, align 874 %23 = load i32, ptr @MAXPATHLEN, align 475 %24 = mul nsw i32 %23, 276 %25 = zext i32 %24 to i6477 %26 = call ptr @llvm.stacksave()78 store ptr %26, ptr %18, align 879 %27 = alloca i32, i64 %25, align 1680 store i64 %25, ptr %19, align 881 %28 = load i32, ptr @MAXPATHLEN, align 482 %29 = add nsw i32 %28, 283 %30 = zext i32 %29 to i6484 %31 = alloca i32, i64 %30, align 1685 store i64 %30, ptr %20, align 886 %32 = load i32, ptr @MAXPATHLEN, align 487 %33 = add nsw i32 %32, 288 %34 = zext i32 %33 to i6489 %35 = alloca i32, i64 %34, align 1690 store i64 %34, ptr %21, align 891 %36 = load i64, ptr @hwndStatus, align 892 %37 = load i32, ptr @SB_SIMPLE, align 493 %38 = call i64 @SendMessage(i64 noundef %36, i32 noundef %37, i32 noundef 0, i64 noundef 0)94 %39 = load i64, ptr @hwndStatus, align 895 %40 = call i32 @UpdateWindow(i64 noundef %39)96 %41 = load ptr, ptr %8, align 897 %42 = getelementptr inbounds %struct.TYPE_6__, ptr %41, i32 0, i32 098 %43 = load i64, ptr %42, align 899 store i64 %43, ptr %13, align 8100 %44 = load i64, ptr %6, align 8101 %45 = load ptr, ptr %8, align 8102 %46 = getelementptr inbounds %struct.TYPE_6__, ptr %45, i32 0, i32 1103 %47 = load i64, ptr %46, align 8104 %48 = icmp eq i64 %44, %47105 br i1 %48, label %49, label %62106 10749: ; preds = %4108 %50 = load i64, ptr %13, align 8109 %51 = icmp eq i64 %50, -1110 br i1 %51, label %59, label %52111 11252: ; preds = %49113 %53 = load i64, ptr %7, align 8114 %54 = load i32, ptr @LB_GETSEL, align 4115 %55 = load i64, ptr %13, align 8116 %56 = trunc i64 %55 to i32117 %57 = call i64 @SendMessage(i64 noundef %53, i32 noundef %54, i32 noundef %56, i64 noundef 0)118 %58 = icmp ne i64 %57, 0119 br i1 %58, label %59, label %61120 12159: ; preds = %52, %49122 %60 = load i64, ptr @TRUE, align 8123 store i64 %60, ptr %5, align 8124 store i32 1, ptr %22, align 4125 br label %301126 12761: ; preds = %52128 br label %62129 13062: ; preds = %61, %4131 %63 = load i64, ptr %6, align 8132 %64 = load i32, ptr @FS_GETDIRECTORY, align 4133 %65 = call i32 @COUNTOF(ptr noundef %27)134 %66 = ptrtoint ptr %27 to i64135 %67 = call i64 @SendMessage(i64 noundef %63, i32 noundef %64, i32 noundef %65, i64 noundef %66)136 %68 = load i64, ptr %13, align 8137 %69 = icmp eq i64 %68, -1138 br i1 %69, label %70, label %71139 14070: ; preds = %62141 br label %267142 14371: ; preds = %62144 %72 = load i64, ptr %6, align 8145 %73 = load i32, ptr @GWL_HDTA, align 4146 %74 = call i64 @GetWindowLongPtr(i64 noundef %72, i32 noundef %73)147 store i64 %74, ptr %17, align 8148 %75 = load i64, ptr %17, align 8149 %76 = icmp ne i64 %75, 0150 br i1 %76, label %78, label %77151 15277: ; preds = %71153 br label %267154 15578: ; preds = %71156 %79 = load i64, ptr %7, align 8157 %80 = load i32, ptr @LB_GETTEXT, align 4158 %81 = load i64, ptr %13, align 8159 %82 = trunc i64 %81 to i32160 %83 = ptrtoint ptr %16 to i64161 %84 = call i64 @SendMessage(i64 noundef %79, i32 noundef %80, i32 noundef %82, i64 noundef %83)162 %85 = load i64, ptr @LB_ERR, align 8163 %86 = icmp eq i64 %84, %85164 br i1 %86, label %90, label %87165 16687: ; preds = %78167 %88 = load ptr, ptr %16, align 8168 %89 = icmp ne ptr %88, null169 br i1 %89, label %91, label %90170 17190: ; preds = %87, %78172 br label %267173 17491: ; preds = %87175 %92 = load ptr, ptr %16, align 8176 %93 = call ptr @MemGetFileName(ptr noundef %92)177 %94 = call i32 @lstrcpy(ptr noundef %31, ptr noundef %93)178 %95 = load ptr, ptr %16, align 8179 %96 = getelementptr inbounds %struct.TYPE_5__, ptr %95, i32 0, i32 0180 %97 = load i64, ptr %96, align 8181 store i64 %97, ptr %12, align 8182 %98 = load i64, ptr %12, align 8183 %99 = load i64, ptr @ATTR_DIR, align 8184 %100 = and i64 %98, %99185 %101 = icmp ne i64 %100, 0186 br i1 %101, label %102, label %119187 188102: ; preds = %91189 %103 = load i64, ptr %9, align 8190 %104 = icmp ne i64 %103, 0191 br i1 %104, label %105, label %107192 193105: ; preds = %102194 %106 = call i32 @lstrcpy(ptr noundef %27, ptr noundef %31)195 br label %118196 197107: ; preds = %102198 %108 = load i64, ptr %12, align 8199 %109 = load i64, ptr @ATTR_PARENT, align 8200 %110 = and i64 %108, %109201 %111 = icmp ne i64 %110, 0202 br i1 %111, label %112, label %115203 204112: ; preds = %107205 %113 = call i32 @StripBackslash(ptr noundef %27)206 %114 = call i32 @StripFilespec(ptr noundef %27)207 br label %117208 209115: ; preds = %107210 %116 = call i32 @lstrcat(ptr noundef %27, ptr noundef %31)211 br label %117212 213117: ; preds = %115, %112214 br label %118215 216118: ; preds = %117, %105217 br label %278218 219119: ; preds = %91220 %120 = call i32 @IsProgramFile(ptr noundef %31)221 %121 = icmp ne i32 %120, 0222 br i1 %121, label %123, label %122223 224122: ; preds = %119225 br label %267226 227123: ; preds = %119228 %124 = load ptr, ptr %8, align 8229 %125 = getelementptr inbounds %struct.TYPE_6__, ptr %124, i32 0, i32 2230 %126 = load i64, ptr %125, align 8231 %127 = load i64, ptr @DOF_DIRECTORY, align 8232 %128 = icmp eq i64 %126, %127233 br i1 %128, label %129, label %136234 235129: ; preds = %123236 %130 = load i64, ptr %7, align 8237 %131 = load i32, ptr @iSelHighlight, align 4238 %132 = load i64, ptr @FALSE, align 8239 %133 = load i64, ptr @FALSE, align 8240 %134 = call i32 @DSRectItem(i64 noundef %130, i32 noundef %131, i64 noundef %132, i64 noundef %133)241 %135 = load i64, ptr @FALSE, align 8242 store i64 %135, ptr %5, align 8243 store i32 1, ptr %22, align 4244 br label %301245 246136: ; preds = %123247 %137 = load i64, ptr %6, align 8248 %138 = load i32, ptr @FS_GETDIRECTORY, align 4249 %139 = call i32 @COUNTOF(ptr noundef %27)250 %140 = ptrtoint ptr %27 to i64251 %141 = call i64 @SendMessage(i64 noundef %137, i32 noundef %138, i32 noundef %139, i64 noundef %140)252 %142 = call i32 @StripBackslash(ptr noundef %27)253 %143 = call i32 @SetCurrentDirectory(ptr noundef %27)254 %144 = call i32 @lstrcpy(ptr noundef %35, ptr noundef %27)255 %145 = load ptr, ptr @SZ_BACKSLASH, align 8256 %146 = call i32 @lstrcat(ptr noundef %35, ptr noundef %145)257 %147 = call i32 @lstrcat(ptr noundef %35, ptr noundef %31)258 %148 = load ptr, ptr %8, align 8259 %149 = getelementptr inbounds %struct.TYPE_6__, ptr %148, i32 0, i32 1260 %150 = load i64, ptr %149, align 8261 %151 = load i32, ptr @FS_GETSELECTION, align 4262 %152 = call i64 @SendMessage(i64 noundef %150, i32 noundef %151, i32 noundef 1, i64 noundef 0)263 %153 = inttoptr i64 %152 to ptr264 store ptr %153, ptr %14, align 8265 %154 = load ptr, ptr %8, align 8266 %155 = getelementptr inbounds %struct.TYPE_6__, ptr %154, i32 0, i32 1267 %156 = load i64, ptr %155, align 8268 %157 = load i32, ptr @FS_GETSELECTION, align 4269 %158 = call i64 @SendMessage(i64 noundef %156, i32 noundef %157, i32 noundef 17, i64 noundef 0)270 %159 = inttoptr i64 %158 to ptr271 store ptr %159, ptr %15, align 8272 %160 = load ptr, ptr %14, align 8273 %161 = icmp ne ptr %160, null274 br i1 %161, label %162, label %165275 276162: ; preds = %136277 %163 = load ptr, ptr %15, align 8278 %164 = icmp ne ptr %163, null279 br i1 %164, label %166, label %165280 281165: ; preds = %162, %136282 br label %246283 284166: ; preds = %162285 %167 = load ptr, ptr %14, align 8286 %168 = call i32 @lstrlen(ptr noundef %167)287 %169 = load i32, ptr @MAXPATHLEN, align 4288 %170 = icmp sgt i32 %168, %169289 br i1 %170, label %171, label %172290 291171: ; preds = %166292 br label %246293 294172: ; preds = %166295 %173 = call i32 @CheckEsc(ptr noundef %31)296 %174 = load i64, ptr @bConfirmMouse, align 8297 %175 = icmp ne i64 %174, 0298 br i1 %175, label %176, label %201299 300176: ; preds = %172301 %177 = load i32, ptr @hAppInstance, align 4302 %178 = load i32, ptr @IDS_MOUSECONFIRM, align 4303 %179 = load ptr, ptr @szTitle, align 8304 %180 = load ptr, ptr @szTitle, align 8305 %181 = call i32 @COUNTOF(ptr noundef %180)306 %182 = call i32 @LoadString(i32 noundef %177, i32 noundef %178, ptr noundef %179, i32 noundef %181)307 %183 = load i32, ptr @hAppInstance, align 4308 %184 = load i32, ptr @IDS_EXECMOUSECONFIRM, align 4309 %185 = call i32 @COUNTOF(ptr noundef %27)310 %186 = call i32 @LoadString(i32 noundef %183, i32 noundef %184, ptr noundef %27, i32 noundef %185)311 %187 = load i32, ptr @szMessage, align 4312 %188 = load ptr, ptr %14, align 8313 %189 = call i32 @wsprintf(i32 noundef %187, ptr noundef %27, ptr noundef %31, ptr noundef %188)314 %190 = load i32, ptr @hwndFrame, align 4315 %191 = load i32, ptr @szMessage, align 4316 %192 = load ptr, ptr @szTitle, align 8317 %193 = load i32, ptr @MB_YESNO, align 4318 %194 = load i32, ptr @MB_ICONEXCLAMATION, align 4319 %195 = or i32 %193, %194320 %196 = call i64 @MessageBox(i32 noundef %190, i32 noundef %191, ptr noundef %192, i32 noundef %195)321 %197 = load i64, ptr @IDYES, align 8322 %198 = icmp ne i64 %196, %197323 br i1 %198, label %199, label %200324 325199: ; preds = %176326 br label %246327 328200: ; preds = %176329 br label %201330 331201: ; preds = %200, %172332 %202 = load ptr, ptr %8, align 8333 %203 = getelementptr inbounds %struct.TYPE_6__, ptr %202, i32 0, i32 1334 %204 = load i64, ptr %203, align 8335 %205 = load i64, ptr @hwndSearch, align 8336 %206 = icmp eq i64 %204, %205337 br i1 %206, label %207, label %210338 339207: ; preds = %201340 %208 = load i32, ptr @CHAR_NULL, align 4341 %209 = getelementptr inbounds i32, ptr %27, i64 0342 store i32 %208, ptr %209, align 16343 br label %218344 345210: ; preds = %201346 %211 = load ptr, ptr %8, align 8347 %212 = getelementptr inbounds %struct.TYPE_6__, ptr %211, i32 0, i32 1348 %213 = load i64, ptr %212, align 8349 %214 = load i32, ptr @FS_GETDIRECTORY, align 4350 %215 = call i32 @COUNTOF(ptr noundef %27)351 %216 = ptrtoint ptr %27 to i64352 %217 = call i64 @SendMessage(i64 noundef %213, i32 noundef %214, i32 noundef %215, i64 noundef %216)353 br label %218354 355218: ; preds = %210, %207356 %219 = load ptr, ptr %15, align 8357 %220 = call i32 @lstrcat(ptr noundef %27, ptr noundef %219)358 %221 = call ptr @GetExtension(ptr noundef %27)359 %222 = load i64, ptr %221, align 8360 %223 = icmp eq i64 %222, 0361 br i1 %223, label %224, label %227362 363224: ; preds = %218364 %225 = load ptr, ptr @SZ_DOT, align 8365 %226 = call i32 @lstrcat(ptr noundef %27, ptr noundef %225)366 br label %227367 368227: ; preds = %224, %218369 %228 = call i32 @CheckEsc(ptr noundef %27)370 %229 = load i64, ptr @FALSE, align 8371 %230 = load i64, ptr @FALSE, align 8372 %231 = call i64 @ExecProgram(ptr noundef %35, ptr noundef %27, ptr noundef null, i64 noundef %229, i64 noundef %230)373 store i64 %231, ptr %10, align 8374 %232 = load i64, ptr %10, align 8375 %233 = icmp ne i64 %232, 0376 br i1 %233, label %234, label %245377 378234: ; preds = %227379 %235 = load i32, ptr @hwndFrame, align 4380 %236 = load i32, ptr @IDS_EXECERRTITLE, align 4381 %237 = load i64, ptr %10, align 8382 %238 = trunc i64 %237 to i32383 %239 = load i32, ptr @MB_OK, align 4384 %240 = load i32, ptr @MB_ICONEXCLAMATION, align 4385 %241 = or i32 %239, %240386 %242 = load i32, ptr @MB_SYSTEMMODAL, align 4387 %243 = or i32 %241, %242388 %244 = call i32 @MyMessageBox(i32 noundef %235, i32 noundef %236, i32 noundef %238, i32 noundef %243)389 br label %245390 391245: ; preds = %234, %227392 br label %246393 394246: ; preds = %245, %199, %171, %165395 %247 = load i64, ptr %7, align 8396 %248 = load i32, ptr @iSelHighlight, align 4397 %249 = load i64, ptr @FALSE, align 8398 %250 = load i64, ptr @FALSE, align 8399 %251 = call i32 @DSRectItem(i64 noundef %247, i32 noundef %248, i64 noundef %249, i64 noundef %250)400 %252 = load ptr, ptr %14, align 8401 %253 = icmp ne ptr %252, null402 br i1 %253, label %254, label %258403 404254: ; preds = %246405 %255 = load ptr, ptr %14, align 8406 %256 = ptrtoint ptr %255 to i32407 %257 = call i32 @LocalFree(i32 noundef %256)408 br label %258409 410258: ; preds = %254, %246411 %259 = load ptr, ptr %15, align 8412 %260 = icmp ne ptr %259, null413 br i1 %260, label %261, label %265414 415261: ; preds = %258416 %262 = load ptr, ptr %15, align 8417 %263 = ptrtoint ptr %262 to i32418 %264 = call i32 @LocalFree(i32 noundef %263)419 br label %265420 421265: ; preds = %261, %258422 %266 = load i64, ptr @TRUE, align 8423 store i64 %266, ptr %5, align 8424 store i32 1, ptr %22, align 4425 br label %301426 427267: ; preds = %122, %90, %77, %70428 %268 = load i64, ptr %6, align 8429 %269 = load i32, ptr @GWL_LISTPARMS, align 4430 %270 = call i64 @GetWindowLongPtr(i64 noundef %268, i32 noundef %269)431 %271 = load i64, ptr @hwndMDIClient, align 8432 %272 = load i32, ptr @WM_MDIGETACTIVE, align 4433 %273 = call i64 @SendMessage(i64 noundef %271, i32 noundef %272, i32 noundef 0, i64 noundef 0)434 %274 = icmp eq i64 %270, %273435 br i1 %274, label %275, label %277436 437275: ; preds = %267438 %276 = load i64, ptr @TRUE, align 8439 store i64 %276, ptr %5, align 8440 store i32 1, ptr %22, align 4441 br label %301442 443277: ; preds = %267444 br label %278445 446278: ; preds = %277, %118447 %279 = load ptr, ptr %8, align 8448 %280 = getelementptr inbounds %struct.TYPE_6__, ptr %279, i32 0, i32 3449 %281 = load i64, ptr %280, align 8450 %282 = inttoptr i64 %281 to ptr451 store ptr %282, ptr %11, align 8452 %283 = call i32 @AddBackslash(ptr noundef %27)453 %284 = load ptr, ptr @szStarDotStar, align 8454 %285 = call i32 @lstrcat(ptr noundef %27, ptr noundef %284)455 %286 = call i32 @CheckEsc(ptr noundef %27)456 %287 = load ptr, ptr %11, align 8457 %288 = load i32, ptr @fShowSourceBitmaps, align 4458 %289 = call i64 @DMMoveCopyHelper(ptr noundef %287, ptr noundef %27, i32 noundef %288)459 store i64 %289, ptr %10, align 8460 %290 = load i64, ptr %7, align 8461 %291 = load i32, ptr @iSelHighlight, align 4462 %292 = load i64, ptr @FALSE, align 8463 %293 = load i64, ptr @FALSE, align 8464 %294 = call i32 @DSRectItem(i64 noundef %290, i32 noundef %291, i64 noundef %292, i64 noundef %293)465 %295 = load i64, ptr %10, align 8466 %296 = icmp ne i64 %295, 0467 br i1 %296, label %297, label %299468 469297: ; preds = %278470 %298 = load i64, ptr @TRUE, align 8471 store i64 %298, ptr %5, align 8472 store i32 1, ptr %22, align 4473 br label %301474 475299: ; preds = %278476 %300 = load i64, ptr @TRUE, align 8477 store i64 %300, ptr %5, align 8478 store i32 1, ptr %22, align 4479 br label %301480 481301: ; preds = %299, %297, %275, %265, %129, %59482 %302 = load ptr, ptr %18, align 8483 call void @llvm.stackrestore(ptr %302)484 %303 = load i64, ptr %5, align 8485 ret i64 %303486}487 488; Function Attrs: nocallback nofree nosync nounwind willreturn489declare ptr @llvm.stacksave() #1490 491declare i64 @SendMessage(i64 noundef, i32 noundef, i32 noundef, i64 noundef) #2492 493declare i32 @UpdateWindow(i64 noundef) #2494 495declare i32 @COUNTOF(ptr noundef) #2496 497declare i64 @GetWindowLongPtr(i64 noundef, i32 noundef) #2498 499declare i32 @lstrcpy(ptr noundef, ptr noundef) #2500 501declare ptr @MemGetFileName(ptr noundef) #2502 503declare i32 @StripBackslash(ptr noundef) #2504 505declare i32 @StripFilespec(ptr noundef) #2506 507declare i32 @lstrcat(ptr noundef, ptr noundef) #2508 509declare i32 @IsProgramFile(ptr noundef) #2510 511declare i32 @DSRectItem(i64 noundef, i32 noundef, i64 noundef, i64 noundef) #2512 513declare i32 @SetCurrentDirectory(ptr noundef) #2514 515declare i32 @lstrlen(ptr noundef) #2516 517declare i32 @CheckEsc(ptr noundef) #2518 519declare i32 @LoadString(i32 noundef, i32 noundef, ptr noundef, i32 noundef) #2520 521declare i32 @wsprintf(i32 noundef, ptr noundef, ptr noundef, ptr noundef) #2522 523declare i64 @MessageBox(i32 noundef, i32 noundef, ptr noundef, i32 noundef) #2524 525declare ptr @GetExtension(ptr noundef) #2526 527declare i64 @ExecProgram(ptr noundef, ptr noundef, ptr noundef, i64 noundef, i64 noundef) #2528 529declare i32 @MyMessageBox(i32 noundef, i32 noundef, i32 noundef, i32 noundef) #2530 531declare i32 @LocalFree(i32 noundef) #2532 533declare i32 @AddBackslash(ptr noundef) #2534 535declare i64 @DMMoveCopyHelper(ptr noundef, ptr noundef, i32 noundef) #2536 537; Function Attrs: nocallback nofree nosync nounwind willreturn538declare void @llvm.stackrestore(ptr) #1539 540attributes #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" }541attributes #1 = { nocallback nofree nosync nounwind willreturn }542attributes #2 = { "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" }543 544!llvm.module.flags = !{!0, !1, !2, !3, !4}545!llvm.ident = !{!5}546 547!0 = !{i32 1, !"wchar_size", i32 4}548!1 = !{i32 7, !"PIC Level", i32 2}549!2 = !{i32 7, !"PIE Level", i32 2}550!3 = !{i32 7, !"uwtable", i32 2}551!4 = !{i32 7, !"frame-pointer", i32 2}552!5 = !{!"clang version 15.0.3"}553 