diff options
| author | Chris Lattner <sabre@nondot.org> | 2006-01-31 06:02:35 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2006-01-31 06:02:35 +0000 |
| commit | 273d463befb26004ed5be8dc737321f65a175ad0 (patch) | |
| tree | f1c59afa1864450230d8db1db93be6e3b565864f /utils/TableGen/Record.cpp | |
| parent | 5def058f386faf3a0e8977fdd5c4178539d101de (diff) | |
implement test/Regression/TableGen/DagIntSubst.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25836 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/Record.cpp')
| -rw-r--r-- | utils/TableGen/Record.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/utils/TableGen/Record.cpp b/utils/TableGen/Record.cpp index 2a70c27e50..51014813b2 100644 --- a/utils/TableGen/Record.cpp +++ b/utils/TableGen/Record.cpp @@ -554,6 +554,17 @@ Init *FieldInit::resolveReferences(Record &R, const RecordVal *RV) { return this; } +Init *DagInit::resolveReferences(Record &R, const RecordVal *RV) { + std::vector<Init*> NewArgs; + for (unsigned i = 0, e = Args.size(); i != e; ++i) + NewArgs.push_back(Args[i]->resolveReferences(R, RV)); + + if (Args != NewArgs) + return new DagInit(NodeTypeDef, NewArgs, ArgNames); + + return this; +} + void DagInit::print(std::ostream &OS) const { OS << "(" << NodeTypeDef->getName(); |
