[llvm-commits] [llvm] r75853 - /llvm/trunk/include/llvm/Type.h
Owen Anderson
resistor at mac.com
Wed Jul 15 15:50:24 PDT 2009
Author: resistor
Date: Wed Jul 15 17:50:23 2009
New Revision: 75853
URL: http://llvm.org/viewvc/llvm-project?rev=75853&view=rev
Log:
Add an LLVMContext to Type, hardwired to the global context until Type uniquing is moved on the contexts themselves.
Modified:
llvm/trunk/include/llvm/Type.h
Modified: llvm/trunk/include/llvm/Type.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Type.h?rev=75853&r1=75852&r2=75853&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Type.h (original)
+++ llvm/trunk/include/llvm/Type.h Wed Jul 15 17:50:23 2009
@@ -12,6 +12,7 @@
#define LLVM_TYPE_H
#include "llvm/AbstractTypeUser.h"
+#include "llvm/LLVMContext.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/DataTypes.h"
#include "llvm/System/Atomic.h"
@@ -106,6 +107,9 @@
///
mutable sys::cas_flag RefCount;
+ /// Context - This refers to the LLVMContext in which this type was uniqued.
+ LLVMContext &Context;
+
const Type *getForwardedTypeInternal() const;
// Some Type instances are allocated as arrays, some aren't. So we provide
@@ -114,7 +118,8 @@
protected:
explicit Type(TypeID id) : ID(id), Abstract(false), SubclassData(0),
- RefCount(0), ForwardType(0), NumContainedTys(0),
+ RefCount(0), Context(getGlobalContext()),
+ ForwardType(0), NumContainedTys(0),
ContainedTys(0) {}
virtual ~Type() {
assert(AbstractTypeUsers.empty() && "Abstract types remain");
@@ -170,6 +175,9 @@
/// module).
void dump(const Module *Context) const;
+ /// getContext - Fetch the LLVMContext in which this type was uniqued.
+ LLVMContext &getContext() const { return Context; }
+
//===--------------------------------------------------------------------===//
// Property accessors for dealing with types... Some of these virtual methods
// are defined in private classes defined in Type.cpp for primitive types.
More information about the llvm-commits
mailing list