llvm with tablegen backend for capstone disassembler
Go to file
Greg Clayton 6aad81cd96 Cleanup fixed form sizes.
The fix form sizes use to have two arrays: one for 4 byte addresses and in for 8 byte addresses. The table had an issue where DW_FORM_flag_present wasn't being represented as a fixed size form because its actual size _is_ zero and zero was used to indicate the form isn't fixed in size. Any code that needed to quickly access the DWARF had to get a FixedFormSizes instance using the address byte size.

This fix cleans things up by adding a DWARFFormValue::GetFixedSize() both as a static method and as a member function on DWARFFormValue. It correctly can indicate if a form size is zero. This cleanup is a precursor to a follow up patch where I hope to speed up DWARF parsing.

I verified performance doesn't regress by loading hundreds of DWARF files and setting a breakpoint by file and line and by name in files that do not have DWARF indexes. Performance remained consistent between the two approaches.


Differential Revision: https://reviews.llvm.org/D62416

llvm-svn: 361675
2019-05-24 22:08:50 +00:00
clang Mark tests as x86. 2019-05-24 21:49:27 +00:00
clang-tools-extra [clang-tidy] In TransformerClangTidyCheck, require Explanation field. 2019-05-24 16:32:03 +00:00
compiler-rt
debuginfo-tests
libclc
libcxx
libcxxabi
libunwind
lld [COFF] De-virtualize Chunk and SectionChunk 2019-05-24 20:25:40 +00:00
lldb Cleanup fixed form sizes. 2019-05-24 22:08:50 +00:00
llgo
llvm [dwarfdump] Add flag to limit the number of parents DIEs 2019-05-24 21:11:28 +00:00
openmp
parallel-libs
polly
pstl
.arcconfig
.clang-format
.clang-tidy
.gitignore
README.md

The LLVM Compiler Infrastructure

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.