Move a few more convenience factory functions from Constant to LLVMContext.
[oota-llvm.git] / include / llvm / BasicBlock.h
index d0bd25a0db45a02e36bbe8b88512459c98934e70..4f4da1ca2fb65929ceb8f1054a49e9dd4dadbec1 100644 (file)
@@ -22,6 +22,7 @@
 namespace llvm {
 
 class TerminatorInst;
+class LLVMContext;
 
 template<> struct ilist_traits<Instruction>
   : public SymbolTableListTraits<Instruction, BasicBlock> {
@@ -46,7 +47,7 @@ template<> struct ilist_traits<Instruction>
   Instruction *ensureHead(Instruction*) const { return createSentinel(); }
   static void noteHead(Instruction*, Instruction*) {}
 private:
-  mutable ILIST_NODE<Instruction> Sentinel;
+  mutable ilist_node<Instruction> Sentinel;
 };
 
 /// This represents a single basic block in LLVM. A basic block is simply a
@@ -85,6 +86,10 @@ private:
   explicit BasicBlock(const std::string &Name = "", Function *Parent = 0,
                       BasicBlock *InsertBefore = 0);
 public:
+  /// getContext - Get the context in which this basic block lives,
+  /// or null if it is not currently attached to a function.
+  LLVMContext *getContext() const;
+  
   /// Instruction iterators...
   typedef InstListType::iterator                              iterator;
   typedef InstListType::const_iterator                  const_iterator;