15 #ifndef LLVM_MC_MCFUNCTION_H
16 #define LLVM_MC_MCFUNCTION_H
43 typedef std::vector<const MCBasicBlock *> BasicBlockListTy;
44 BasicBlockListTy Successors;
45 BasicBlockListTy Predecessors;
91 typedef std::vector<MCBasicBlock*> BasicBlockListTy;
92 BasicBlockListTy Blocks;
120 bool empty()
const {
return Blocks.empty(); }
succ_const_iterator succ_begin() const
succ_const_iterator succ_end() const
const MCBasicBlock * front() const
bool isPredecessor(const MCBasicBlock *MCBB) const
MCBasicBlock & createBlock(const MCTextAtom &Insts)
Create an MCBasicBlock backed by Insts and add it to this function.
An atom consisting of disassembled instructions.
MCBasicBlock * getEntryBlock()
const_iterator begin() const
const MCBasicBlock * back() const
void addPredecessor(const MCBasicBlock *MCBB)
void addSuccessor(const MCBasicBlock *MCBB)
void splitBasicBlock(MCBasicBlock *SplitBB)
Split block, mirrorring NewAtom = Insts->split(..). This moves all successors to SplitBB, and adds a fallthrough to it. SplitBB The result of splitting Insts, a basic block directly following this basic block.
pred_const_iterator pred_end() const
pred_const_iterator pred_begin() const
Represents a function in machine code, containing MCBasicBlocks. MCFunctions are created by MCModule...
BasicBlockListTy::const_iterator pred_const_iterator
StringRef getName() const
BasicBlockListTy::const_iterator succ_const_iterator
const MCModule * getParent() const
bool isSuccessor(const MCBasicBlock *MCBB) const
Basic block containing a sequence of disassembled instructions. The basic block is backed by an MCTex...
#define LLVM_DELETED_FUNCTION
const_iterator end() const
const MCBasicBlock * getEntryBlock() const
A completely disassembled object file or executable. It comprises a list of MCAtom's, each representing a contiguous range of either instructions or data. An MCModule is created using MCObjectDisassembler::buildModule.
const MCTextAtom * getInsts() const
Get the backing MCTextAtom, containing the instruction sequence.
BasicBlockListTy::iterator iterator
const MCBasicBlock * find(uint64_t StartAddr) const
Find the basic block, if any, that starts at StartAddr.
BasicBlockListTy::const_iterator const_iterator
const MCFunction * getParent() const