Lines Matching refs:root

159 buildPredicateTree(const Pred &root,  in buildPredicateTree()  argument
164 rootNode->kind = getPredCombinerKind(root); in buildPredicateTree()
165 rootNode->predicate = &root; in buildPredicateTree()
166 if (!root.isCombined()) { in buildPredicateTree()
167 rootNode->expr = root.getCondition(); in buildPredicateTree()
176 const auto &substPred = static_cast<const SubstLeavesPred &>(root); in buildPredicateTree()
182 const auto &concatPred = static_cast<const ConcatPred &>(root); in buildPredicateTree()
190 auto combined = static_cast<const CombinedPred &>(root); in buildPredicateTree()
316 static std::string getCombinedCondition(const PredNode &root) { in getCombinedCondition() argument
318 if (root.kind == PredCombinerKind::Leaf) in getCombinedCondition()
319 return root.expr; in getCombinedCondition()
320 if (root.kind == PredCombinerKind::True) in getCombinedCondition()
322 if (root.kind == PredCombinerKind::False) in getCombinedCondition()
327 childExpressions.reserve(root.children.size()); in getCombinedCondition()
328 for (const auto &child : root.children) in getCombinedCondition()
332 if (root.kind == PredCombinerKind::And) in getCombinedCondition()
334 if (root.kind == PredCombinerKind::Or) in getCombinedCondition()
336 if (root.kind == PredCombinerKind::Not) in getCombinedCondition()
338 if (root.kind == PredCombinerKind::Concat) { in getCombinedCondition()
341 return root.prefix + childExpressions.front() + root.suffix; in getCombinedCondition()
345 if (root.kind == PredCombinerKind::SubstLeaves) { in getCombinedCondition()
351 llvm::PrintFatalError(root.predicate->getLoc(), "unsupported predicate kind"); in getCombinedCondition()