- User Since
- Jun 11 2019, 10:24 AM (66 w, 3 d)
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?
Aug 1 2019
Jul 19 2019
Jul 18 2019
Jul 16 2019
Could somebody do the commit for me? I don’t have commit access yet.
Jul 9 2019
Jun 25 2019
Jun 24 2019
Jun 18 2019
some syntax nits:
OpcodeOperandTypes  -> OpcodeOperandTypes (removed unnecessary space)
OS << "-1"; -> OS << -1; (don't use string where not necessary
Jun 15 2019
Jun 14 2019
- Fix some syntax mistakes.
- Map only records that derive from Operand and are not anonymous. This exactly matches the condition used to generate GET_INSTRINFO_OPERAND_TYPES_ENUM.