[clang][bytecode] Add `Pointer::getRootExpr()` (#216706)
Similarly to `getRootVarDecl()`, returns the expression of the base of
the pointer, if there is such an expression.
libssl: use correct alert for key_share without supported_groups
Processing the key_share extension requires a supported_groups extension.
RFC 9846, section 9.2 explicitly mandates a missing_extension alert in
this situation, so use that instead of illegal_parameter.
We do have code in tls13_client_hello_required_extensions() implementing
the requirements on extensions of the relevant paragraph of that section
with the corrrect alerts. The error in the extension processing happens
before hitting these checks in this particular case.
Reported by Tom Gouville of the tlspuffin team as part of
https://github.com/libressl/portable/issues/1279
ok jsing kenjiro
[LFI][X86] Enable bundling for the LFI target (#214111)
This enables 32-byte bundling for the LFI x86-64 target, and uses bundle
grouping for existing rewrites where appropriate.
Merge tag 'linux_kselftest-next-7.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
Pull kselftest update from Shuah Khan:
"Fix zram test failure in kernel_gte() when using dash and a spelling
error in ftrace poll test comment"
* tag 'linux_kselftest-next-7.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
selftests/zram: fix kernel_gte() for POSIX sh
selftests/ftrace: fix spelling error in poll test comment
[InstCombine] Use samesign constraints in unsigned known-bits folds (#209675)
Extracted from #209097 during review.
For a non-poison unsigned `icmp samesign`, both operands have the same
sign bit. Propagate a known sign bit between the temporary `KnownBits`
values in `foldICmpUsingKnownBits()` so the existing range folds can use
this constraint.
This enables endpoint folds in both signed halves of the integer range,
for example:
```
icmp samesign ugt i8 %x, 126 -> icmp eq i8 %x, 127
icmp samesign ult i8 %x, 127 -> icmp ne i8 %x, 127
icmp samesign ugt i8 %x, -2 -> icmp eq i8 %x, -1
```
-------------------------------
[34 lines not shown]
[Support] Remove duplicate comments in FoldingSet.cpp (NFC) (#216833)
This patch removes duplicate comments in FoldingSet.cpp.
Corresponding declarations are already documented in FoldingSet.h.
Note that LLVM Coding Standards state:
Don't duplicate the documentation comment in the header file and in
the implementation file. Put the documentation comments for public
APIs into the header file.
[ADT] Remove CRTP from FoldingSet and ContextualFoldingSet (NFC) (#216830)
This patch simplifies FoldingSet by removing CRTP from FoldingSet and
ContextualFoldingSet.
Without this patch, FoldingSetImpl uses CRTP to get FoldingSetInfo, a
custom "vtable", from FoldingSet and ContextualFoldingSet.
With this patch, we put ContextStorage as the base class of
FoldingSetImpl. FoldingSetImpl directly takes FoldingSetTrait as a
template parameter. This allows us to:
- populate FoldingSetInfo for both FoldingSet and
ContextualFoldingSet as a static constexpr variable.
- rely on the empty base optimization (EBO) on ContextStorage so that
FoldingSet incurs no memory overhead.
- turn FoldingSet and ContextualFoldingSet into simple type aliases of
[2 lines not shown]
[flang][cuda] Add option to emit different function name for alloc/free of descriptors (#216841)
This allow to call specialized functions instead of the upstream ones.
graphics/opencv: use multimedia/v4l_compat on non-CURRENT
Since video(4) et al landed in -CURRENT, the multimedia/v4l_compat
headers conflict with <sys/videoio.h> when both are present. Support
for <sys/videoio.h> is already included for NetBSD so ensure that
this path is taken during configure on -CURRENT. Also ensure that
the Linux-style unsigned int shorthand is defined for us in addition
to OpenBSD.
PR: 297454
Merge tag 'linux_kselftest-kunit-7.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
Pull kunit updates from Shuah Khan:
"Fixes and new kunit and tools, enable new configs:
- configs: enable GPIO kunit test cases in all_tests.config
- string-stream: Replace strlcat() with strscpy() and seq_buf
- configs: enable GPIO kunit test cases in all_tests.config
Documentation:
- Test config entries shouldn't select other configs
- Fix outdated FAQ entries
Add the ability to skip entire test suites and an example test suite
that can be skipped at runtime:
[13 lines not shown]
[BFI] Solve irreducible SCCs instead of splitting their headers (#215170)
c5a3139ebd0d (2014) approximates irreducible control flow by modelling
an SCC as a loop with multiple headers, and
http://reviews.llvm.org/D10348 re-distributes the loop mass across those
headers in proportion to the backedge mass each one received -- one step
of a power iteration, from an assumed split.
Package the SCC with a single representative and solve it instead.
`solveIrreducibleMass` iterates the SCC's internal chain towards its
dominant eigenvector and reads the member masses, the exits and the
circulating mass off that, so the entries' relative frequencies come out
of the solve. Power iteration rather than a relaxation of `f = e +
f*P`: the mass `e` entering the SCC is unknown here, so there is no
fixed point to relax towards, only a direction. NumHeaders, the
per-header BackedgeMass, getHeaderIndex, the isHeader binary search and
adjustLoopHeaderMass go away with the split.
Relative error against an exact rational solve has improved.
[29 lines not shown]
Merge tag 'libcrypto-tests-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux
Pull crypto library test updates from Eric Biggers:
- Add comprehensive KUnit test suites for the new AES-GCM and AES-CCM
library APIs
- Add FIPS self-tests for all the AES encryption modes. This is needed
for parity with the traditional crypto API
- Fix a couple more issues in the IRQ test helper
* tag 'libcrypto-tests-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux:
lib/crypto: aes-cmac: Use __cleanup() instead of memzero_explicit()
kunit: irq: Unregister on-stack timer and work from debugobjects
kunit: irq: Continue increasing hrtimer interval for longer
lib/crypto: tests: Add KUnit test suite for AES-GCM
lib/crypto: tests: Add KUnit test suite for AES-CCM
lib/crypto: tests: Add aead-test-template.h
[5 lines not shown]