Lines Matching refs:ExprResult
669 struct ExprResult { struct in __anonb04f3f7e0211::NewGVN
674 ExprResult(const Expression *Expr, Value *ExtraDep = nullptr, in ExprResult() argument
677 ExprResult(const ExprResult &) = delete;
678 ExprResult(ExprResult &&Other) in ExprResult() function
684 ExprResult &operator=(const ExprResult &Other) = delete;
685 ExprResult &operator=(ExprResult &&Other) = delete;
687 ~ExprResult() { assert(!ExtraDep && "unhandled ExtraDep"); } in ~ExprResult() argument
691 static ExprResult none() { return {nullptr, nullptr, nullptr}; } in none() argument
692 static ExprResult some(const Expression *Expr, Value *ExtraDep = nullptr) { in some() argument
695 static ExprResult some(const Expression *Expr, in some() argument
699 static ExprResult some(const Expression *Expr, Value *ExtraDep, in some() argument
706 ExprResult createExpression(Instruction *) const;
776 ExprResult checkExprResults(Expression *, Instruction *, Value *) const;
777 ExprResult performSymbolicEvaluation(Instruction *,
784 ExprResult performSymbolicCallEvaluation(Instruction *) const;
790 ExprResult performSymbolicCmpEvaluation(Instruction *) const;
791 ExprResult performSymbolicPredicateInfoEvaluation(IntrinsicInst *) const;
848 void addAdditionalUsers(ExprResult &Res, Instruction *User) const;
1100 NewGVN::ExprResult NewGVN::checkExprResults(Expression *E, Instruction *I, in checkExprResults()
1103 return ExprResult::none(); in checkExprResults()
1113 return ExprResult::some(createConstantExpression(C)); in checkExprResults()
1119 return ExprResult::some(createVariableExpression(V)); in checkExprResults()
1125 return ExprResult::some(createVariableOrConstant(CC->getLeader()), V); in checkExprResults()
1133 return ExprResult::some(CC->getDefiningExpr(), V); in checkExprResults()
1137 return ExprResult::none(); in checkExprResults()
1143 NewGVN::ExprResult NewGVN::createExpression(Instruction *I) const { in createExpression()
1221 return ExprResult::some(E); in createExpression()
1560 NewGVN::ExprResult
1564 return ExprResult::none(); in performSymbolicPredicateInfoEvaluation()
1570 return ExprResult::none(); in performSymbolicPredicateInfoEvaluation()
1588 return ExprResult::some(createVariableOrConstant(FirstOp), in performSymbolicPredicateInfoEvaluation()
1594 return ExprResult::some(createConstantExpression(cast<Constant>(FirstOp)), in performSymbolicPredicateInfoEvaluation()
1597 return ExprResult::none(); in performSymbolicPredicateInfoEvaluation()
1601 NewGVN::ExprResult NewGVN::performSymbolicCallEvaluation(Instruction *I) const { in performSymbolicCallEvaluation()
1609 return ExprResult::some(createVariableOrConstant(ReturnedValue)); in performSymbolicCallEvaluation()
1621 return ExprResult::none(); in performSymbolicCallEvaluation()
1627 return ExprResult::none(); in performSymbolicCallEvaluation()
1630 return ExprResult::some( in performSymbolicCallEvaluation()
1635 return ExprResult::some(createCallExpression(CI, DefiningAccess)); in performSymbolicCallEvaluation()
1637 return ExprResult::some( in performSymbolicCallEvaluation()
1640 return ExprResult::none(); in performSymbolicCallEvaluation()
1841 NewGVN::ExprResult NewGVN::performSymbolicCmpEvaluation(Instruction *I) const { in performSymbolicCmpEvaluation()
1861 return ExprResult::some( in performSymbolicCmpEvaluation()
1867 return ExprResult::some( in performSymbolicCmpEvaluation()
1870 return ExprResult::some( in performSymbolicCmpEvaluation()
1930 return ExprResult::some( in performSymbolicCmpEvaluation()
1937 return ExprResult::some( in performSymbolicCmpEvaluation()
1946 return ExprResult::some( in performSymbolicCmpEvaluation()
1952 return ExprResult::some( in performSymbolicCmpEvaluation()
1965 NewGVN::ExprResult
2043 return ExprResult::none(); in performSymbolicEvaluation()
2045 return ExprResult::none(); in performSymbolicEvaluation()
2047 return ExprResult::some(E); in performSymbolicEvaluation()
2068 void NewGVN::addAdditionalUsers(ExprResult &Res, Instruction *User) const { in addAdditionalUsers()