From 3d29df3e8a203b167d8071ea6f805b21db18a5af Mon Sep 17 00:00:00 2001 From: Owen Anderson Date: Wed, 8 Jul 2009 01:26:06 +0000 Subject: Push LLVMContext through GlobalVariables and IRBuilder. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74985 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/VMCore/Module.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'lib/VMCore/Module.cpp') diff --git a/lib/VMCore/Module.cpp b/lib/VMCore/Module.cpp index f057e81a64..6f3de0257e 100644 --- a/lib/VMCore/Module.cpp +++ b/lib/VMCore/Module.cpp @@ -28,17 +28,20 @@ using namespace llvm; //===----------------------------------------------------------------------===// // Methods to implement the globals and functions lists. +// NOTE: It is ok to allocate the globals used for these methods from the +// global context, because all we ever do is use them to compare for equality. // GlobalVariable *ilist_traits::createSentinel() { - GlobalVariable *Ret = new GlobalVariable(Type::Int32Ty, false, + GlobalVariable *Ret = new GlobalVariable(getGlobalContext(), + Type::Int32Ty, false, GlobalValue::ExternalLinkage); // This should not be garbage monitored. LeakDetector::removeGarbageObject(Ret); return Ret; } GlobalAlias *ilist_traits::createSentinel() { - GlobalAlias *Ret = new GlobalAlias(Type::Int32Ty, + GlobalAlias *Ret = new GlobalAlias(Type::Int32Ty, GlobalValue::ExternalLinkage); // This should not be garbage monitored. LeakDetector::removeGarbageObject(Ret); @@ -270,7 +273,8 @@ Constant *Module::getOrInsertGlobal(const std::string &Name, const Type *Ty) { if (GV == 0) { // Nope, add it GlobalVariable *New = - new GlobalVariable(Ty, false, GlobalVariable::ExternalLinkage, 0, Name); + new GlobalVariable(getContext(), Ty, false, + GlobalVariable::ExternalLinkage, 0, Name); GlobalList.push_back(New); return New; // Return the new declaration. } -- cgit v1.2.3-18-g5258