Skip to content

Commit 056b0c2

Browse files
authored
Merge pull request github#4626 from tamasvajk/feature/stats
C#: Add stats file from the jenkins job
2 parents cd20163 + 02ec325 commit 056b0c2

File tree

3 files changed

+12368
-12424
lines changed

3 files changed

+12368
-12424
lines changed

csharp/ql/src/semmle/code/cil/DataFlow.qll

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -165,14 +165,16 @@ module DefUse {
165165
(
166166
exists(int last | last = max(refRank(bb, _, v, _)) | defReachesRank(bb, vu, last, v))
167167
or
168-
exists(BasicBlock pred |
169-
pred = bb.getAPredecessor() and
170-
defReachesEndOfBlock(pred, vu, v) and
171-
not exists(refRank(bb, _, v, Write()))
172-
)
168+
defReachesStartOfBlock(bb, vu, v) and
169+
not exists(refRank(bb, _, v, Write()))
173170
)
174171
}
175172

173+
pragma[noinline]
174+
private predicate defReachesStartOfBlock(BasicBlock bb, VariableUpdate vu, StackVariable v) {
175+
defReachesEndOfBlock(bb.getAPredecessor(), vu, v)
176+
}
177+
176178
/**
177179
* Holds if the variable update `vu` of stack variable `v` reaches `read` in the
178180
* same basic block without crossing another update of `v`.

csharp/ql/src/semmle/code/csharp/dataflow/SSA.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1130,7 +1130,7 @@ module Ssa {
11301130
exists(Expr mid | reachesDelegateCall(mid) | delegateFlowStep(e, mid))
11311131
}
11321132

1133-
pragma[noinline]
1133+
pragma[nomagic]
11341134
private predicate delegateFlowStepReaches(Expr pred, Expr succ) {
11351135
delegateFlowStep(pred, succ) and
11361136
reachesDelegateCall(succ)

0 commit comments

Comments
 (0)