Releases: google/xls
Releases · google/xls
v0.0.0-5984-g5eed6363a
Make FifoConfig constexpr-constructible. PiperOrigin-RevId: 679331734
v0.0.0-5969-ga29cae6f3
Make the default dslx stdlib path an `inline constexpr std::string_vi…
v0.0.0-5955-ge5bcb56fb
Tell clang-tidy explicitly to consider code c++20. Even though the -std=c++20 makes it into the compilation DB, clang-tidy does not pick it up. So be explicit and add it to the --extra-args on invocation. Thie fixes all reported [clang-diagnostic-error] that were due to clang-tidy not recognizing c++20 constructs and also some misc-include-cleaner warnings in which it previously flagged some includes because it was tripping over some other problem in the file in question. < 21 [misc-include-cleaner] < 20 [clang-diagnostic-error] --- > 15 [misc-include-cleaner] PiperOrigin-RevId: 678427605
v0.0.0-5947-gc4c12c46e
Simplify clang-tidy and explicitly list all relevant rules. Without using wild-card options, it is easier to switch between clang-tidy versions without getting new, unexpected findings. This selective approach also reports less than the previous configuration which was mostly enabling everything, then only disabling the rules that were not helpful. Now, we're just enabling vetted helpful rules. Output of `xls/dev_tools/run-clang-tidy-cached.sh` is now a more manageable ``` --- Summary --- (details in xls_clang-tidy.out) 35 [clang-diagnostic-unused-const-variable] 22 [bugprone-argument-comment] 21 [misc-include-cleaner] 20 [clang-diagnostic-error] 15 [modernize-make-unique] 13 [performance-unnecessary-copy-initialization] 9 [clang-diagnostic-unused-function] 7 [google-default-arguments] 6 [abseil-string-find-str-contains] 5 [readability-inconsistent-declaration-parameter-name] 4 [google-readability-function-size] 4 [modernize-use-bool-literals] 3 [bugprone-use-after-move] 3 [modernize-use-equals-default] 3 [readability-container-size-empty] 2 [bugprone-dangling-handle] 2 [clang-diagnostic-thread-safety-analysis] 2 [performance-inefficient-vector-operation] 1 [google-explicit-constructor] ``` PiperOrigin-RevId: 678029545
v0.0.0-5937-g17d0d09be
Update apfloat to_int/to_uint to take advantage of xN type. xN was fixed in https://github.com/google/xls/pull/1606. PiperOrigin-RevId: 677087829
v0.0.0-5924-gb118c15f3
SimulationTarget: don't allocate global std::string objects. ... they have a non-trivial constructor. Use std::string_view instead as they are wrapping constant strings from the .rodata segment anyway. That also allows to make them constexpr. Also use designated initializers for readability. PiperOrigin-RevId: 676651162
v0.0.0-5918-g8c48bd3f9
Optimize query engines for stateless-query-engine use Many times the only query-engine in use is the stateless query engine. This can lead to quite inefficient operation as the default query engine assumes that accessing the leaf-type-trees is pretty cheap but for stateless a new one must be constructed each time. To avoid this all functions that unconditionally create a LeafTypeTree are made virtual so the stateless can override them. A few functions which previously unconditionally created a LTT were rewritten to not do so. This also updates the UnionQueryEngine to use the unioned implementations of these functions. PiperOrigin-RevId: 676170979
v0.0.0-5907-gd7bcdb1b6
Simplify sample_runner by keeping commands simple functions. Instead of a variant that keeps track of either an executable path or function, always have commands simply be functions. For calling exectubable, wrap that in a function. While at it, group the set of constants that point to the binaries in a struct for improved readability. Overall, no functional change, just readability improvements. PiperOrigin-RevId: 675752356
v0.0.0-5898-gfe1187671
Automated Code Change PiperOrigin-RevId: 675428592
v0.0.0-5889-ge9aa42c6b
[XLS] Simplify array indexing into an array operation Even if the index isn't literal, we can convert this into a Select, creating more opportunities for conditional specialization. On the other hand, if the index is literal and is out-of-bounds, then we can always select the last entry due to the clamping behavior of ArrayIndex. PiperOrigin-RevId: 674644265