mirror of
https://github.com/RPCS3/llvm.git
synced 2025-03-07 10:07:17 +00:00
TableGen: Remove the ResolveFirst mechanism
Summary: It is no longer used. Change-Id: I1e47267d1975d43ad43acd6347f54e958e3b6c86 Reviewers: arsenm, craig.topper, tra, MartinO Subscribers: wdng, llvm-commits Differential Revision: https://reviews.llvm.org/D43757 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@326789 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1f3e2338d9
commit
33774b4ded
@ -1288,18 +1288,6 @@ class Record {
|
||||
|
||||
bool IsAnonymous;
|
||||
|
||||
// Class-instance values can be used by other defs. For example, Struct<i>
|
||||
// is used here as a template argument to another class:
|
||||
//
|
||||
// multiclass MultiClass<int i> {
|
||||
// def Def : Class<Struct<i>>;
|
||||
//
|
||||
// These need to get fully resolved before instantiating any other
|
||||
// definitions that use them (e.g. Def). However, inside a multiclass they
|
||||
// can't be immediately resolved so we mark them ResolveFirst to fully
|
||||
// resolve them later as soon as the multiclass is instantiated.
|
||||
bool ResolveFirst = false;
|
||||
|
||||
void init();
|
||||
void checkName();
|
||||
|
||||
@ -1323,7 +1311,7 @@ public:
|
||||
Name(O.Name), Locs(O.Locs), TemplateArgs(O.TemplateArgs),
|
||||
Values(O.Values), SuperClasses(O.SuperClasses),
|
||||
TrackedRecords(O.TrackedRecords), ID(LastID++),
|
||||
IsAnonymous(O.IsAnonymous), ResolveFirst(O.ResolveFirst) { }
|
||||
IsAnonymous(O.IsAnonymous) { }
|
||||
|
||||
static unsigned getNewUID() { return LastID++; }
|
||||
|
||||
@ -1461,14 +1449,6 @@ public:
|
||||
return IsAnonymous;
|
||||
}
|
||||
|
||||
bool isResolveFirst() const {
|
||||
return ResolveFirst;
|
||||
}
|
||||
|
||||
void setResolveFirst(bool b) {
|
||||
ResolveFirst = b;
|
||||
}
|
||||
|
||||
void print(raw_ostream &OS) const;
|
||||
void dump() const;
|
||||
|
||||
|
@ -2722,12 +2722,6 @@ bool TGParser::ParseDefm(MultiClass *CurMultiClass) {
|
||||
if (ResolveMulticlassDef(*MC, CurRec, DefProto.get(), DefmLoc))
|
||||
return Error(SubClassLoc, "could not instantiate def");
|
||||
|
||||
// Defs that can be used by other definitions should be fully resolved
|
||||
// before any use.
|
||||
if (DefProto->isResolveFirst() && !CurMultiClass) {
|
||||
CurRec->resolveReferences();
|
||||
CurRec->setResolveFirst(false);
|
||||
}
|
||||
NewRecDefs.push_back(CurRec);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user