- User Since
- Apr 18 2021, 2:38 AM (75 w, 5 d)
Aug 12 2022
Aug 11 2022
Aug 10 2022
Rebase and adjust to C++17 (static_asserts)
Aug 5 2022
Fix std::initializer_list lifetime issue in test case revealed on CI
Aug 4 2022
Rebase to last SmallVector NFC.
Rebase and fix last comment. Remove dependency to https://reviews.llvm.org/D129781 by moving relevant part of change here.
Aug 3 2022
Rebase before merging.
Aug 2 2022
Address all recent comments.
Jul 31 2022
Jul 30 2022
Jul 29 2022
Move header part to separate change, leave unit tests part.
Superseded by https://reviews.llvm.org/D130268
Extracted based on comment: https://reviews.llvm.org/D129781#3685752
Extracted based on comment: https://reviews.llvm.org/D129781#inline-1257805
Maybe I'm missing something, but is it right? It appears that only one implicit conversion in constructor is allowed: https://stackoverflow.com/questions/63320366/double-implicit-conversion-in-c
I think going from vector/array to SmallVector is ill-formed unless we explicitly create temporary ArrayRef in-between: https://godbolt.org/z/Geqbajf1x
Jul 27 2022
Jul 22 2022
Drop WIP tag.
Some cosmetic changes in tests.
Update constructor definition with explicit to avoid implicit conversions and remove ambiguity workarounds.
Adjust constructor users and add unit tests.
Jul 21 2022
Instead adding one more constructor another option is tweaking existing SmallVector(const iterator_range<RangeTy> &R) one in following way:
Jul 19 2022
Jul 18 2022
Replace to_vector_of usage with to_vector where possible, improve names in ToVectorOf test case. All comments should be addressed now.
Jul 15 2022
Remove WIP tag since overall direction seem to be fine and now all tests are passing (at least locally). Address some comments.
Jul 14 2022
Jul 13 2022
Add main one and missing operands() usage in TypeBasedAliasAnalysis
Thanks for the review! Sure, I'm gonna continue cleaning up this with to_vector_of in next patch.
Jul 12 2022
Jul 11 2022
Jul 8 2022
Jul 7 2022
Jun 24 2022
Indeed, measuring performance is tricky and chasing slow downs can be challenging especially those at the level of ~0.2%-0.1% or less.
Personally, every time when I need to use perf on Clang I follow those short guidelines to reduce noise and get relevant numbers: https://llvm.org/docs/Benchmarking.html#linux
It contains some extra information about controlling mentioned ASLR (via *randomize_va_space), SMT, cpu isolation and more.
Jun 23 2022
Disclaimer: I'm not front-end guy.
Jun 17 2022
@nikic: Thanks for the review!
Jun 12 2022
To put more context for this patch, while playing with LLVM Inliner I ended up with 2 very similar code snippets causing very different inlining decisions.
Looking at --debug-only=inline-cost output didn't help in figuring out what happened:
May 31 2022
Thanks for fixing such nasty bug. Now checking whether loop access load is not only correct but also more straightforward. Maybe it would be good to receive more comments from others but since I cannot find anything wrong with this change, it's LGTM.
May 10 2022
Thanks a lot for review!
May 9 2022
Reduce test case even further.