Lines Matching defs:predicate
66 assert(!isNull() && "null predicate does not have a condition");
92 // Kinds of nodes in a logical predicate tree.
105 // A node in a logical predicate tree.
108 const Pred *predicate;
118 // Get a predicate tree node kind based on the kind used in the predicate
156 // Build the predicate tree starting from the top-level predicate, which may
167 rootNode->predicate = &root;
174 // If the current combined predicate is a leaf substitution, append it to the
182 // If the current predicate is a ConcatPred, record the prefix and suffix.
201 // Simplify a predicate tree rooted at "node" using the predicates that are
210 // If the current predicate is known to be true or false, change the kind of
212 if (knownTruePreds.count(node->predicate) != 0) {
217 if (knownFalsePreds.count(node->predicate) != 0) {
225 // still point to the original predicate records. While the original
226 // predicate may be known to be true or false, it is not necessarily the case
256 // First, simplify the child. This maintains the predicate as it was.
268 // immediately collapse this predicate to a known value, and which others
285 collapseList.count(simplifiedChild->predicate) != 0) {
291 eraseList.count(simplifiedChild->predicate) != 0) {
299 // Combine a list of predicate expressions using a binary combiner. If a list
320 // Prepend negation to the only condition in the predicate expression list.
322 assert(children.size() == 1 && "expected exactly one child predicate of Neg");
326 // Recursively traverse the predicate tree in depth-first post-order and build
343 // Combine the expressions based on the predicate node kind.
359 "substitution predicate must have one child");
363 llvm::PrintFatalError(root.predicate->getLoc(), "unsupported predicate kind");