svf-lib 1.0.2039 → 1.0.2041
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SVF-linux/Release-build/bin/ae +0 -0
- package/SVF-linux/Release-build/bin/cfl +0 -0
- package/SVF-linux/Release-build/bin/dvf +0 -0
- package/SVF-linux/Release-build/bin/llvm2svf +0 -0
- package/SVF-linux/Release-build/bin/mta +0 -0
- package/SVF-linux/Release-build/bin/saber +0 -0
- package/SVF-linux/Release-build/bin/svf-ex +0 -0
- package/SVF-linux/Release-build/bin/wpa +0 -0
- package/SVF-linux/Release-build/include/SVF-LLVM/LLVMUtil.h +0 -48
- package/SVF-linux/Release-build/lib/libSvfLLVM.a +0 -0
- package/SVF-osx/Release-build/bin/ae +0 -0
- package/SVF-osx/Release-build/bin/cfl +0 -0
- package/SVF-osx/Release-build/bin/dvf +0 -0
- package/SVF-osx/Release-build/bin/llvm2svf +0 -0
- package/SVF-osx/Release-build/bin/mta +0 -0
- package/SVF-osx/Release-build/bin/saber +0 -0
- package/SVF-osx/Release-build/bin/svf-ex +0 -0
- package/SVF-osx/Release-build/bin/wpa +0 -0
- package/SVF-osx/Release-build/lib/libSvfCore.a +0 -0
- package/SVF-osx/Release-build/lib/libSvfLLVM.a +0 -0
- package/package.json +1 -1
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -366,54 +366,6 @@ std::string dumpType(const Type* type);
|
|
|
366
366
|
|
|
367
367
|
std::string dumpValueAndDbgInfo(const Value* val);
|
|
368
368
|
|
|
369
|
-
/**
|
|
370
|
-
* See more: https://github.com/SVF-tools/SVF/pull/1191
|
|
371
|
-
*
|
|
372
|
-
* Given the code:
|
|
373
|
-
*
|
|
374
|
-
* switch (a) {
|
|
375
|
-
* case 0: printf("0\n"); break;
|
|
376
|
-
* case 1:
|
|
377
|
-
* case 2:
|
|
378
|
-
* case 3: printf("a >=1 && a <= 3\n"); break;
|
|
379
|
-
* case 4:
|
|
380
|
-
* case 6:
|
|
381
|
-
* case 7: printf("a >= 4 && a <=7\n"); break;
|
|
382
|
-
* default: printf("a < 0 || a > 7"); break;
|
|
383
|
-
* }
|
|
384
|
-
*
|
|
385
|
-
* Generate the IR:
|
|
386
|
-
*
|
|
387
|
-
* switch i32 %0, label %sw.default [
|
|
388
|
-
* i32 0, label %sw.bb
|
|
389
|
-
* i32 1, label %sw.bb1
|
|
390
|
-
* i32 2, label %sw.bb1
|
|
391
|
-
* i32 3, label %sw.bb1
|
|
392
|
-
* i32 4, label %sw.bb3
|
|
393
|
-
* i32 6, label %sw.bb3
|
|
394
|
-
* i32 7, label %sw.bb3
|
|
395
|
-
* ]
|
|
396
|
-
*
|
|
397
|
-
* We can get every case basic block and related case value:
|
|
398
|
-
* [
|
|
399
|
-
* {%sw.default, -1},
|
|
400
|
-
* {%sw.bb, 0},
|
|
401
|
-
* {%sw.bb1, 1},
|
|
402
|
-
* {%sw.bb1, 2},
|
|
403
|
-
* {%sw.bb1, 3},
|
|
404
|
-
* {%sw.bb3, 4},
|
|
405
|
-
* {%sw.bb3, 6},
|
|
406
|
-
* {%sw.bb3, 7},
|
|
407
|
-
* ]
|
|
408
|
-
* Note: default case value is nullptr
|
|
409
|
-
*/
|
|
410
|
-
void getSuccBBandCondValPairVec(const SwitchInst &switchInst, SuccBBAndCondValPairVec &vec);
|
|
411
|
-
|
|
412
|
-
/**
|
|
413
|
-
* Note: default case value is nullptr
|
|
414
|
-
*/
|
|
415
|
-
s64_t getCaseValue(const SwitchInst &switchInst, SuccBBAndCondValPair &succBB2CondVal);
|
|
416
|
-
|
|
417
369
|
} // End namespace LLVMUtil
|
|
418
370
|
|
|
419
371
|
} // End namespace SVF
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|