Lines Matching refs:Job
12184 struct Job {
12189 Job() = default;
12190 Job(Job &&) = default;
12200 SmallVector<Job, 16> Queue;
12270 Queue.back().Kind = Job::AnyExprKind;
12429 Job &job = Queue.back();
12431 switch (job.Kind) {
12432 case Job::AnyExprKind: {
12433 if (const BinaryOperator *Bop = dyn_cast<BinaryOperator>(job.E)) {
12435 job.Kind = Job::BinOpKind;
12441 EvaluateExpr(job.E, Result);
12446 case Job::BinOpKind: {
12447 const BinaryOperator *Bop = cast<BinaryOperator>(job.E);
12454 job.startSpeculativeEval(Info);
12455 job.LHSResult.swap(Result);
12456 job.Kind = Job::BinOpVisitedLHSKind;
12461 case Job::BinOpVisitedLHSKind: {
12462 const BinaryOperator *Bop = cast<BinaryOperator>(job.E);
12465 Result.Failed = !VisitBinOp(job.LHSResult, RHS, Bop, Result.Val);
12471 llvm_unreachable("Invalid Job::Kind!");