Lines Matching refs:Mutation
96 const std::pair<unsigned, LLT> &Mutation) { in hasNoSimpleLoops() argument
106 return Q.Types[Mutation.first] != Mutation.second; in hasNoSimpleLoops()
114 std::pair<unsigned, LLT> Mutation) { in mutationIsSane() argument
121 if (!Mutation.second.isValid()) in mutationIsSane()
124 const unsigned TypeIdx = Mutation.first; in mutationIsSane()
126 const LLT NewTy = Mutation.second; in mutationIsSane()
197 std::pair<unsigned, LLT> Mutation = Rule.determineMutation(Query); in apply() local
199 << Mutation.first << ", " << Mutation.second << "\n"); in apply()
200 assert(mutationIsSane(Rule, Query, Mutation) && in apply()
202 assert(hasNoSimpleLoops(Rule, Query, Mutation) && "Simple loop detected"); in apply()
203 return {Rule.getAction(), Mutation.first, Mutation.second}; in apply()