* Remove extraneous #includes
authorChris Lattner <sabre@nondot.org>
Fri, 6 Sep 2002 20:46:32 +0000 (20:46 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 6 Sep 2002 20:46:32 +0000 (20:46 +0000)
* Add extra argument to Function ctor to allow automatic insertion into module

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3600 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/Function.cpp

index 591bd9009f34b8bdb2ed9793fc5e941df6502a15..3ad7a66c5ced003702e47709113fafa7dd1f1b67 100644 (file)
@@ -5,13 +5,9 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "llvm/Function.h"
-#include "llvm/DerivedTypes.h"
 #include "llvm/Module.h"
-#include "llvm/GlobalVariable.h"
-#include "llvm/BasicBlock.h"
+#include "llvm/DerivedTypes.h"
 #include "llvm/iOther.h"
-#include "llvm/Argument.h"
 #include "SymbolTableListTraitsImpl.h"
 
 iplist<BasicBlock> &ilist_traits<BasicBlock>::getList(Function *F) {
@@ -51,13 +47,16 @@ void Argument::setName(const std::string &name, SymbolTable *ST) {
 
 
 Function::Function(const FunctionType *Ty, bool isInternal,
-                   const std::string &name)
+                   const std::string &name, Module *ParentModule)
   : GlobalValue(PointerType::get(Ty), Value::FunctionVal, isInternal, name) {
   BasicBlocks.setItemParent(this);
   BasicBlocks.setParent(this);
   ArgumentList.setItemParent(this);
   ArgumentList.setParent(this);
   ParentSymTab = SymTab = 0;
+
+  if (ParentModule)
+    ParentModule->getFunctionList().push_back(this);
 }
 
 Function::~Function() {