[llvm] [RFC] implement convergence control in MIR using SelectionDAG (PR #71785)

Sameer Sahasrabuddhe via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 7 03:45:13 PST 2024


================
@@ -61,12 +62,16 @@ void GenericConvergenceVerifier<ContextT>::visit(const BlockT &BB) {
 
 template <class ContextT>
 void GenericConvergenceVerifier<ContextT>::visit(const InstructionT &I) {
-  auto ID = ContextT::getIntrinsicID(I);
+  ConvOpKind ConvOp = getConvOp(I);
+  if (!TokensAllowed) {
----------------
ssahasra wrote:

`TokensAllowed` is needed here because the generic template cannot make checks specific to MIR. The caller has to check for conditions like "has SSA form" and pass it to the generic implementation instead. We could just call it "isSSA", but in #67006 for GMIR, we also check for `Property::Selected` although I can't remember why.

https://github.com/llvm/llvm-project/pull/71785


More information about the llvm-commits mailing list