svf-tools 1.0.964 → 1.0.966

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svf-tools",
3
- "version": "1.0.964",
3
+ "version": "1.0.966",
4
4
  "description": "* <b>[TypeClone](https://github.com/SVF-tools/SVF/wiki/TypeClone) published in our [ECOOP paper](https://yuleisui.github.io/publications/ecoop20.pdf) is now available in SVF </b> * <b>SVF now uses a single script for its build. Just type [`source ./build.sh`](https://github.com/SVF-tools/SVF/blob/master/build.sh) in your terminal, that's it!</b> * <b>SVF now supports LLVM-10.0.0! </b> * <b>We thank [bsauce](https://github.com/bsauce) for writing a user manual of SVF ([link1](https://www.jianshu.com/p/068a08ec749c) and [link2](https://www.jianshu.com/p/777c30d4240e)) in Chinese </b> * <b>SVF now supports LLVM-9.0.0 (Thank [Byoungyoung Lee](https://github.com/SVF-tools/SVF/issues/142) for his help!). </b> * <b>SVF now supports a set of [field-sensitive pointer analyses](https://yuleisui.github.io/publications/sas2019a.pdf). </b> * <b>[Use SVF as an external lib](https://github.com/SVF-tools/SVF/wiki/Using-SVF-as-a-lib-in-your-own-tool) for your own project (Contributed by [Hongxu Chen](https://github.com/HongxuChen)). </b> * <b>SVF now supports LLVM-7.0.0. </b> * <b>SVF now supports Docker. [Try SVF in Docker](https://github.com/SVF-tools/SVF/wiki/Try-SVF-in-Docker)! </b> * <b>SVF now supports [LLVM-6.0.0](https://github.com/svf-tools/SVF/pull/38) (Contributed by [Jack Anthony](https://github.com/jackanth)). </b> * <b>SVF now supports [LLVM-4.0.0](https://github.com/svf-tools/SVF/pull/23) (Contributed by Jared Carlson. Thank [Jared](https://github.com/jcarlson23) and [Will](https://github.com/dtzWill) for their in-depth [discussions](https://github.com/svf-tools/SVF/pull/18) about updating SVF!) </b> * <b>SVF now supports analysis for C++ programs.</b> <br />",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -432,19 +432,19 @@ public:
432
432
 
433
433
  friend BoundedDouble operator^(const BoundedDouble &lhs, const BoundedDouble &rhs)
434
434
  {
435
- int lInt = std::round(rhs._fVal), rInt = std::round(rhs._fVal);
435
+ int lInt = std::round(lhs._fVal), rInt = std::round(rhs._fVal);
436
436
  return lInt ^ rInt;
437
437
  }
438
438
 
439
439
  friend BoundedDouble operator&(const BoundedDouble &lhs, const BoundedDouble &rhs)
440
440
  {
441
- int lInt = std::round(rhs._fVal), rInt = std::round(rhs._fVal);
441
+ int lInt = std::round(lhs._fVal), rInt = std::round(rhs._fVal);
442
442
  return lInt & rInt;
443
443
  }
444
444
 
445
445
  friend BoundedDouble operator|(const BoundedDouble &lhs, const BoundedDouble &rhs)
446
446
  {
447
- int lInt = std::round(rhs._fVal), rInt = std::round(rhs._fVal);
447
+ int lInt = std::round(lhs._fVal), rInt = std::round(rhs._fVal);
448
448
  return lInt | rInt;
449
449
  }
450
450
 
@@ -1032,27 +1032,27 @@ private:
1032
1032
  u32_t opcode;
1033
1033
 
1034
1034
  public:
1035
- /// OpCode for BinaryOPStmt, enum value is same to llvm BinaryOperator
1035
+ /// OpCode for BinaryOPStmt, enum value is same to llvm BinaryOperator (llvm/IR/Instruction.def)
1036
1036
  enum OpCode : unsigned
1037
1037
  {
1038
- Add = 13,
1039
- FAdd = 14,
1040
- Sub = 15,
1041
- FSub = 16,
1042
- Mul = 17,
1043
- FMul = 18,
1044
- UDiv = 19,
1045
- SDiv = 20,
1046
- FDiv = 21,
1047
- URem = 22,
1048
- SRem = 23,
1049
- FRem = 24,
1050
- Shl = 25,
1051
- LShr = 26,
1052
- AShr = 27,
1053
- And = 28,
1054
- Or = 29,
1055
- Xor = 30
1038
+ Add = 13, // Sum of integers
1039
+ FAdd = 14, // Sum of floats
1040
+ Sub = 15, // Subtraction of integers
1041
+ FSub = 16, // Subtraction of floats
1042
+ Mul = 17, // Product of integers.
1043
+ FMul = 18, // Product of floats.
1044
+ UDiv = 19, // Unsigned division.
1045
+ SDiv = 20, // Signed division.
1046
+ FDiv = 21, // Float division.
1047
+ URem = 22, // Unsigned remainder
1048
+ SRem = 23, // Signed remainder
1049
+ FRem = 24, // Float remainder
1050
+ Shl = 25, // Shift left (logical)
1051
+ LShr = 26, // Shift right (logical)
1052
+ AShr = 27, // Shift right (arithmetic)
1053
+ And = 28, // Logical and
1054
+ Or = 29, // Logical or
1055
+ Xor = 30 // Logical xor
1056
1056
  };
1057
1057
 
1058
1058
  /// Methods for support type inquiry through isa, cast, and dyn_cast: