- User Since
- Jun 11 2019, 10:24 AM (158 w, 6 d)
May 16 2022
Here's what I tried to test the performance:
May 11 2022
Rebased the patch and added more description to the test check lines.
Jun 29 2021
Jun 28 2021
In the code sample in the description, is it supposed to be Feature_Subtarget2Bit for the second "if"?
Apr 16 2021
Mar 5 2021
Here's a repro for the compile error on Windows: https://godbolt.org/z/5EdWKn
Mar 4 2021
Reverted since there are some build errors on Windows bots. Here's the error log:
Mar 1 2021
Feb 25 2021
Also fixed the wrong type in the base class.
Feb 19 2021
I think this conveniently solves the TODO that I had in my in-review patch here: https://reviews.llvm.org/D78797
Feb 8 2021
Feb 4 2021
Rebased the code and cleaned up the commit message a bit.
Feb 3 2021
Some tweaks and addressing some more review comments.
- Address various review feedback (see relevant comment threads).
- Made IsSigned a template parameter.
- Moved the core logic of LEB128 encoding into its own function to better separate it from the syntactical sugar.
- Added some convenience functions for creating LEB128 input iterator ranges.
- Used these new input iterator ranges to simplify some code in FixedLenDecoderEmitter.cpp.
Rebased the patch onto main.
Jan 27 2021
Nov 25 2020
Aug 14 2020
Aug 12 2020
May 8 2020
Thanks for the comments. Added some replies.
May 7 2020
Apr 28 2020
Thanks for the review @dblaikie !
- Added some basic tests that use raw_ostream_iterator manually instead of through std::copy.
- Replaced manual calls to flush() in the test with an artificial scope (takes advantage of the fact that ~raw_string_ostream() calls flush())
- Added a test for std::copy with an empty range.
Apr 27 2020
Apr 26 2020
Abandoning this project.
Apr 24 2020
Replaced assignments of 0 with assignments of ValueT(), as a more generic way to get a zero value.
Updated comments about zext to include a mention of sext.
Rebased this patch on top of its parent commit.
Removed unnecessary inline
Refactored the encode functions more aggressively by factoring out the common logic for writing to an array or to a raw_ostream:
diff diff --git a/llvm/include/llvm/Support/LEB128.h b/llvm/include/llvm/Support/LEB128.h index 729ee5ca745..f65dc919e39 100644 --- a/llvm/include/llvm/Support/LEB128.h +++ b/llvm/include/llvm/Support/LEB128.h @@ -168,43 +168,52 @@ public: ///@} };
Added a unit test that uses the output iterator in a std algorithm, just as a sanity test that the class can indeed be used as an output iterator. The code in decode[U|S]LEB128 doesn't use the output iterator with std algorithm, so this extra test was added to get coverage for that use case.
Apr 23 2020
Forgot to include a few changes in the original diff that was posted.
The end goal of this series of patches is to support encoding/decoding APInt to/from [U|S]LEB128. This patch is an initial step in that direction. It refactors the logic to avoid code duplication and makes the interface to LEB128 decoding more generic.
This is patch is mainly useful for enabling some of the refactors that happen in the next patch here: https://reviews.llvm.org/D78796
The end goal of this series of patches is to support encoding/decoding APInt to/from [U|S]LEB128. This patch is an initial step in that direction. It refactors the logic to avoid code duplication and makes the interface to LEB128 encoding much more generic, as shown by the existing cases becoming very short.
Some example code and the commit message were showing an example of printing a vector<double>. It turns out that doubles don't print so beautifully by default, so switch the example to use int instead to avoid being misleading.
Jan 6 2020
Nov 21 2019
Nov 19 2019
Nov 18 2019
Removed the assert inside match() that made it crash when match() is called with a regex pattern that isn't successfully compiled. Also removed the "death test" unit tests that tested that this assert was triggering.
Sep 27 2019
Opened a review that just increases the const-correctness of Regex in clang: https://reviews.llvm.org/D68155
Sep 26 2019
- Added more comments to static match and static sub to clarify the return value and the error's value.
- Remove updates of "static Regex" -> "static const Regex", to do them in a future separate patch instead.
- Switch order of test lines in "ConvenienceFunctions" test.
Sep 25 2019
Sep 23 2019
friendly reminder ping
Sep 18 2019
Refactored loop over the list of vectors to avoid the tricky array/pointer loops.
Sep 11 2019
Sep 10 2019
Sep 6 2019
Added note in the comments for match and sub to explicitly note that the Error string is cleared when there is no error.
Sep 5 2019
Aug 26 2019
Aug 16 2019
Aug 9 2019
I don't have commit privileges yet. Could somebody commit this for me?