Lines Matching refs:ExprResult
672 struct ExprResult { struct in __anonf7cb05f80211::NewGVN
677 ExprResult(const Expression *Expr, Value *ExtraDep = nullptr, in ExprResult() function
680 ExprResult(const ExprResult &) = delete;
681 ExprResult(ExprResult &&Other) in ExprResult() function
687 ExprResult &operator=(const ExprResult &Other) = delete;
688 ExprResult &operator=(ExprResult &&Other) = delete;
690 ~ExprResult() { assert(!ExtraDep && "unhandled ExtraDep"); } in ~ExprResult() argument
694 static ExprResult none() { return {nullptr, nullptr, nullptr}; } in none() argument
695 static ExprResult some(const Expression *Expr, Value *ExtraDep = nullptr) { in some() argument
698 static ExprResult some(const Expression *Expr, in some() argument
702 static ExprResult some(const Expression *Expr, Value *ExtraDep, in some() argument
709 ExprResult createExpression(Instruction *) const;
782 ExprResult checkExprResults(Expression *, Instruction *, Value *) const;
783 ExprResult performSymbolicEvaluation(Value *,
790 ExprResult performSymbolicCallEvaluation(Instruction *) const;
796 ExprResult performSymbolicCmpEvaluation(Instruction *) const;
797 ExprResult performSymbolicPredicateInfoEvaluation(IntrinsicInst *) const;
854 void addAdditionalUsers(ExprResult &Res, Instruction *User) const;
1106 NewGVN::ExprResult NewGVN::checkExprResults(Expression *E, Instruction *I, in checkExprResults()
1109 return ExprResult::none(); in checkExprResults()
1119 return ExprResult::some(createConstantExpression(C)); in checkExprResults()
1125 return ExprResult::some(createVariableExpression(V)); in checkExprResults()
1131 return ExprResult::some(createVariableOrConstant(CC->getLeader()), V); in checkExprResults()
1139 return ExprResult::some(CC->getDefiningExpr(), V); in checkExprResults()
1143 return ExprResult::none(); in checkExprResults()
1149 NewGVN::ExprResult NewGVN::createExpression(Instruction *I) const { in createExpression()
1228 return ExprResult::some(E); in createExpression()
1561 NewGVN::ExprResult
1565 return ExprResult::none(); in performSymbolicPredicateInfoEvaluation()
1571 return ExprResult::none(); in performSymbolicPredicateInfoEvaluation()
1589 return ExprResult::some(createVariableOrConstant(FirstOp), in performSymbolicPredicateInfoEvaluation()
1595 return ExprResult::some(createConstantExpression(cast<Constant>(FirstOp)), in performSymbolicPredicateInfoEvaluation()
1598 return ExprResult::none(); in performSymbolicPredicateInfoEvaluation()
1602 NewGVN::ExprResult NewGVN::performSymbolicCallEvaluation(Instruction *I) const { in performSymbolicCallEvaluation()
1610 return ExprResult::some(createVariableOrConstant(ReturnedValue)); in performSymbolicCallEvaluation()
1614 return ExprResult::some( in performSymbolicCallEvaluation()
1619 return ExprResult::some(createCallExpression(CI, DefiningAccess)); in performSymbolicCallEvaluation()
1621 return ExprResult::some( in performSymbolicCallEvaluation()
1624 return ExprResult::none(); in performSymbolicCallEvaluation()
1825 NewGVN::ExprResult NewGVN::performSymbolicCmpEvaluation(Instruction *I) const { in performSymbolicCmpEvaluation()
1845 return ExprResult::some( in performSymbolicCmpEvaluation()
1851 return ExprResult::some( in performSymbolicCmpEvaluation()
1854 return ExprResult::some( in performSymbolicCmpEvaluation()
1914 return ExprResult::some( in performSymbolicCmpEvaluation()
1921 return ExprResult::some( in performSymbolicCmpEvaluation()
1930 return ExprResult::some( in performSymbolicCmpEvaluation()
1936 return ExprResult::some( in performSymbolicCmpEvaluation()
1949 NewGVN::ExprResult
2032 return ExprResult::none(); in performSymbolicEvaluation()
2034 return ExprResult::none(); in performSymbolicEvaluation()
2037 return ExprResult::some(E); in performSymbolicEvaluation()
2058 void NewGVN::addAdditionalUsers(ExprResult &Res, Instruction *User) const { in addAdditionalUsers()