[Instrumentor][test] Ensure dir is writeable (#196466)
When running the test in a runner where the source directory is read
only, this test fails w/ `error: failed to open instrumentor stub
runtime file for writing: Permission denied`. Run the test in a
writeable test dir `%t` to ensure we can actually write to the current
directory.
[NFC][AMDGPU] Use a worklist and remember results in AMDGPUAttributor (#196452)
This was a recursive function with a Map to cache things that was never filled.
Now it's a worklist and the map is actually used.
Co-authored-by: Johannes Doerfert <johannes at jdoerfert.de>
x509_purp: fix doc comment for check_ca()
This comment has gotten out of sync with reality. The "I don't know..."
fallback was removed and a special case for netscape CAs was added.
Sync from the manual and add some more details.
Pointed out by Maximilian Radoy in
https://github.com/libressl/portable/issues/1274
ok kenjiro
asr regress: workaround due to removal of . from the path
Since . is no longer part of the default path, . regress.subr no longer
works. Use ${PWD}.
With this, the regress appears to mostly work except for what looks like
ordering issues and of course it isn't using bsd.regress.mk. I leave the
former to the DNS experts and the latter to the regress experts if they're
interested.
Reland [C++20] [Modules] Don't profiling the callee of CXXFoldExpr (#190732) (#195983)
Close https://github.com/llvm/llvm-project/issues/190333
For the test case, the root cause of the problem is, the compiler
thought the declaration of `operator &&` in consumer.cpp may change the
meaning of '&&' in the requrie clause of `F::operator()`. But it doesn't
make sense. Here we skip profiling the callee to solve the problem. Note
that we've already record the kind of the operator. So '&&' and '||'
won't be confused.
---
See the discussion in https://github.com/llvm/llvm-project/pull/194283
For the new found pattern that we may have other binary operator (e.g.,
operator +) in the require clause, e.g.,
```C++
[5 lines not shown]
meta-pkgs/netbsd-www: Bump libxslt dependency.
This pulls in a newer libxml2 that produces <meta charset="utf-8">
instead of <meta http-equiv="Content-Type" content="text/html;
charset=utf-8">, so that www@ committers don't ping-pong between the
new forms as long as they have up-to-date netbsd-www.
make ifconfig build without trunklacp.h
The only used part of trunklacp.h in ifconfig is LACP_STATE_BITS.
Add it to if_trunk.h so trunklacp.h can be removed.
ok dlg@
[Instrumentor] Add a global function regexp to limit the instrumentation
Only functions that match the "function_regex" will be instrumented,
or if they have the instrumentation attribute.
comms/picocom: update to version 3.1
Changes in version 3.1:
* Added the --raise-dtr and --raise-rts options, for symmetry with
--lower-dtr and --lower-rts (see manual page for details)
* Added custom baudrate support for FreeBSD, OpenBSD, and DragonflyBSD
(in additions to Linux and MacOS that were already supported)
* Better build support for custom baudrates. Now custom baudrate support
is enabled by default for some systems (for Linux, kernels > 2.6.0,
x86, and x86_64, for Intel Macs with macOS / OSX >= 10.4, and for some
BDSs).
You can always explicitly enable custom baudrate support for other
systems (see Makefile) and you can explicitly disable it, even for the
systems it is automatically enabled for (again, see Makefile).
To see if custom baudrate support is enabled in your build, run
picocom with the --help command-line option
Changes in version 3.0:
[48 lines not shown]
[Instrumentor] Add unreachable support; unreachable stack trace printing
Allow to instrument unreachable and provide a use case for stack trace
printing.
[LoongArch] Custom lowering for LSX vector sign extensions (#194325)
Custom LSX sign-extensions to combinations of `SLTI` + `VILVL` + `VILVH`
if possible.
For example, we could lower vector sext to following instructions:
```
%B = sext <4 x i16> %A to <4 x i32>
vslti.h v2, v1, 0
vilvl.h v1, v2, v1
%B = sext <4 x i32> %A to <4 x i64>
vslti.w v3, v1, 0
vilvh.w v2, v3, v1
vilvl.w v1, v3, v1
```
When these combinations is worse than convert sext to shuffle, we simply
use the latter one instead.
[flang][cuda][openacc] Reject UseDevice actual against managed/unified dummy (#196428)
After #195182 introduced the `UseDevice` attribute, a `use_device(...)`
actual was treated as compatible with **any** dummy attribute. Combined
with the matching distance returning ∞ for `UseDevice →
managed/unified`, this caused generic resolution to misreport a clean
"no match" as an **ambiguity** when only managed/unified specifics
existed.
This PR tightens `AreCompatibleCUDADataAttrs`: a `UseDevice` actual is
only compatible with a `Device` dummy or a host (no-attribute) dummy.
Other attributes (`Managed`, `Unified`, `Pinned`, ...) require their
actual to live in that specific kind of memory.
[msan] Handle fpto[us]i_sat (#196429)
This adds explicit handling for fpto[us]i_sat, similar to how the
non-saturating versions are handled.
N.B. PR #191365 lowered NEON fcvtz[us] intrinsics into fpto[us]i.sat.
There is a slight inconsistency in MSan insofar as fcvtz[us] were
handled by handleNEONVectorConvertIntrinsic(), which takes an
all-or-nothing propagation approach to the shadows (i.e., even a single
uninitialized bit will result in the corresponding integer being fully
uninitialized), while fpto[us]i were handled by propagating the shadow
unchanged. For now, we choose to have fpto[us]i_sat follow the laxer
behavior of fpto[usi. Future work may consider changing the behavior of
fpto[us]i and fpto[us]i_sat to use the all-or-nothing approach.
security/lfacme: Update to 1.0.1
There are no functional changes in this release, but the master site
and filename / distinfo have changed.
Reviewed by: arrowd
Approved by: arrowd (ports)
Differential Revision: https://reviews.freebsd.org/D56862
[mlir][reducer] Change mlir-reducer apply pattern logic (#195997)
This PR aligns the pattern application logic with the operation deletion
strategy, It indirectly achieves the separation of operation deletion
and pattern application. It also fixes a bug where trivially dead ops
within `opsInRange` was being incorrectly deleted when apply patterns.
While `opsNotInRange` grows from zero (via binary search), `opsInRange
`shrinks from the entire module down to zero. This fixes a crash where
patterns were initially applied to the whole module. If the module in
the current iteration is 'uninteresting', it gets erased. Consequently,
when the iterator increments, it fails to clone the parent iteration's
module, leading to a crash.