Lines Matching refs:Address

58 std::vector<uint64_t> GraphResult::flattenAddress(uint64_t Address) const {  in flattenAddress()
61 auto It = IntermediateNodes.find(Address); in flattenAddress()
62 Addresses.push_back(Address); in flattenAddress()
90 printPairToDOT(Analysis, OS, BranchNode.Address, V); in printToDOT()
96 object::SectionedAddress Address) { in buildFlowGraph() argument
98 Result.BaseAddress = Address.Address; in buildFlowGraph()
104 if (IndirectInstructions.find(Address) == IndirectInstructions.end()) { in buildFlowGraph()
108 buildFlowGraphImpl(Analysis, OpenedNodes, Result, Address.Address, 0); in buildFlowGraph()
130 << format_hex(BranchNode.Address, 2) << ".\n"; in buildFlowsToUndefined()
199 GraphResult &Result, uint64_t Address, in buildFlowGraphImpl() argument
203 Result.OrphanedNodes.push_back(Address); in buildFlowGraphImpl()
208 if (OpenedNodes.count(Address)) in buildFlowGraphImpl()
209 Result.OrphanedNodes.push_back(Address); in buildFlowGraphImpl()
212 if (Result.IntermediateNodes.count(Address)) in buildFlowGraphImpl()
216 const auto &InstrMetaPtr = Analysis.getInstruction(Address); in buildFlowGraphImpl()
219 << format_hex(Address, 2) << ".\n"; in buildFlowGraphImpl()
220 Result.OrphanedNodes.push_back(Address); in buildFlowGraphImpl()
225 OpenedNodes.insert(Address); in buildFlowGraphImpl()
242 Result.IntermediateNodes[ParentMeta.VMAddress] = Address; in buildFlowGraphImpl()
249 Result.IntermediateNodes[ParentMeta.VMAddress] = Address; in buildFlowGraphImpl()
262 Result.IntermediateNodes[ParentMeta.VMAddress] = Address; in buildFlowGraphImpl()
270 if (BranchTarget != Address) { in buildFlowGraphImpl()
271 errs() << "Control flow to " << format_hex(Address, 2) in buildFlowGraphImpl()
275 Result.IntermediateNodes[ParentMeta.VMAddress] = Address; in buildFlowGraphImpl()
282 Result.IntermediateNodes[ParentMeta.VMAddress] = Address; in buildFlowGraphImpl()
290 << format_hex(Address, 2) << "\n."; in buildFlowGraphImpl()
291 Result.IntermediateNodes[ParentMeta.VMAddress] = Address; in buildFlowGraphImpl()
299 BranchNode.Address = ParentMeta.VMAddress; in buildFlowGraphImpl()
303 BranchNode.IndirectCFIsOnTargetPath = (BranchTarget == Address); in buildFlowGraphImpl()
305 if (BranchTarget == Address) in buildFlowGraphImpl()
306 BranchNode.Target = Address; in buildFlowGraphImpl()
308 BranchNode.Fallthrough = Address; in buildFlowGraphImpl()
328 Result.IntermediateNodes[PrevInstr->VMAddress] = Address; in buildFlowGraphImpl()
334 Result.OrphanedNodes.push_back(Address); in buildFlowGraphImpl()
336 OpenedNodes.erase(Address); in buildFlowGraphImpl()