Lines Matching refs:SExpr
64 static bool isIncompletePhi(const til::SExpr *E) { in isIncompletePhi()
72 til::SExpr *SExprBuilder::lookupStmt(const Stmt *S) { return SMap.lookup(S); } in lookupStmt()
118 til::SExpr *Self) { in translateAttrExpr()
204 til::SExpr *E = translate(AttrExp, Ctx); in translateAttrExpr()
234 til::SExpr *SExprBuilder::translate(const Stmt *S, CallingContext *Ctx) { in translate()
240 if (til::SExpr *E = lookupStmt(S)) in translate()
308 til::SExpr *SExprBuilder::translateDeclRefExpr(const DeclRefExpr *DRE, in translateDeclRefExpr()
329 return Ctx->FunArgs.get<til::SExpr *>(); in translateDeclRefExpr()
343 til::SExpr *SExprBuilder::translateCXXThisExpr(const CXXThisExpr *TE, in translateCXXThisExpr()
350 return cast<til::SExpr *>(Ctx->SelfArg); in translateCXXThisExpr()
356 static const ValueDecl *getValueDeclFromSExpr(const til::SExpr *E) { in getValueDeclFromSExpr()
368 static bool hasAnyPointerType(const til::SExpr *E) { in hasAnyPointerType()
391 til::SExpr *SExprBuilder::translateMemberExpr(const MemberExpr *ME, in translateMemberExpr()
393 til::SExpr *BE = translate(ME->getBase(), Ctx); in translateMemberExpr()
394 til::SExpr *E = new (Arena) til::SApply(BE); in translateMemberExpr()
406 til::SExpr *SExprBuilder::translateObjCIVarRefExpr(const ObjCIvarRefExpr *IVRE, in translateObjCIVarRefExpr()
408 til::SExpr *BE = translate(IVRE->getBase(), Ctx); in translateObjCIVarRefExpr()
409 til::SExpr *E = new (Arena) til::SApply(BE); in translateObjCIVarRefExpr()
419 til::SExpr *SExprBuilder::translateCallExpr(const CallExpr *CE, in translateCallExpr()
432 return const_cast<til::SExpr *>( in translateCallExpr()
438 til::SExpr *E = translate(CE->getCallee(), Ctx); in translateCallExpr()
440 til::SExpr *A = translate(Arg, Ctx); in translateCallExpr()
446 til::SExpr *SExprBuilder::translateCXXMemberCallExpr( in translateCXXMemberCallExpr()
461 til::SExpr *SExprBuilder::translateCXXOperatorCallExpr( in translateCXXOperatorCallExpr()
475 til::SExpr *SExprBuilder::translateUnaryOperator(const UnaryOperator *UO, in translateUnaryOperator()
524 til::SExpr *SExprBuilder::translateBinOp(til::TIL_BinaryOpcode Op, in translateBinOp()
527 til::SExpr *E0 = translate(BO->getLHS(), Ctx); in translateBinOp()
528 til::SExpr *E1 = translate(BO->getRHS(), Ctx); in translateBinOp()
535 til::SExpr *SExprBuilder::translateBinAssign(til::TIL_BinaryOpcode Op, in translateBinAssign()
541 til::SExpr *E0 = translate(LHS, Ctx); in translateBinAssign()
542 til::SExpr *E1 = translate(RHS, Ctx); in translateBinAssign()
545 til::SExpr *CV = nullptr; in translateBinAssign()
552 til::SExpr *Arg = CV ? CV : new (Arena) til::Load(E0); in translateBinAssign()
561 til::SExpr *SExprBuilder::translateBinaryOperator(const BinaryOperator *BO, in translateBinaryOperator()
607 til::SExpr *SExprBuilder::translateCastExpr(const CastExpr *CE, in translateCastExpr()
613 til::SExpr *E0 = lookupVarDecl(DRE->getDecl()); in translateCastExpr()
617 til::SExpr *E0 = translate(CE->getSubExpr(), Ctx); in translateCastExpr()
627 til::SExpr *E0 = translate(CE->getSubExpr(), Ctx); in translateCastExpr()
632 til::SExpr *E0 = translate(CE->getSubExpr(), Ctx); in translateCastExpr()
640 til::SExpr *
643 til::SExpr *E0 = translate(E->getBase(), Ctx); in translateArraySubscriptExpr()
644 til::SExpr *E1 = translate(E->getIdx(), Ctx); in translateArraySubscriptExpr()
648 til::SExpr *
657 til::SExpr *
663 til::SExpr* SE = translate(E, Ctx); in translateDeclStmt()
681 til::SExpr *SExprBuilder::addStatement(til::SExpr* E, const Stmt *S, in addStatement()
694 til::SExpr *SExprBuilder::lookupVarDecl(const ValueDecl *VD) { in lookupVarDecl()
704 static void maybeUpdateVD(til::SExpr *E, const ValueDecl *VD) { in maybeUpdateVD()
714 til::SExpr *SExprBuilder::addVarDecl(const ValueDecl *VD, til::SExpr *E) { in addVarDecl()
723 til::SExpr *SExprBuilder::updateVarDecl(const ValueDecl *VD, til::SExpr *E) { in updateVarDecl()
727 til::SExpr *Ptr = new (Arena) til::LiteralPtr(VD); in updateVarDecl()
728 til::SExpr *St = new (Arena) til::Store(Ptr, E); in updateVarDecl()
739 void SExprBuilder::makePhiNodeVar(unsigned i, unsigned NPreds, til::SExpr *E) { in makePhiNodeVar()
743 til::SExpr *CurrE = CurrentLVarMap[i].second; in makePhiNodeVar()
844 for (til::SExpr *PE : BB->arguments()) { in mergePhiNodesBackEdge()
849 til::SExpr *E = lookupVarDecl(Ph->clangDecl()); in mergePhiNodesBackEdge()
881 til::SExpr *Lp = new (Arena) til::LiteralPtr(Pm); in enterCFG()
882 til::SExpr *Ld = new (Arena) til::Load(Lp); in enterCFG()
883 til::SExpr *V = addStatement(Ld, nullptr, Pm); in enterCFG()
930 til::SExpr *E = translate(S, nullptr); in handleStatement()
936 til::SExpr *Sf = new (Arena) til::LiteralPtr(VD); in handleDestructorCall()
937 til::SExpr *Dr = new (Arena) til::LiteralPtr(DD); in handleDestructorCall()
938 til::SExpr *Ap = new (Arena) til::Apply(Dr, Sf); in handleDestructorCall()
939 til::SExpr *E = new (Arena) til::Call(Ap); in handleDestructorCall()
960 til::SExpr *C = translate(B->getTerminatorCondition(true), nullptr); in exitCFGBlockBody()