C#/Ruby/Rust: Fix bug in adjacentReadPairSameVar.

This commit is contained in:
Anders Schack-Mulligen
2025-02-19 16:20:57 +01:00
parent 291ea6f6eb
commit ed40035b9c
3 changed files with 3 additions and 3 deletions

View File

@@ -949,7 +949,7 @@ private module Cached {
predicate adjacentReadPairSameVar(Definition def, ControlFlow::Node cfn1, ControlFlow::Node cfn2) {
exists(ControlFlow::BasicBlock bb1, int i1, ControlFlow::BasicBlock bb2, int i2 |
cfn1 = bb1.getNode(i1) and
variableReadActual(bb1, i1, _) and
variableReadActual(bb1, i1, def.getSourceVariable()) and
adjacentDefSkipUncertainReads(def, bb1, i1, bb2, i2) and
cfn2 = bb2.getNode(i2)
)

View File

@@ -409,7 +409,7 @@ private module Cached {
) {
exists(Cfg::BasicBlock bb1, int i1, Cfg::BasicBlock bb2, int i2 |
read1 = bb1.getNode(i1) and
variableReadActual(bb1, i1, _) and
variableReadActual(bb1, i1, def.getSourceVariable()) and
adjacentDefSkipUncertainReads(def, bb1, i1, bb2, i2) and
read2 = bb2.getNode(i2)
)

View File

@@ -330,7 +330,7 @@ private module Cached {
predicate adjacentReadPair(Definition def, CfgNode read1, CfgNode read2) {
exists(BasicBlock bb1, int i1, BasicBlock bb2, int i2 |
read1 = bb1.getNode(i1) and
variableReadActual(bb1, i1, _) and
variableReadActual(bb1, i1, def.getSourceVariable()) and
adjacentDefSkipUncertainReads(def, bb1, i1, bb2, i2) and
read2 = bb2.getNode(i2)
)