History log of /external/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
03406c4f15b3bf0522763fe848cd40f9598b74e8 11-May-2013 Benjamin Kramer <benny.kra@googlemail.com> StringRefize some debug accel table bits.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp
1ced208be9cab0f994c5df9000da36bc313b2507 09-Jan-2013 Eric Christopher <echristo@gmail.com> Last in the series of removing unnecessary '0' arguments for
address space. Reordered the EmitULEB128IntValue arguments to
make this easier.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171949 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp
72c1655e0af6c87ffe687bed1f4ed263b1165c06 20-Dec-2012 Eric Christopher <echristo@gmail.com> Whitespace and 80-column cleanup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170771 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp
2e5d870b384f7cc20ba040e827d54fa473f60800 20-Dec-2012 Eric Christopher <echristo@gmail.com> Start splitting out the debug string section handling by moving it
into the DwarfUnits class.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170770 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f 03-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Use the new script to sort the includes of every file under lib.

Sooooo many of these had incorrect or strange main module includes.
I have manually inspected all of these, and fixed the main module
include to be the nearest plausible thing I could find. If you own or
care about any of these source files, I encourage you to take some time
and check that these edits were sensible. I can't have broken anything
(I strictly added headers, and reordered them, never removed), but they
may not be the headers you'd really like to identify as containing the
API being implemented.

Many forward declarations and missing includes were added to a header
files to allow them to parse cleanly when included first. The main
module rule does in fact have its merits. =]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp
2d65efed5357ff1768e0462feffc910809ed1b62 09-Oct-2012 Eric Christopher <echristo@gmail.com> Fix up comment to be more clear.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165463 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp
36c38b81f0938974c0b1b5fde0b838d51466a94f 13-Apr-2012 Benjamin Kramer <benny.kra@googlemail.com> Reduce malloc traffic in DwarfAccelTable

- Don't copy offsets into HashData, the underlying vector won't change once the table is finalized.
- Allocate HashData and HashDataContents in a BumpPtrAllocator.
- Allocate string map entries in the same allocator.
- Random cleanups.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154694 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp
be3f051c49699a86d526833d7dbe95645680a340 26-Mar-2012 Benjamin Kramer <benny.kra@googlemail.com> No need to do an expensive stable sort for a bunch of integers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153438 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp
f1d0f7781e766df878bec4e7977fa3204374f394 26-Mar-2012 Craig Topper <craig.topper@gmail.com> Prune some includes and forward declarations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153429 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp
2dd674fdce68f8fd59d78a3bbab2cf5b8d220290 17-Jan-2012 David Blaikie <dblaikie@gmail.com> Removing unused default switch cases in switches over enums that already account for all enumeration values explicitly.

(This time I believe I've checked all the -Wreturn-type warnings from GCC & added the couple of llvm_unreachables necessary to silence them. If I've missed any, I'll happily fix them as soon as I know about them)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148262 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp
547abbb40bc9d986446fa493b0caae5ed1f346f2 07-Jan-2012 Eric Christopher <echristo@apple.com> Use -> instead of (*iter).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147693 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp
7eabae3f50d43af1b76f2bcc5ac6c47700d12b8b 06-Jan-2012 Eric Christopher <echristo@apple.com> Fix a leak I noticed while reviewing the accelerator table changes. Passes
lldb testsuite.

rdar://10652330

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147673 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp
c36145f19c1e164f7d630b813e9970600d8f2976 06-Jan-2012 Eric Christopher <echristo@apple.com> As part of the ongoing work in finalizing the accelerator tables, extend
the debug type accelerator tables to contain the tag and a flag
stating whether or not a compound type is a complete type.

rdar://10652330

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147651 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp
8368f74c434db60c36a4044dfe80d4abee49ce27 16-Nov-2011 Eric Christopher <echristo@apple.com> Stabilize the output of the dwarf accelerator tables. Fixes a comparison
failure during bootstrap with it turned on.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144731 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp
0ffe2b4dd6f26fa19827f85bf9e4a766539a859c 10-Nov-2011 Eric Christopher <echristo@apple.com> Rework adding function names to the dwarf accelerator tables, allow
multiple dies per function and support C++ basenames.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp
30b4d8b83b7b3995ac1b53f35d3110d48676b187 08-Nov-2011 Eric Christopher <echristo@apple.com> A few more places where we can avoid multiple size queries.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144099 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp
ec8ffc29c04e5e11d8637f1ba1df67d97bafb499 08-Nov-2011 Eric Christopher <echristo@apple.com> Don't evaluate Data.size() on every iteration.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144095 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp
e77546c3c3634863a79ffc3adea52882685db454 07-Nov-2011 Eric Christopher <echristo@apple.com> Simple destructor to delete the hash data we created earlier.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144023 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp
c545322c276f933759e4140027e5f84e480d15d6 07-Nov-2011 Eric Christopher <echristo@apple.com> Avoid the use of a local temporary for comment twines.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143974 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp
76a4e1a0682c8e855f8b7c0a05d802dce8c07d7a 07-Nov-2011 Eric Christopher <echristo@apple.com> Remove unnecessary addition to API. Replace with something much simpler.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143925 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp
bcbd3a4637f33036d05833364e180f9dfaabb67c 07-Nov-2011 Eric Christopher <echristo@apple.com> Add a new dwarf accelerator table prototype with the goal of replacing
the pubnames and pubtypes tables. LLDB can currently use this format
and a full spec is forthcoming and submission for standardization is planned.

A basic summary:

The dwarf accelerator tables are an indirect hash table optimized
for null lookup rather than access to known data. They are output into
an on-disk format that looks like this:

.-------------.
| HEADER |
|-------------|
| BUCKETS |
|-------------|
| HASHES |
|-------------|
| OFFSETS |
|-------------|
| DATA |
`-------------'

where the header contains a magic number, version, type of hash function,
the number of buckets, total number of hashes, and room for a special
struct of data and the length of that struct.

The buckets contain an index (e.g. 6) into the hashes array. The hashes
section contains all of the 32-bit hash values in contiguous memory, and
the offsets contain the offset into the data area for the particular
hash.

For a lookup example, we could hash a function name and take it modulo the
number of buckets giving us our bucket. From there we take the bucket value
as an index into the hashes table and look at each successive hash as long
as the hash value is still the same modulo result (bucket value) as earlier.
If we have a match we look at that same entry in the offsets table and
grab the offset in the data for our final match.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143921 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp