diff options
author | Zachary Turner <zturner@google.com> | 2017-05-08 18:38:43 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2017-05-08 18:38:43 +0000 |
commit | 1dacb242226a3f6fd45165b39b00540a6c591160 (patch) | |
tree | b7e4315d266b39e904bdec0559294d7070e9914e /llvm/lib/Transforms/Utils/InlineFunction.cpp | |
parent | 55a72b3b057c6bc20b135132090d464f60e7f536 (diff) | |
download | llvm-1dacb242226a3f6fd45165b39b00540a6c591160.zip llvm-1dacb242226a3f6fd45165b39b00540a6c591160.tar.gz llvm-1dacb242226a3f6fd45165b39b00540a6c591160.tar.bz2 |
[CodeView] Add support for random access type visitors.
Previously type visitation was done strictly sequentially, and
TypeIndexes were computed by incrementing the TypeIndex of the
last visited record. This works fine for situations like dumping,
but not when you want to visit types in random order. For example,
in a debug session someone might lookup a symbol by name, find that
it has TypeIndex 10,000 and then want to go straight to TypeIndex
10,000.
In order to make this work, the visitation framework needs a mode
where it can plumb TypeIndices through the callback pipeline. This
patch adds such a mode. In doing so, it is necessary to provide
an alternative implementation of TypeDatabase that supports random
access, so that is done as well.
Nothing actually uses these random access capabilities yet, but
this will be done in subsequent patches.
Differential Revision: https://reviews.llvm.org/D32928
llvm-svn: 302454
Diffstat (limited to 'llvm/lib/Transforms/Utils/InlineFunction.cpp')
0 files changed, 0 insertions, 0 deletions