Branch: refs/heads/bbiiggppiigg/add_logical_not
Home: https://github.com/dyninst/dyninst
Commit: 2d3f2145393308e532bdfbe66fdcf1598c26278f
https://github.com/dyninst/dyninst/commit/2d3f2145393308e532bdfbe66fdcf1598c26278f
Author: wuxx1279 <bbiiggppiigg@xxxxxxxxx>
Date: 2023-09-11 (Mon, 11 Sep 2023)
Changed paths:
M dataflowAPI/h/SymEval.h
M dataflowAPI/rose/semantics/BaseSemantics2.C
M dataflowAPI/rose/semantics/BaseSemantics2.h
M dataflowAPI/rose/semantics/SymEvalSemantics.C
M dataflowAPI/rose/semantics/SymEvalSemantics.h
M dataflowAPI/src/SymEvalPolicy.h
M parseAPI/src/SymbolicExpression.C
Log Message:
-----------
Add logicalNot operation to Rose for correctness
Previously rose use invertOp for logical Not.
As the Dyninst interpretation of Rose didn't limit
the size of the input to single bit, inverting a non-zero
value can still result in an non-zero value, causing
incorrect result to be populated.
This PR adds a separate logicalNotOp that
returns 0 given non-zero value
returns 1 given 0
|