Lines Matching refs:EvalResult
45 EvalResult LHSResult; in evaluate()
55 EvalResult RHSResult; in evaluate()
97 class EvalResult { class in llvm::RuntimeDyldCheckerExprEval
99 EvalResult() : Value(0), ErrorMsg("") {} in EvalResult() function in llvm::RuntimeDyldCheckerExprEval::EvalResult
100 EvalResult(uint64_t Value) : Value(Value), ErrorMsg("") {} in EvalResult() function in llvm::RuntimeDyldCheckerExprEval::EvalResult
101 EvalResult(std::string ErrorMsg) in EvalResult() function in llvm::RuntimeDyldCheckerExprEval::EvalResult
130 EvalResult unexpectedToken(StringRef TokenStart, StringRef SubExpr, in unexpectedToken()
143 return EvalResult(std::move(ErrorMsg)); in unexpectedToken()
146 bool handleError(StringRef Expr, const EvalResult &R) const { in handleError()
185 EvalResult computeBinOpResult(BinOpToken Op, const EvalResult &LHSResult, in computeBinOpResult()
186 const EvalResult &RHSResult) const { in computeBinOpResult()
191 return EvalResult(LHSResult.getValue() + RHSResult.getValue()); in computeBinOpResult()
193 return EvalResult(LHSResult.getValue() - RHSResult.getValue()); in computeBinOpResult()
195 return EvalResult(LHSResult.getValue() & RHSResult.getValue()); in computeBinOpResult()
197 return EvalResult(LHSResult.getValue() | RHSResult.getValue()); in computeBinOpResult()
199 return EvalResult(LHSResult.getValue() << RHSResult.getValue()); in computeBinOpResult()
201 return EvalResult(LHSResult.getValue() >> RHSResult.getValue()); in computeBinOpResult()
222 std::pair<EvalResult, StringRef> evalDecodeOperand(StringRef Expr) const { in evalDecodeOperand()
231 EvalResult(("Cannot decode unknown symbol '" + Symbol + "'").str()), in evalDecodeOperand()
239 EvalResult OpIdxExpr; in evalDecodeOperand()
253 EvalResult(("Couldn't decode instruction at '" + Symbol + "'").str()), in evalDecodeOperand()
266 return std::make_pair(EvalResult(ErrMsgStream.str()), ""); in evalDecodeOperand()
277 return std::make_pair(EvalResult(ErrMsgStream.str()), ""); in evalDecodeOperand()
280 return std::make_pair(EvalResult(Op.getImm()), RemainingExpr); in evalDecodeOperand()
289 std::pair<EvalResult, StringRef> evalNextPC(StringRef Expr, in evalNextPC()
299 EvalResult(("Cannot decode unknown symbol '" + Symbol + "'").str()), in evalNextPC()
311 EvalResult(("Couldn't decode instruction at '" + Symbol + "'").str()), in evalNextPC()
319 return std::make_pair(EvalResult(NextPC), RemainingExpr); in evalNextPC()
327 std::pair<EvalResult, StringRef> evalStubAddr(StringRef Expr, in evalStubAddr()
367 return std::make_pair(EvalResult(ErrorMsg), ""); in evalStubAddr()
369 return std::make_pair(EvalResult(StubAddr), RemainingExpr); in evalStubAddr()
372 std::pair<EvalResult, StringRef> evalSectionAddr(StringRef Expr, in evalSectionAddr()
404 return std::make_pair(EvalResult(ErrorMsg), ""); in evalSectionAddr()
406 return std::make_pair(EvalResult(StubAddr), RemainingExpr); in evalSectionAddr()
412 std::pair<EvalResult, StringRef> evalIdentifierExpr(StringRef Expr, in evalIdentifierExpr()
436 return std::make_pair(EvalResult(ErrMsg), ""); in evalIdentifierExpr()
446 return std::make_pair(EvalResult(Value), RemainingExpr); in evalIdentifierExpr()
469 std::pair<EvalResult, StringRef> evalNumberExpr(StringRef Expr) const { in evalNumberExpr()
479 return std::make_pair(EvalResult(Value), RemainingExpr); in evalNumberExpr()
485 std::pair<EvalResult, StringRef> evalParensExpr(StringRef Expr, in evalParensExpr()
488 EvalResult SubExprResult; in evalParensExpr()
505 std::pair<EvalResult, StringRef> evalLoadExpr(StringRef Expr) const { in evalLoadExpr()
511 return std::make_pair(EvalResult("Expected '{' following '*'."), ""); in evalLoadExpr()
513 EvalResult ReadSizeExpr; in evalLoadExpr()
519 return std::make_pair(EvalResult("Invalid size for dereference."), ""); in evalLoadExpr()
521 return std::make_pair(EvalResult("Missing '}' for dereference."), ""); in evalLoadExpr()
526 EvalResult LoadAddrExprResult; in evalLoadExpr()
536 EvalResult(Checker.readMemoryAtAddr(LoadAddr, ReadSize)), in evalLoadExpr()
547 std::pair<EvalResult, StringRef> evalSimpleExpr(StringRef Expr, in evalSimpleExpr()
549 EvalResult SubExprResult; in evalSimpleExpr()
553 return std::make_pair(EvalResult("Unexpected end of expression"), ""); in evalSimpleExpr()
586 std::pair<EvalResult, StringRef>
587 evalSliceExpr(const std::pair<EvalResult, StringRef> &Ctx) const { in evalSliceExpr() argument
588 EvalResult SubExprResult; in evalSliceExpr()
595 EvalResult HighBitExpr; in evalSliceExpr()
606 EvalResult LowBitExpr; in evalSliceExpr()
621 return std::make_pair(EvalResult(SlicedValue), RemainingExpr); in evalSliceExpr()
630 std::pair<EvalResult, StringRef>
631 evalComplexExpr(const std::pair<EvalResult, StringRef> &LHSAndRemaining, in evalComplexExpr() argument
633 EvalResult LHSResult; in evalComplexExpr()
651 EvalResult RHSResult; in evalComplexExpr()
660 EvalResult ThisResult(computeBinOpResult(BinOp, LHSResult, RHSResult)); in evalComplexExpr()