Java: Deprecate redundant basic block predicates.

This commit is contained in:
Anders Schack-Mulligen
2025-05-16 11:46:22 +02:00
parent 13c5906e7e
commit db01828717
34 changed files with 142 additions and 102 deletions

View File

@@ -146,7 +146,7 @@ signature module Semantic<LocationSig Location> {
class BasicBlock {
/** Holds if this block (transitively) dominates `otherblock`. */
predicate bbDominates(BasicBlock otherBlock);
predicate dominates(BasicBlock otherBlock);
}
/** Gets an immediate successor of basic block `bb`, if any. */

View File

@@ -205,7 +205,7 @@ module MakeUtils<LocationSig Location, Semantic<Location> Lang, DeltaSig D> {
predicate backEdge(SsaPhiNode phi, SsaVariable inp, SsaReadPositionPhiInputEdge edge) {
edge.phiInput(phi, inp) and
(
phi.getBasicBlock().bbDominates(edge.getOrigBlock()) or
phi.getBasicBlock().dominates(edge.getOrigBlock()) or
irreducibleSccEdge(edge.getOrigBlock(), phi.getBasicBlock())
)
}
@@ -227,7 +227,7 @@ module MakeUtils<LocationSig Location, Semantic<Location> Lang, DeltaSig D> {
private predicate trimmedEdge(BasicBlock pred, BasicBlock succ) {
getABasicBlockSuccessor(pred) = succ and
not succ.bbDominates(pred)
not succ.dominates(pred)
}
/**