Skip to content

Commit 7877cfe

Browse files
committed
ignore cloning recursive call resolution
1 parent 9b039ad commit 7877cfe

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

src/main/scala/analysis/data_structure_analysis/IntervalDSA.scala

+2-1
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ class IntervalGraph(
188188
callTransfer(phase, dcc, source, target)
189189
case dcc: DirectCallConstraint if dcc.target.name == "indirect_call_launchpad" =>
190190
resolveIndirectCall(dcc)
191-
.filterNot(proc => proc.isExternal.getOrElse(false) || proc.name.startsWith("_"))
191+
.filterNot(proc => dcc.call.parent.parent == proc || proc.isExternal.getOrElse(false) || proc.name.startsWith("_"))
192192
.foreach(proc =>
193193

194194
val (source, target) = if phase == TD then (this, graphs(proc)) else (graphs(proc), this)
@@ -238,6 +238,7 @@ class IntervalGraph(
238238
.exprToCells(sourceExpr)
239239
.map(source.find)
240240
.map(cell =>
241+
assert(cell.node.isUptoDate)
241242
val (node, offset) =
242243
target.findNode(cell.node.clone(target, true, oldToNew))
243244
if offset == 0 then node.get(cell.interval)

0 commit comments

Comments
 (0)