devel/esbuild: Add note for future updates
esbuild is tied to a source package used for chromium & iridium,
let chromium@ know as a courtesy to avoid breakage.
Reported by: des
Sponsored by: SkunkWerks, GmbH
[MSP430] Compute c+1 at the operand bit width in EmitCMP (#195892)
EmitCMP folds `c CMP rhs` into `rhs CMP' c+1` for four condition codes.
The `c+1` must wrap modulo the i16 operand width, but the current code
does `DAG.getConstant(C->getSExtValue() + 1, dl, MVT::i16)`:
sign-extending to `int64_t`, adding there, then handing the result to
the unsigned
`getConstant(uint64_t, ..., MVT::i16)` overload.
For constants with bit 15 set the negative `int64_t` is reinterpreted as
a huge `uint64_t`, which
trips the `isUIntN(16, val)` assertion in the APInt constructor under
`LLVM_ENABLE_ASSERTIONS` and yields an APInt with non-zero bits past its
declared width otherwise.
Switching to `DAG.getSignedConstant(C->getSExtValue() + 1, ...)` routes
through the signed `APInt` constructor, which checks `isIntN(16, val)`
and accepts the negative `c+1` produced when the high bit is set. The
four EmitCMP fold branches (SETUGE, SETULT, SETGE, SETLT) are updated
identically.
[AMDGPU] Cost of i8 vector insert/extract is free in some cases (#194991)
Reduce the cost of i8 vector insert and extract elements to avoid
scalarization in VectorCombine.
It is impossible to know during VectorCombine if an extract element will
require additional instructions or be free. There is a lot of additional context
needed to make that assessment. For example, what instructions are using
the extract elements or what other extract element index values occur. This
patch chooses some cases that likely do not require instructions, which
reduces the overall cost and avoids scalarization. Because of this chance, there
are SLP vectorization opportunities that are missed. In general, those missed
SLP vectorization cases require scalarization during code generation, and the
compiler ends up generating the same code with and without SLP vectorization.
nuageninit: modify the test to show the issue fixed inc316ec259011
Ensure the script used is invalid when parsed by libyaml which
highlight the issue revealed in PR295062
while at here validate the mode of the file is properly changed
PR: 295062
MFC After: 1 day
(cherry picked from commit 2a86992ab5019b4997ccadf7427011ba44e33c97)
nuageinit: only parse user_data as yaml when necessary
This fixes a regression introduced in cae280931c9e which prevents
user_data as a shell script to be used
PR: 295062
Reported by: Ross McKelvie <ross at exitzero.uk>
MFC After: 1 day
(cherry picked from commit c316ec259011e9e22e40eaa72d834f3bfac95c28)
nuageinit: only parse user_data as yaml when necessary
This fixes a regression introduced in cae280931c9e which prevents
user_data as a shell script to be used
PR: 295062
Reported by: Ross McKelvie <ross at exitzero.uk>
MFC After: 1 day
(cherry picked from commit c316ec259011e9e22e40eaa72d834f3bfac95c28)
nuageninit: modify the test to show the issue fixed inc316ec259011
Ensure the script used is invalid when parsed by libyaml which
highlight the issue revealed in PR295062
while at here validate the mode of the file is properly changed
PR: 295062
MFC After: 1 day
(cherry picked from commit 2a86992ab5019b4997ccadf7427011ba44e33c97)
[cmake] Forward MacOS sysroot to runtimes when not crosscompiling (#182501)
The LLVM build documentation says that setting CMAKE_OSX_SYSROOT should
be sufficient to correctly configure the sysroot, however this flag was
not forwarded to the build of runtimes: leading to failures in flang-rt
tests. https://llvm.org/docs/CMake.html#apple-osx
It is not safe to forward this flag in general because the runtime might
be cross-compiled. In this case I have tried to do this only for native
builds. My intention here is not to make the build more complex than
currently documented.
[AArch64][llvm] Add missing form for `LD64B`/`ST64B` instructions (#196301)
`LD64B` and `ST64B` are defined as follows[1]:
```
LD64B <Xt>, [<Xn|SP> {,#0}]
```
but they're missing the form that allows a zero immediate offset,
for example:
```
ld64b x2, [x13, #0]
st64b x16, [x13, #0]
```
Add support for zero immediate offsets for these instructions.
[1] https://developer.arm.com/documentation/ddi0602/2022-09/Base-Instructions/LD64B--Single-copy-Atomic-64-byte-Load-
[CaptureTracking] Compute results with and without return capture (#195857)
Currently PointerMayBeCaptured/FindEarliestEscape accept a
ReturnCaptures argument to determine whether returning the pointer
should be considered a capture. If you want to do a capture check for
both cases, you have to invoke the capture tracking API twice.
This PR instead changes the low level APIs to return a pair of capture
components, one where returns are considered non-capturing, and one
where they are considered capturing.
This is for use by https://github.com/llvm/llvm-project/pull/193939,
where AA wants both our usual captures-before (ignoring returns)
reasoning, and captures-anywhere (including returns). This will allow us
to do this in one (cached) query.
bob: Update to 0.99.4.
* Support new `summary` section in the config file to configure restricted
package inclusion, `FILE_CKSUM` entries, and compression types for the
`pkg_summary` file.
* Add `always_disk` table for dynamic WRKOBJDIR to force certain packages to
always build on disk. Useful for packages such as ansible that can use well
over 1GB of temporary space that is not reflected by the WRKDIR usage stats.
* Improve `bob rebuild` package matching logic and error messages.
* Improve `bob status` to use actual values if available rather than predicted
allocations, add a disk usage column, and a new `--sort` option.
* Ensure `bob publish -pe` sends the report email before starting the package
sync.
* Improve shutdown handling and avoid the potential for packages to be marked
[5 lines not shown]
In ipsec_common_input_cb() ensure that the packet size does not overflow
the maximum packet size before writing the value back to the IP header.
IPv4 and IPv6 have slightly different rules and so do it per AF.
OK millert@
ui: SimpleFileUploadDlg - add support for binary file uploads ( `SimpleFileUploadDlg({binary: true,...`), when set, files will be offered base64 encoded.
(cherry picked from commit 72a8f6b6f17c3bbf8967d39e6e63e4cc0ef480d7)
Revert "wireguard: sprint clean related to #10094"
This reverts commit 7c8bda9a0e7cdcc98909f2e272a7d08a466ba3cf.
This didn't add any value. But keep the explode->getValues transformation.