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
|