diff options
Diffstat (limited to 'llvm/lib/MC/MCFunction.cpp')
-rw-r--r-- | llvm/lib/MC/MCFunction.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/lib/MC/MCFunction.cpp b/llvm/lib/MC/MCFunction.cpp index cb2504668a3..5011d5fd6b8 100644 --- a/llvm/lib/MC/MCFunction.cpp +++ b/llvm/lib/MC/MCFunction.cpp @@ -30,6 +30,18 @@ MCBasicBlock &MCFunction::createBlock(const MCTextAtom &TA) { return *Blocks.back(); } +const MCBasicBlock *MCFunction::find(uint64_t StartAddr) const { + for (const_iterator I = begin(), E = end(); I != E; ++I) + if ((*I)->getInsts()->getBeginAddr() == StartAddr) + return (*I); + return 0; +} + +MCBasicBlock *MCFunction::find(uint64_t StartAddr) { + return const_cast<MCBasicBlock *>( + const_cast<const MCFunction *>(this)->find(StartAddr)); +} + // MCBasicBlock MCBasicBlock::MCBasicBlock(const MCTextAtom &Insts, MCFunction *Parent) |