summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/Support/ItaniumManglingCanonicalizerTest.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix a couple of mangling canonicalizer corner case bugs.Richard Smith2018-09-131-0/+17
| | | | | | | | | | | | | | | | Summary: The hash computed for an ArrayType was different when first constructed versus when later profiled due to the constructor default argument, and we were not tracking constructor / destructor variant as part of the mangled name AST, leading to incorrect equivalences. Reviewers: erik.pilkington Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D51463 llvm-svn: 342166
* Replace fancy use of initializer lists with simple functions that returnChandler Carruth2018-08-261-194/+208
| | | | | | | | | | vectors, and move this test code into an anonymous namespace. Hoping that this will avoid hitting an MSVC bug that causes it to crash and burn pretty spectacularly. Also, this degree of clever use of initializer lists seems somewhat questionable in general. ;] llvm-svn: 340702
* Allow demangler's node allocator to fail, and bail out of the entireRichard Smith2018-08-241-4/+35
| | | | | | | | | | | | | | | | demangling process when it does. Use this to support a "lookup" query for the mangling canonicalizer that does not create new nodes. This could also be used to implement demangling with a fixed-size temporary storage buffer. Reviewers: erik.pilkington Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D51003 llvm-svn: 340670
* Add data structure to form equivalence classes of mangled names.Richard Smith2018-08-241-0/+315
Summary: Given a set of equivalent name fragments, this mechanism determines whether two mangled names are equivalent. The intent is to use this for fuzzy matching of profile data against the program after certain refactorings are performed. Reviewers: erik.pilkington, dlj Subscribers: mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D50935 llvm-svn: 340663
OpenPOWER on IntegriCloud