[libclc] Completely remove ENABLE_RUNTIME_SUBNORMAL option (#182125)
Summary:
This isn't really used and this simplifies the code. I could go deeper
to remove this content entirely as they all return `false` but I figured
this was an easier change to do first.
---------
Co-authored-by: Wenju He <wenju.he at intel.com>
iommu_gas: Fix assertion.
placeholder entry end changed to 0 in f591287756368
("iommu_gas: make placeholder entry at the start of the GAS zero size")
Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D55326
log files: fix 'go to page' edge case and row count persistence/max
The log controller defines 5000 rows as the limit to prevent OOM
issues, however, since the front-end knows nothing about this,
setting the row count to "all" will only show the first
5000 result without a way to paginate, even if there are more
log entries. Logically, if the controller defines 5000 as a limit,
the view shouldn't allow "all" as a selection, so override it here.
Furthermore, row count "all" was a boolean, which broke the "go to page"
button. While "all" isn't allowed anymore now, we should check
if the value is a boolean regardless. Also, the grid wasn't
indexing on "rnum" properly, so the grid had no idea where to scroll
to once clicked.
[mlir][spirv] (De)serialize Offset, XfbBuffer and XfbStride decorations (#181835)
Process decorations number 35, 36 and 37 in SPIR-V deserializer and
serializer; add a simple test case.
[X86] combineSETCC - drop unnecessary shift amount bounds check for larger-than-legal ICMP_ZERO(AND(X,SHL(1,IDX))) folds (#182021)
For i128 etc. bittest patterns, we split the pattern into a i32
extraction + i32 bittest.
But we were unnecessarily limiting this to inbounds shift amounts. I
wrote this fold at the same time as narrowBitOpRMW where we needed the
bounds check for safe memory access, which isn't necessary in
combineSETCC.
Fix 2 of 2 for #147216
[RDF] Fix DenseMap reference invalidation in computePhiInfo (#182144)
In Liveness::computePhiInfo, the reference `RefMap &RUM =
RealUseMap[PA.Id]` can be invalidated when the inner loop inserts into
RealUseMap via `RealUseMap[P.first][SS.Id]`. If `P.first` is a new key,
the DenseMap may rehash, invalidating the RUM reference and any
iterators into it.
Fix by making a copy of the map value instead of holding a reference.
This is detected by _GLIBCXX_DEBUG (enabled via EXPENSIVE_CHECKS) which
tracks iterator validity on std::unordered_map (RefMap).
ObsoleteFiles: Deduplicate
Since we dropped support for profile libraries, all optional entries for
them are now non-optional. Most of them were already duplicated there,
a few were not.
MFC after: 3 days
Reviewed by: jhb, emaste
Differential Revision: https://reviews.freebsd.org/D55329
(cherry picked from commit f9f4a022a8583763903771915eafcd064184766a)
[LV] NFCI: Add RecurKind to VPPartialReductionChain (#181705)
This avoids having to pass around the RecurKind or re-figure it out from
the VPReductionPHI node.
This is useful in a follow-up PR, where we need to distinguish between a
`Sub` and `AddWithSub` recurrence, which can't be deduced from the
`ReductionBinOp` field.
[mlir][tosa] Fix dense_resource data alignment in tosa-narrow-* tests (#182253)
The alignment of int64 and float64 dense resource should be 8 and not 4
[RegisterCoalescer] Prefer copy over rematerialization when smaller
When the source register has multiple uses, compare instruction sizes
before rematerializing. If the copy is smaller than the rematerialized
instruction, prefer keeping the copy to reduce code size.
Additionally, register-to-register copies are often eliminated by
register renaming on modern out-of-order CPUs, making them effectively
free at runtime.
Added restrict to SYNOPSIS for strtok_r(), and fix broken example.
strtok_r() (and strtok() which already had it here) gained "restrict"
for their params in ISO C 99 (and then in Posix 2001).
The example code worked for the particular example given (the input
data actually used) but was hopelessly broken in general. As part
of that (but not the actual breakage), if something defines MAXTOKENS
then allow that many tokens, not one less ... add an extra slot for
the terminating NULL.
While here, update the STANDARDS section a little.
Added "restrict" to args in declaration of strtok_r()
The "restrict" was included in strtok_r() in C99 and POSIX Issue 6 (2001).
(The same time it was added to strtok()).
strtok_r() actually dates from Posix I5 (1995), not I6 (2001) as the
guard on its definition states, but after all this time, clearly no-one
cares about that.