diff options
author | David Greene <greened@obbligato.org> | 2011-09-30 20:59:49 +0000 |
---|---|---|
committer | David Greene <greened@obbligato.org> | 2011-09-30 20:59:49 +0000 |
commit | 74ce80f34ebc5aa6c968e4b33111fade1572f3c0 (patch) | |
tree | 74303a2dc41d34b97477ed9ab166ff5243cbcbcb | |
parent | 0bd4e1b8c9481d8fac4ae5abe335f8e1870b0e01 (diff) | |
download | bcm5719-llvm-74ce80f34ebc5aa6c968e4b33111fade1572f3c0.tar.gz bcm5719-llvm-74ce80f34ebc5aa6c968e4b33111fade1572f3c0.zip |
Implement VarListElementInit:: resolveListElementReference
Implement VarListElementInit:: resolveListElementReference so that
lists of lists can be indexed.
llvm-svn: 140882
-rw-r--r-- | llvm/utils/TableGen/Record.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/llvm/utils/TableGen/Record.cpp b/llvm/utils/TableGen/Record.cpp index 8c47888dbed..3d42a5233cf 100644 --- a/llvm/utils/TableGen/Record.cpp +++ b/llvm/utils/TableGen/Record.cpp @@ -1443,8 +1443,16 @@ Init *VarListElementInit::resolveBitReference(Record &R, const RecordVal *RV, Init *VarListElementInit:: resolveListElementReference(Record &R, const RecordVal *RV, unsigned Elt) const { - // FIXME: This should be implemented, to support references like: - // int B = AA[0][1]; + Init *Result = TI->resolveListElementReference(R, RV, Element); + + if (Result) { + TypedInit *TInit = dynamic_cast<TypedInit *>(Result); + if (TInit) { + return TInit->resolveListElementReference(R, RV, Elt); + } + return Result; + } + return 0; } |