diff options
author | Chris Lattner <sabre@nondot.org> | 2001-09-09 21:02:38 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2001-09-09 21:02:38 +0000 |
commit | 82072d47436a8e150bad42c9c3bf230617d53608 (patch) | |
tree | eab556439839c220ecd118085999aba32fd4eff4 | |
parent | 14712a6abf2587666e8171cbb6ebe6ffab3ea514 (diff) |
Clean up Type class by removing mutable ConstRules member and use annotations insead
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@516 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Support/Annotation.cpp | 10 | ||||
-rw-r--r-- | lib/VMCore/Type.cpp | 1 | ||||
-rw-r--r-- | support/lib/Support/Annotation.cpp | 10 |
3 files changed, 20 insertions, 1 deletions
diff --git a/lib/Support/Annotation.cpp b/lib/Support/Annotation.cpp index fabf34b2db..65a049d42d 100644 --- a/lib/Support/Annotation.cpp +++ b/lib/Support/Annotation.cpp @@ -28,6 +28,16 @@ AnnotationID AnnotationManager::getID(const string &Name) { // Name -> ID return I->second; } +// getID - Name -> ID + registration of a factory function for demand driven +// annotation support. +AnnotationID AnnotationManager::getID(const string &Name, Factory Fact, + void *Data=0) { + AnnotationID Result(getID(Name)); + registerAnnotationFactory(Result, Fact, Data); + return Result; +} + + // getName - This function is especially slow, but that's okay because it should // only be used for debugging. // diff --git a/lib/VMCore/Type.cpp b/lib/VMCore/Type.cpp index 033ca952c4..87fa581a57 100644 --- a/lib/VMCore/Type.cpp +++ b/lib/VMCore/Type.cpp @@ -29,7 +29,6 @@ Type::Type(const string &name, PrimitiveID id) setDescription(name); ID = id; Abstract = false; - ConstRulesImpl = 0; UID = CurUID++; // Assign types UID's as they are created UIDMappings.push_back(this); } diff --git a/support/lib/Support/Annotation.cpp b/support/lib/Support/Annotation.cpp index fabf34b2db..65a049d42d 100644 --- a/support/lib/Support/Annotation.cpp +++ b/support/lib/Support/Annotation.cpp @@ -28,6 +28,16 @@ AnnotationID AnnotationManager::getID(const string &Name) { // Name -> ID return I->second; } +// getID - Name -> ID + registration of a factory function for demand driven +// annotation support. +AnnotationID AnnotationManager::getID(const string &Name, Factory Fact, + void *Data=0) { + AnnotationID Result(getID(Name)); + registerAnnotationFactory(Result, Fact, Data); + return Result; +} + + // getName - This function is especially slow, but that's okay because it should // only be used for debugging. // |