Skip to content

Releases: google/xls

v0.0.0-5984-g5eed6363a

27 Sep 07:54
Compare
Choose a tag to compare
Make FifoConfig constexpr-constructible.

PiperOrigin-RevId: 679331734

v0.0.0-5969-ga29cae6f3

26 Sep 07:55
Compare
Choose a tag to compare
Make the default dslx stdlib path an `inline constexpr std::string_vi…

v0.0.0-5955-ge5bcb56fb

25 Sep 07:48
Compare
Choose a tag to compare
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

24 Sep 07:50
Compare
Choose a tag to compare
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

21 Sep 07:49
Compare
Choose a tag to compare
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

20 Sep 07:49
Compare
Choose a tag to compare
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

19 Sep 07:47
Compare
Choose a tag to compare
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

18 Sep 07:49
Compare
Choose a tag to compare
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

17 Sep 07:48
Compare
Choose a tag to compare
Automated Code Change

PiperOrigin-RevId: 675428592

v0.0.0-5889-ge9aa42c6b

15 Sep 07:49
Compare
Choose a tag to compare
[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