Craig Topper
353eda484c
[C++] Use 'nullptr'.
...
llvm-svn: 207083
2014-04-24 06:44:33 +00:00
Eric Christopher
4f17ee09f9
Add support for hashing location information for CU level hashes.
...
Add a testcase based on sret.cpp where we can now hash the entire
compile unit.
llvm-svn: 203319
2014-03-08 00:29:41 +00:00
Eric Christopher
5c38b6598a
Add include guards and make public a few routines that add values
...
to the hash.
llvm-svn: 203303
2014-03-07 22:40:30 +00:00
Eric Christopher
420569be04
Add support for hashing attributes with DW_FORM_block. This required
...
passing down an AsmPrinter instance so we could compute the size of
the block which could be target specific. All of the test cases in
the unittest don't have any target specific data so we can use a NULL
AsmPrinter there. This also depends upon block data being added as
integers.
We can now hash the entire fission-cu.ll compile unit so turn the
flag on there with the hash value.
llvm-svn: 201752
2014-02-20 02:50:45 +00:00
Eric Christopher
a07e4f5b0f
Formatting and 80-col.
...
llvm-svn: 195122
2013-11-19 09:28:34 +00:00
David Blaikie
9208b5ed8e
DIEHash: Move header include to be first in the implementation file to flush out header inclusion ordering issues
...
llvm-svn: 194588
2013-11-13 18:07:27 +00:00
David Blaikie
65cc969f50
DIEHash: Summary hashing of nested types
...
llvm-svn: 193427
2013-10-25 18:38:43 +00:00
David Blaikie
2aee7be871
DIEHash: Const correct and use references where non-null/non-rebound.
...
llvm-svn: 193363
2013-10-24 18:29:03 +00:00
David Blaikie
afcb9656c3
DIEHash: Refactor ref attribute hashing into smaller functions
...
llvm-svn: 193360
2013-10-24 17:51:43 +00:00
David Blaikie
6cf58c8980
DWARF type hashing: begin implementing Step 5, summary hashing in declarable contexts
...
There are several other tag types that need similar handling but to
ensure test coverage they'll be coming incrementally.
llvm-svn: 193126
2013-10-21 22:36:50 +00:00
David Blaikie
980d4994b2
DWARF type hashing: Handle multiple (including recursive) references to the same type
...
This uses a map, keeping the type DIE numbering separate from the DIEs
themselves - alternatively we could do things the way GCC does if we
want to add an integer to the DIE type to record the numbering there.
llvm-svn: 193105
2013-10-21 18:59:40 +00:00
David Blaikie
ca353be652
DIEHash: Support for simple (non-recursive, non-reused) type references
...
llvm-svn: 192924
2013-10-17 22:07:09 +00:00
David Blaikie
6316ca45a7
DIEHash: Use DW_FORM_sdata for integers, per spec.
...
This allows us to produce the same hash as GCC for at least some simple
examples.
llvm-svn: 192855
2013-10-16 23:36:20 +00:00
Benjamin Kramer
079b96e6f7
Revert "Give internal classes hidden visibility."
...
It works with clang, but GCC has different rules so we can't make all of those
hidden. This reverts commit r190534.
llvm-svn: 190536
2013-09-11 18:05:11 +00:00
Benjamin Kramer
6a44af3629
Give internal classes hidden visibility.
...
Worth 100k on a linux/x86_64 Release+Asserts clang.
llvm-svn: 190534
2013-09-11 17:42:27 +00:00
Eric Christopher
25b7adc8ce
Add a hashing routine that handles hashing types. Add a test for
...
hashing the contents of DW_FORM_data1 on top of a type with attributes.
llvm-svn: 189862
2013-09-03 21:57:57 +00:00
Eric Christopher
b86e2ad819
Sentences end with periods.
...
llvm-svn: 189861
2013-09-03 21:57:50 +00:00
Eric Christopher
e020fa7c9c
Add the rest of the stock attributes to the attribute table.
...
This won't affect the kinds of hashes we test for as we actually
do hashing based on form and attribute. Change the fission-hash
testcase one last time to handle DW_AT_comp_dir.
llvm-svn: 189840
2013-09-03 20:00:20 +00:00
Eric Christopher
d033d6fb88
Add support for DW_FORM_dataN and DW_FORM_udata to the DIE hashing
...
algorithm. Update the split dwarf hashing testcase accordingly - this
should be the last time that the hash of an empty file changes.
llvm-svn: 189427
2013-08-28 00:10:38 +00:00
David Blaikie
d0d6fcc923
DebugInfo: Prefer references over pointers, pass by const reference for a type that will grow in the future
...
llvm-svn: 188422
2013-08-14 22:23:05 +00:00
Evgeniy Stepanov
b59d82ac66
Pass DIEHash::collectAttributes output argument by-pointer instead of by-value.
...
Before this, collectAttributes() was operating on a local object.
llvm-svn: 188254
2013-08-13 07:57:01 +00:00
Eric Christopher
d29614f98d
Add the start of DIE hashing for DWARF4 type units and split dwarf
...
CUs.
Currently only hashes the name of CUs and the names of any children,
but it's an obvious first step to show the framework. The testcase
should continue to be correct, however, as it's an empty TU.
llvm-svn: 188243
2013-08-13 01:21:55 +00:00
Eric Christopher
166294f37a
Remove empty constructor.
...
llvm-svn: 188232
2013-08-12 23:59:18 +00:00
Eric Christopher
4573198b30
Move hash computation code into a separate class and file.
...
No functional change intended.
llvm-svn: 188028
2013-08-08 23:45:55 +00:00