aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/MC/MCModule.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/MC/MCModule.h')
-rw-r--r--include/llvm/MC/MCModule.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/include/llvm/MC/MCModule.h b/include/llvm/MC/MCModule.h
index c0c242c21a..63635c7478 100644
--- a/include/llvm/MC/MCModule.h
+++ b/include/llvm/MC/MCModule.h
@@ -56,6 +56,21 @@ class MCModule {
void map(MCAtom *NewAtom);
/// @}
+ /// \name Basic block tracking
+ /// @{
+ typedef std::vector<MCBasicBlock*> BBsByAtomTy;
+ BBsByAtomTy BBsByAtom;
+
+ // For access to basic block > atom tracking.
+ friend class MCBasicBlock;
+ friend class MCTextAtom;
+
+ /// \brief Keep track of \p BBBackedByAtom as being backed by \p Atom.
+ /// This is used to update succs/preds when \p Atom is split.
+ void trackBBForAtom(const MCTextAtom *Atom, MCBasicBlock *BBBackedByAtom);
+ void splitBasicBlocksForAtom(const MCTextAtom *TA, const MCTextAtom *NewTA);
+ /// @}
+
/// \name Function tracking
/// @{
typedef std::vector<MCFunction*> FunctionListTy;