Lines Matching refs:Analysis
71 void printPairToDOT(const FileAnalysis &Analysis, raw_ostream &OS, in printPairToDOT() argument
74 Analysis.printInstruction(Analysis.getInstructionOrDie(From), OS); in printPairToDOT()
76 Analysis.printInstruction(Analysis.getInstructionOrDie(To), OS); in printPairToDOT()
80 void GraphResult::printToDOT(const FileAnalysis &Analysis, in printToDOT() argument
86 printPairToDOT(Analysis, OS, KV.first, KV.second); in printToDOT()
90 printPairToDOT(Analysis, OS, BranchNode.Address, V); in printToDOT()
95 GraphResult GraphBuilder::buildFlowGraph(const FileAnalysis &Analysis, in buildFlowGraph() argument
101 const auto &IndirectInstructions = Analysis.getIndirectInstructions(); in buildFlowGraph()
108 buildFlowGraphImpl(Analysis, OpenedNodes, Result, Address.Address, 0); in buildFlowGraph()
112 void GraphBuilder::buildFlowsToUndefined(const FileAnalysis &Analysis, in buildFlowsToUndefined() argument
127 NextMetaPtr = Analysis.getNextInstructionSequential(BranchInstrMeta); in buildFlowsToUndefined()
140 if (!Analysis.getMCInstrAnalysis()->evaluateBranch( in buildFlowsToUndefined()
149 NextMetaPtr = Analysis.getInstruction(Target); in buildFlowsToUndefined()
171 if (Analysis.isCFITrap(*CurrentMetaPtr)) { in buildFlowsToUndefined()
177 NextMetaPtr = Analysis.getDefiniteNextInstruction(*CurrentMetaPtr); in buildFlowsToUndefined()
193 if (Analysis.isCFITrap(*CurrentMetaPtr)) in buildFlowsToUndefined()
197 void GraphBuilder::buildFlowGraphImpl(const FileAnalysis &Analysis, in buildFlowGraphImpl() argument
216 const auto &InstrMetaPtr = Analysis.getInstruction(Address); in buildFlowGraphImpl()
227 Analysis.getDirectControlFlowXRefs(ChildMeta); in buildFlowGraphImpl()
235 Analysis.getMCInstrInfo()->get(ParentMeta.Instruction.getOpcode()); in buildFlowGraphImpl()
238 *Analysis.getRegisterInfo())) { in buildFlowGraphImpl()
240 buildFlowGraphImpl(Analysis, OpenedNodes, Result, ParentMeta.VMAddress, in buildFlowGraphImpl()
257 if (!Analysis.getMCInstrAnalysis()->evaluateBranch( in buildFlowGraphImpl()
280 buildFlowGraphImpl(Analysis, OpenedNodes, Result, ParentMeta.VMAddress, in buildFlowGraphImpl()
311 buildFlowsToUndefined(Analysis, Result, BranchNode, ParentMeta); in buildFlowGraphImpl()
326 const Instr *PrevInstr = Analysis.getPrevInstructionSequential(ChildMeta); in buildFlowGraphImpl()
327 if (PrevInstr && Analysis.willTrapOnCFIViolation(*PrevInstr)) { in buildFlowGraphImpl()