Lines Matching refs:SExpr
63 static bool isIncompletePhi(const til::SExpr *E) { in isIncompletePhi()
71 til::SExpr *SExprBuilder::lookupStmt(const Stmt *S) { in lookupStmt()
180 til::SExpr *E = translate(AttrExp, Ctx); in translateAttrExpr()
198 til::SExpr *SExprBuilder::translate(const Stmt *S, CallingContext *Ctx) { in translate()
204 if (til::SExpr *E = lookupStmt(S)) in translate()
272 til::SExpr *SExprBuilder::translateDeclRefExpr(const DeclRefExpr *DRE, in translateDeclRefExpr()
301 til::SExpr *SExprBuilder::translateCXXThisExpr(const CXXThisExpr *TE, in translateCXXThisExpr()
310 static const ValueDecl *getValueDeclFromSExpr(const til::SExpr *E) { in getValueDeclFromSExpr()
322 static bool hasAnyPointerType(const til::SExpr *E) { in hasAnyPointerType()
345 til::SExpr *SExprBuilder::translateMemberExpr(const MemberExpr *ME, in translateMemberExpr()
347 til::SExpr *BE = translate(ME->getBase(), Ctx); in translateMemberExpr()
348 til::SExpr *E = new (Arena) til::SApply(BE); in translateMemberExpr()
360 til::SExpr *SExprBuilder::translateObjCIVarRefExpr(const ObjCIvarRefExpr *IVRE, in translateObjCIVarRefExpr()
362 til::SExpr *BE = translate(IVRE->getBase(), Ctx); in translateObjCIVarRefExpr()
363 til::SExpr *E = new (Arena) til::SApply(BE); in translateObjCIVarRefExpr()
373 til::SExpr *SExprBuilder::translateCallExpr(const CallExpr *CE, in translateCallExpr()
386 return const_cast<til::SExpr *>( in translateCallExpr()
392 til::SExpr *E = translate(CE->getCallee(), Ctx); in translateCallExpr()
394 til::SExpr *A = translate(Arg, Ctx); in translateCallExpr()
400 til::SExpr *SExprBuilder::translateCXXMemberCallExpr( in translateCXXMemberCallExpr()
415 til::SExpr *SExprBuilder::translateCXXOperatorCallExpr( in translateCXXOperatorCallExpr()
429 til::SExpr *SExprBuilder::translateUnaryOperator(const UnaryOperator *UO, in translateUnaryOperator()
478 til::SExpr *SExprBuilder::translateBinOp(til::TIL_BinaryOpcode Op, in translateBinOp()
481 til::SExpr *E0 = translate(BO->getLHS(), Ctx); in translateBinOp()
482 til::SExpr *E1 = translate(BO->getRHS(), Ctx); in translateBinOp()
489 til::SExpr *SExprBuilder::translateBinAssign(til::TIL_BinaryOpcode Op, in translateBinAssign()
495 til::SExpr *E0 = translate(LHS, Ctx); in translateBinAssign()
496 til::SExpr *E1 = translate(RHS, Ctx); in translateBinAssign()
499 til::SExpr *CV = nullptr; in translateBinAssign()
506 til::SExpr *Arg = CV ? CV : new (Arena) til::Load(E0); in translateBinAssign()
515 til::SExpr *SExprBuilder::translateBinaryOperator(const BinaryOperator *BO, in translateBinaryOperator()
561 til::SExpr *SExprBuilder::translateCastExpr(const CastExpr *CE, in translateCastExpr()
567 til::SExpr *E0 = lookupVarDecl(DRE->getDecl()); in translateCastExpr()
571 til::SExpr *E0 = translate(CE->getSubExpr(), Ctx); in translateCastExpr()
581 til::SExpr *E0 = translate(CE->getSubExpr(), Ctx); in translateCastExpr()
586 til::SExpr *E0 = translate(CE->getSubExpr(), Ctx); in translateCastExpr()
594 til::SExpr *
597 til::SExpr *E0 = translate(E->getBase(), Ctx); in translateArraySubscriptExpr()
598 til::SExpr *E1 = translate(E->getIdx(), Ctx); in translateArraySubscriptExpr()
602 til::SExpr *
611 til::SExpr *
617 til::SExpr* SE = translate(E, Ctx); in translateDeclStmt()
635 til::SExpr *SExprBuilder::addStatement(til::SExpr* E, const Stmt *S, in addStatement()
648 til::SExpr *SExprBuilder::lookupVarDecl(const ValueDecl *VD) { in lookupVarDecl()
658 static void maybeUpdateVD(til::SExpr *E, const ValueDecl *VD) { in maybeUpdateVD()
668 til::SExpr *SExprBuilder::addVarDecl(const ValueDecl *VD, til::SExpr *E) { in addVarDecl()
677 til::SExpr *SExprBuilder::updateVarDecl(const ValueDecl *VD, til::SExpr *E) { in updateVarDecl()
681 til::SExpr *Ptr = new (Arena) til::LiteralPtr(VD); in updateVarDecl()
682 til::SExpr *St = new (Arena) til::Store(Ptr, E); in updateVarDecl()
693 void SExprBuilder::makePhiNodeVar(unsigned i, unsigned NPreds, til::SExpr *E) { in makePhiNodeVar()
697 til::SExpr *CurrE = CurrentLVarMap[i].second; in makePhiNodeVar()
798 for (til::SExpr *PE : BB->arguments()) { in mergePhiNodesBackEdge()
803 til::SExpr *E = lookupVarDecl(Ph->clangDecl()); in mergePhiNodesBackEdge()
835 til::SExpr *Lp = new (Arena) til::LiteralPtr(Pm); in enterCFG()
836 til::SExpr *Ld = new (Arena) til::Load(Lp); in enterCFG()
837 til::SExpr *V = addStatement(Ld, nullptr, Pm); in enterCFG()
884 til::SExpr *E = translate(S, nullptr); in handleStatement()
890 til::SExpr *Sf = new (Arena) til::LiteralPtr(VD); in handleDestructorCall()
891 til::SExpr *Dr = new (Arena) til::LiteralPtr(DD); in handleDestructorCall()
892 til::SExpr *Ap = new (Arena) til::Apply(Dr, Sf); in handleDestructorCall()
893 til::SExpr *E = new (Arena) til::Call(Ap); in handleDestructorCall()
914 til::SExpr *C = translate(B->getTerminatorCondition(true), nullptr); in exitCFGBlockBody()