[llvm] [VPlan] Add vputils::reconstructSSA (PR #212209)
Luke Lau via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 24 03:40:35 PDT 2026
================
@@ -1161,3 +1161,44 @@ void vputils::detail::pullOutPermutationsImpl(
}
}
}
+
+/// Implements the algorithm described in "Simple and Efficient Construction of
+/// Static Single Assignment Form" by Braun et al.
+static VPValue *reconstructSSAImpl(VPBasicBlock *VPBB,
+ DenseMap<VPBasicBlock *, VPValue *> &Defs) {
+ if (VPValue *Def = Defs.lookup(VPBB))
+ return Def;
+ // If the entry block is reached and there's still no def, then Defs is
+ // missing a definition that covers this path.
+ assert(VPBB->getNumPredecessors() && "Not all paths have def");
----------------
lukel97 wrote:
Yeah it will assert since it casts everything to a VPBasicBlock. Documented in cf604e841b5f88ea963abb03d3c2d7d719969a01
https://github.com/llvm/llvm-project/pull/212209
More information about the llvm-commits
mailing list