aboutsummaryrefslogtreecommitdiff
path: root/utils/TableGen/Record.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-01-31 06:02:35 +0000
committerChris Lattner <sabre@nondot.org>2006-01-31 06:02:35 +0000
commit273d463befb26004ed5be8dc737321f65a175ad0 (patch)
treef1c59afa1864450230d8db1db93be6e3b565864f /utils/TableGen/Record.cpp
parent5def058f386faf3a0e8977fdd5c4178539d101de (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.cpp11
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();