Home | History | Annotate | Download | only in Core

Lines Matching defs:PM

403 static const Stmt *getEnclosingParent(const Stmt *S, const ParentMap &PM) {
404 if (isa<Expr>(S) && PM.isConsumedExpr(cast<Expr>(S)))
405 return PM.getParentIgnoreParens(S);
407 const Stmt *Parent = PM.getParentIgnoreParens(S);
1327 static bool isContainedByStmt(ParentMap &PM, const Stmt *S, const Stmt *SubS) {
1331 SubS = PM.getParent(SubS);
1336 static const Stmt *getStmtBeforeCond(ParentMap &PM, const Stmt *Term,
1342 if (!isContainedByStmt(PM, Term, S))
1350 static bool isInLoopBody(ParentMap &PM, const Stmt *S, const Stmt *Term) {
1355 if (isContainedByStmt(PM, FR->getInc(), S))
1357 if (isContainedByStmt(PM, FR->getLoopVarStmt(), S))
1364 if (isContainedByStmt(PM, FS->getInc(), S))
1380 return isContainedByStmt(PM, LoopBody, S);
1516 ParentMap &PM = PDB.getParentMap();
1522 !isInLoopBody(PM,
1523 getStmtBeforeCond(PM,
1808 ParentMap &PM = PDB.getParentMap();
1816 isInLoopBody(PM, getStmtBeforeCond(PM, TermCond, N), Term);
1883 static const Stmt *getStmtParent(const Stmt *S, const ParentMap &PM) {
1888 S = PM.getParentIgnoreParens(S);
1963 const ParentMap &PM, const LocationContext *LCtx) {
1981 NextSrcContext = getEnclosingStmtLocation(InnerStmt, SM, PM, LCtx,
1994 getEnclosingStmtLocation(Dst, SM, PM, LCtx, /*allowNested=*/true);
2014 const Stmt *PrevSrcParent = getStmtParent(PrevSrc, PM);
2015 if (PrevSrcParent == getStmtParent(getLocStmt(DstContext), PM)) {
2167 ParentMap &PM) {
2223 static bool lexicalContains(ParentMap &PM,
2229 X = PM.getParent(X);
2237 ParentMap &PM) {
2258 const Stmt *endParent = PM.getParent(end);
2323 ParentMap &PM = LC->getParentMap();
2349 const Stmt *level1 = getStmtParent(s1Start, PM);
2350 const Stmt *level2 = getStmtParent(s1End, PM);
2366 const Stmt *level3 = getStmtParent(s2Start, PM);
2367 const Stmt *level4 = getStmtParent(s2End, PM);
2412 if (isa<Expr>(s1End) && PM.isConsumedExpr(cast<Expr>(s1End))) {
2427 lexicalContains(PM, s2Start, s2End) &&
2428 !lexicalContains(PM, s1End, s1Start)) {
2440 lexicalContains(PM, s1Start, s1End)) {
2482 addContextEdges(path, SM, PM, LC);
2484 removeContextCycles(path, SM, PM);
2489 removePunyEdges(path, SM, PM);