diff options
author | Reid Kleckner <rnk@google.com> | 2016-05-23 20:23:46 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2016-05-23 20:23:46 +0000 |
commit | d9b93cd3fefa63f897c2fda3cf2a9e76140072b0 (patch) | |
tree | 7553d2778bd9faa85d8fc5e5b49e01b784aaa7ba /include | |
parent | 14a29ca2bbc697dbe9e20ef3bd059f3568f99b65 (diff) |
Modify emitTypeInformation to use MemoryTypeTableBuilder, take 2
This effectively revers commit r270389 and re-lands r270106, but it's
almost a rewrite.
The behavior change in r270106 was that we could no longer assume that
each LF_FUNC_ID record got its own type index. This patch adds a map
from DINode* to TypeIndex, so we can stop making that assumption.
This change also emits padding bytes between type records similar to the
way MSVC does. The size of the type record includes the padding bytes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270485 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/DebugInfo/CodeView/MemoryTypeTableBuilder.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/llvm/DebugInfo/CodeView/MemoryTypeTableBuilder.h b/include/llvm/DebugInfo/CodeView/MemoryTypeTableBuilder.h index 5a3015c3eea..81635076b34 100644 --- a/include/llvm/DebugInfo/CodeView/MemoryTypeTableBuilder.h +++ b/include/llvm/DebugInfo/CodeView/MemoryTypeTableBuilder.h @@ -46,6 +46,8 @@ private: public: MemoryTypeTableBuilder() {} + bool empty() const { return Records.empty(); } + template <typename TFunc> void ForEachRecord(TFunc Func) { uint32_t Index = TypeIndex::FirstNonSimpleIndex; |