/llvm-project/clang/include/clang/Analysis/ |
H A D | ProgramPoint.h | 58 class ProgramPoint { 101 ProgramPoint() = default; 102 ProgramPoint(const void *P, Kind k, const LocationContext *l, 113 ProgramPoint(const void *P1, const void *P2, Kind k, const LocationContext *l, 129 ProgramPoint withTag(const ProgramPointTag *tag) const { in withTag() 130 return ProgramPoint(getData1(), getData2(), getKind(), in withTag() 140 ProgramPoint& PP = t; in castAs() 151 ProgramPoint& PP = t; in getAs() 190 bool operator==(const ProgramPoint & RHS) const { 195 bool operator!=(const ProgramPoint &RHS) const { [all …]
|
/llvm-project/clang/lib/Analysis/ |
H A D | ProgramPoint.cpp | 1 //==- ProgramPoint.cpp - Program Points for Path-Sensitive Analysis -*- C++ -*-/ 9 // This file defines the interface ProgramPoint, which identifies a 14 #include "clang/Analysis/ProgramPoint.h" 23 ProgramPoint ProgramPoint::getProgramPoint(const Stmt *S, ProgramPoint::Kind K, in getProgramPoint() 28 llvm_unreachable("Unhandled ProgramPoint kind"); in getProgramPoint() 29 case ProgramPoint::PreStmtKind: in getProgramPoint() 31 case ProgramPoint::PostStmtKind: in getProgramPoint() 33 case ProgramPoint in getProgramPoint() [all...] |
H A D | CMakeLists.txt | 28 ProgramPoint.cpp
|
/llvm-project/bolt/include/bolt/Passes/ |
H A D | DataflowAnalysis.h | 40 class ProgramPoint { 51 ProgramPoint() : ID(IDTy::BB), Data((MCInst *)nullptr) {} in ProgramPoint() function 52 ProgramPoint(BinaryBasicBlock *BB) : ID(IDTy::BB), Data(BB) {} in ProgramPoint() function 53 ProgramPoint(MCInst *Inst) : ID(IDTy::Inst), Data(Inst) {} in ProgramPoint() function 58 static ProgramPoint getLastPointAt(BinaryBasicBlock &BB) { in getLastPointAt() 61 return ProgramPoint(&*Last); in getLastPointAt() 62 return ProgramPoint(&BB); in getLastPointAt() 66 static ProgramPoint getFirstPointAt(BinaryBasicBlock &BB) { in getFirstPointAt() 69 return ProgramPoint(&*First); in getFirstPointAt() 70 return ProgramPoint(&BB); in getFirstPointAt() [all …]
|
H A D | DominatorAnalysis.h | 40 SmallSetVector<ProgramPoint, 4> getDominanceFrontierFor(const MCInst &Dom) { in getDominanceFrontierFor() 41 SmallSetVector<ProgramPoint, 4> Result; in getDominanceFrontierFor() 47 SmallSetVector<ProgramPoint, 4> Candidates; in getDominanceFrontierFor() 48 this->doForAllSuccsOrPreds(BB, [&](ProgramPoint P) { in getDominanceFrontierFor() 58 if ((*this->getStateAt(ProgramPoint::getLastPointAt(BB)))[DomIdx] && in getDominanceFrontierFor() 60 Result.insert(ProgramPoint::getLastPointAt(BB)); in getDominanceFrontierFor() 73 bool doesADominateB(const MCInst &A, ProgramPoint B) { in doesADominateB() 77 bool doesADominateB(ProgramPoint A, const MCInst &B) { in doesADominateB()
|
H A D | ShrinkWrapping.h | 263 bool canInsertRegion(ProgramPoint P); 267 bool insertRegion(ProgramPoint P, int64_t RegionSz); 379 template <typename... T> void scheduleChange(ProgramPoint PP, T &&...Item) { in scheduleChange() 409 BinaryFunction *Func, SmallVector<ProgramPoint, 4> &Frontier, 419 SmallVector<ProgramPoint, 4> doRestorePlacement(MCInst *BestPosSave, 430 SmallVector<ProgramPoint, 4> 431 fixPopsPlacements(const SmallVector<ProgramPoint, 4> &RestorePoints, 441 SmallVector<ProgramPoint, 4> &RestorePoints,
|
H A D | LivenessAnalysis.h | 39 bool isAlive(ProgramPoint PP, MCPhysReg Reg) const { in isAlive() 50 MCPhysReg scavengeRegAfter(ProgramPoint P) { in scavengeRegAfter()
|
/llvm-project/mlir/include/mlir/Analysis/ |
H A D | DataFlowFramework.h | 56 struct ProgramPoint : public StorageUniquer::BaseStorage { 58 ProgramPoint(Block *parentBlock, Block::iterator pp) 62 ProgramPoint(Operation *op) : op(op) {} 69 ProgramPoint() {} 72 ProgramPoint(const ProgramPoint &point) { 78 static ProgramPoint *construct(StorageUniquer::StorageAllocator &alloc, 81 return new (alloc.allocate<ProgramPoint>()) 82 ProgramPoint(std::get<0>(key), std::get<1>(key)); 84 return new (alloc.allocate<ProgramPoint>()) ProgramPoin 153 struct ProgramPoint global() struct 160 ParentTyProgramPoint ParentTy() argument 166 ProgramPointProgramPoint ProgramPoint() argument [all...] |
/llvm-project/clang/lib/StaticAnalyzer/Core/ |
H A D | CheckerManager.cpp | 16 #include "clang/Analysis/ProgramPoint.h" 157 ProgramPoint::Kind K = IsPreVisit ? ProgramPoint::PreStmtKind : 158 ProgramPoint::PostStmtKind; 159 const ProgramPoint &L = ProgramPoint::getProgramPoint(S, K, in CheckStmtContext() 215 const ProgramPoint &L = Msg.getProgramPoint(IsPreVisit,checkFn.Checker); in runChecker() 273 const ProgramPoint &L = Call.getProgramPoint(IsPreVisit,checkFn.Checker); 320 ProgramPoint::Kind K = IsLoad ? ProgramPoint [all...] |
H A D | CoreEngine.cpp | 21 #include "clang/Analysis/ProgramPoint.h" 182 void CoreEngine::dispatchWorkItem(ExplodedNode* Pred, ProgramPoint Loc, in dispatchWorkItem() 186 case ProgramPoint::BlockEdgeKind: in dispatchWorkItem() 190 case ProgramPoint::BlockEntranceKind: in dispatchWorkItem() 194 case ProgramPoint::BlockExitKind: in dispatchWorkItem() 198 case ProgramPoint::CallEnterKind: in dispatchWorkItem() 202 case ProgramPoint::CallExitBeginKind: in dispatchWorkItem() 206 case ProgramPoint::EpsilonKind: { in dispatchWorkItem() 239 ProgramPoint P = L.withTag(getDataTags().make<NoteTag>( in HandleBlockEdge() 514 void CoreEngine::generateNode(const ProgramPoint in generateNode() [all...] |
H A D | ExplodedGraph.cpp | 20 #include "clang/Analysis/ProgramPoint.h" 75 // (3) The ProgramPoint is for a PostStmt, but not a PostStore. in shouldCollect() 76 // (4) There is no 'tag' for the ProgramPoint. in shouldCollect() 101 ProgramPoint progPoint = node->getLocation(); in shouldCollect() 141 const ProgramPoint SuccLoc = succ->getLocation(); in shouldCollect() 290 ProgramPoint P = getLocation(); in getCFGBlock() 330 // FIXME: Refactor into a ProgramPoint method? in getStmtForDiagnostics() 331 ProgramPoint P = getLocation(); in getStmtForDiagnostics() 394 ExplodedNode *ExplodedGraph::getNode(const ProgramPoint &L, in getNode() 432 ExplodedNode *ExplodedGraph::createUncachedNode(const ProgramPoint in createUncachedNode() [all...] |
/llvm-project/mlir/include/mlir/Analysis/DataFlow/ |
H A D | DenseAnalysis.h | 83 LogicalResult visit(ProgramPoint *point) override; 99 const AbstractDenseLattice *getLatticeFor(ProgramPoint *dependent, 153 void visitRegionBranchOperation(ProgramPoint *point, 321 LogicalResult visit(ProgramPoint *point) override; 339 const AbstractDenseLattice *getLatticeFor(ProgramPoint *dependent, 399 void visitRegionBranchOperation(ProgramPoint *point,
|
H A D | SparseAnalysis.h | 197 LogicalResult visit(ProgramPoint *point) override; 228 const AbstractSparseLattice *getLatticeElementFor(ProgramPoint *point, 258 void visitRegionSuccessors(ProgramPoint *point, 320 const StateT *getLatticeElementFor(ProgramPoint *point, Value value) { 388 LogicalResult visit(ProgramPoint *point) override; 451 /// dependencies so that the analysis on the given ProgramPoint is re-invoked 453 const AbstractSparseLattice *getLatticeElementFor(ProgramPoint *point, 457 /// dependencies so that the analysis on the given ProgramPoint is re-invoked 460 getLatticeElementsFor(ProgramPoint *point, ValueRange values);
|
/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ |
H A D | CoreEngine.h | 20 #include "clang/Analysis/ProgramPoint.h" 102 void generateNode(const ProgramPoint &Loc, 156 void dispatchWorkItem(ExplodedNode* Pred, ProgramPoint Loc, 271 ExplodedNode *generateNodeImpl(const ProgramPoint &PP, 293 ExplodedNode *generateNode(const ProgramPoint &PP, in generateNode() 306 ExplodedNode *generateSink(const ProgramPoint &PP, in generateSink() 352 ProgramPoint &Location; 356 const NodeBuilderContext &Ctx, ProgramPoint &L) 362 const ProgramPoint &LocalLoc = (Tag ? Location.withTag(Tag) : Location); 368 const ProgramPoint [all...] |
H A D | ExplodedGraph.h | 124 const ProgramPoint Location; 138 explicit ExplodedNode(const ProgramPoint &loc, ProgramStateRef state, in ExplodedNode() 145 ProgramPoint getLocation() const { return Location; } in getLocation() 181 const ProgramPoint &Loc, in Profile() 352 ExplodedNode *getNode(const ProgramPoint &L, ProgramStateRef State, 360 ExplodedNode *createUncachedNode(const ProgramPoint &L,
|
H A D | CheckerContext.h | 33 const ProgramPoint Location; 44 const ProgramPoint &loc, 72 const ProgramPoint getLocation() const { return Location; } in getState() 143 ProgramPoint L = N->getLocation(); in getLocationRegionIfPostStore() 427 const ProgramPoint &LocalLoc = (Tag ? Location.withTag(Tag) : Location);
|
/llvm-project/bolt/lib/Passes/ |
H A D | DataflowAnalysis.cpp | 49 std::function<void(ProgramPoint)> Task) { in doForAllPreds() 53 Task(ProgramPoint::getLastPointAt(*Pred)); in doForAllPreds() 64 Task(ProgramPoint(&Inst)); in doForAllPreds() 71 std::function<void(ProgramPoint)> Task) { in doForAllSuccs() 74 Task(ProgramPoint::getFirstPointAt(*Succ)); in doForAllSuccs()
|
H A D | ShrinkWrapping.cpp | 536 bool StackLayoutModifier::canInsertRegion(ProgramPoint P) { in canInsertRegion() 558 bool StackLayoutModifier::insertRegion(ProgramPoint P, int64_t RegionSz) { in insertRegion() 907 BinaryFunction *Func, SmallVector<ProgramPoint, 4> &Frontier, in splitFrontierCritEdges() argument 941 ProgramPoint NewFrontierPP = ProgramPoint::getLastPointAt(*NewBB); in splitFrontierCritEdges() 957 SmallVector<ProgramPoint, 4> 960 SmallVector<ProgramPoint, 4> Frontier; in doRestorePlacement() 973 for (ProgramPoint &PP : Frontier) in doRestorePlacement() 979 for (ProgramPoint &PP : Frontier) { in doRestorePlacement() 996 doForAllSuccs(*FrontierBB, [&](ProgramPoint P) { in doRestorePlacement() 1022 for (ProgramPoint &PP : Frontier) { in doRestorePlacement() [all …]
|
/llvm-project/mlir/lib/Analysis/DataFlow/ |
H A D | DenseAnalysis.cpp | 47 LogicalResult AbstractDenseForwardDataFlowAnalysis::visit(ProgramPoint *point) { in visit() 99 ProgramPoint *point = getProgramPointAfter(op); in processOperation() 133 ProgramPoint *point = getProgramPointBefore(block); in visitBlock() 191 ProgramPoint *point, RegionBranchOpInterface branch, in visitRegionBranchOperation() 244 AbstractDenseForwardDataFlowAnalysis::getLatticeFor(ProgramPoint *dependent, in getLatticeFor() 274 AbstractDenseBackwardDataFlowAnalysis::visit(ProgramPoint *point) { in visit() 317 ProgramPoint *calleeEntry = getProgramPointBefore(calleeEntryBlock); in visitCallOperation() 327 ProgramPoint *point = getProgramPointBefore(op); in processOperation() 357 ProgramPoint *point = getProgramPointAfter(block); in visitBlock() 429 ProgramPoint *poin in visitRegionBranchOperation() [all...] |
H A D | SparseAnalysis.cpp | 88 AbstractSparseForwardDataFlowAnalysis::visit(ProgramPoint *point) { in visit() 252 ProgramPoint *point, RegionBranchOpInterface branch, in visitRegionSuccessors() 308 AbstractSparseForwardDataFlowAnalysis::getLatticeElementFor(ProgramPoint *point, in join() 362 AbstractSparseBackwardDataFlowAnalysis::visit(ProgramPoint *point) { in getLatticeElements() 385 ProgramPoint *point, ValueRange values) { in operandsToOpOperands() 605 ProgramPoint *point, Value value) {
|
H A D | DeadCodeAnalysis.cpp | 49 if (ProgramPoint *pp = llvm::dyn_cast_if_present<ProgramPoint *>(anchor)) { in onUpdate() 246 LogicalResult DeadCodeAnalysis::visit(ProgramPoint *point) { in visit() 393 ProgramPoint *point = in visitRegionTerminator()
|
/llvm-project/mlir/lib/Analysis/ |
H A D | DataFlowFramework.cpp | 41 void AnalysisState::addDependency(ProgramPoint *dependent, in addDependency() 57 // ProgramPoint 60 void ProgramPoint::print(raw_ostream &os) const { in print() 88 return llvm::cast<ProgramPoint *>(*this)->print(os); in initializeAndRun() 97 ProgramPoint *pp = llvm::cast<ProgramPoint *>(*this); in initializeAndRun() 161 ProgramPoint *point) {
|
/llvm-project/mlir/test/lib/Analysis/DataFlow/ |
H A D | TestDenseBackwardDataFlowAnalysis.cpp | 303 ProgramPoint *successorPoint = in runOnOperation()
|
/llvm-project/mlir/test/lib/Analysis/ |
H A D | TestDataFlowFramework.cpp | 78 LogicalResult visit(ProgramPoint *point) override; 118 LogicalResult FooAnalysis::visit(ProgramPoint *point) { in visit() 131 ProgramPoint *point = getProgramPointBefore(block); in visitBlock() 144 ProgramPoint *point = getProgramPointAfter(op);
|
/llvm-project/llvm/utils/gn/secondary/clang/lib/Analysis/ |
H A D | BUILD.gn | 34 "ProgramPoint.cpp",
|