[X86] combinePCLMULQDQ - attempt to fold PCLMULQDQ(SHUFFLE(X),SHUFFLE(Y),C) -> PCLMULQDQ(X,Y,C') (#176932)
Peek through input shuffle operands and see if we can access the shuffle source directly with an adjusted PCLMULQDQ mask bit
Fixes #176880
wizard: default WAN setup to DHCP
1. Our config defaults are DHCP as well.
2. If WAN is disabled this causes a "/" to be filled, which can
be deleted but even when disabled it wants a gateway.
On a related note it would be good if the wizard would refill from
the current configuration so people could safely skip over these parts.
(cherry picked from commit 4ed30a74d1e3b975a342d540b9d61c32746ae1f7)
interfaces: move migration prefix for new settings
Error: Call to a member function applyDefault() on null
(from the Bridge model)
(cherry picked from commit b439e6484f96ecd9e91bf56f5d19307333bc2982)
linuxkpi: Take const root in read-only radix tree functions
This is a preparation step for a future addition to this file. This is
also closer to what Linux does.
Reviewed by: emaste
Sponsored by: The FreeBSD Foundation
(cherry picked from commit cf39b51d36d82214ebdfd03055d321ddd2d85274)
(cherry picked from commit c5445540995fd37c390ad371a2e95d300ee83988)
[flang][OpenMP] Fix mapping of constant arrays. (#176763)
The compiler skips mapping of named constants (parameters) to OpenMP
target regions under the assumption that constants don't need to be
mapped. This assumption is not valid when array is accessed inside with
dynamic index. The problem can be seen with the following code:
```
module fir_lowering_check
implicit none
integer, parameter :: dp = selected_real_kind(15, 307)
real(dp), parameter :: arrays(2) = (/ 0.0, 0.0 /)
contains
subroutine test(hold)
integer, intent(in) :: hold
[27 lines not shown]
[AArch64][SME] Disable tail calls in new ZA/ZT0 functions (#177152)
Allowing this can result in invalid tail calls to shared ZA functions.
It may be possible to limit this to the case where the caller is private
ZA and the callee shares ZA, but for now it is generally disabled.
wizard: default WAN setup to DHCP
1. Our config defaults are DHCP as well.
2. If WAN is disabled this causes a "/" to be filled, which can
be deleted but even when disabled it wants a gateway.
On a related note it would be good if the wizard would refill from
the current configuration so people could safely skip over these parts.
[BOLT][BTI] Patch ignored functions in place when targeting them with
indirect branches
When applying BTI fixups to indirect branch targets, ignored functions are
considered a special case:
- these hold no instructions,
- have no CFG,
- and are not emitted in the new text section.
The solution is to patch the entry points in the original location.
If such a situation occurs in a binary, recompilation using the
-fpatchable-function-entry flag is required. This will place a nop at all
function starts, which BOLT can use to patch the original section.
Without the extra nop, BOLT cannot safely patch the original .text section.
An alternative solution could be to also ignore the function from which
the stub starts. This has not been tried as LongJmp pass - where most
[3 lines not shown]
[llvm-dwarfdump][LineCov 1/3] Add variable coverage metrics (#176725)
Patch 1 of 3 to add to llvm-dwarfdump the ability to measure DWARF
coverage of local variables in terms of source lines, as discussed in
[this
RFC](https://discourse.llvm.org/t/rfc-debug-info-coverage-tool-v2/83266).
This patch adds the basic variable coverage implementation. By default,
inlined instances are shown separately (displaying the full inlining
chain). Alternatively, a combined view that averages across all inlined
instances can be returned using `--combine-instances`.
In this patch, we simply print a count of source lines over which each
variable is covered. Later patches in the series will add the comparison
against a baseline.
Example output:
```
$ llvm-dwarfdump --show-variable-coverage somefile
[16 lines not shown]
[MLIR][OpenMP] Simplify OpenMP device codegen
After removing host operations from the device MLIR module, it is no longer
necessary to provide special codegen logic to prevent these operations from
causing compiler crashes or miscompilations.
This patch removes these now unnecessary code paths to simplify codegen logic.
Some MLIR tests are now replaced with Flang tests, since the responsibility of
dealing with host operations has been moved earlier in the compilation flow.
MLIR tests holding target device modules are updated to no longer include now
unsupported host operations.
[BOLT][BTI] Refactor: move applyBTIFixup under MCPlusBuilder
applyBTIFixup is checking the "type" of target functions of short/long
stubs, and applies BTI fixup at these targets.
While previously it was only used in LongJmp pass, this refactor allows
this function to be called from other passes inserting indirect
branches, such as:
- Hugify,
- PatchEntries.
As different passes have different information about their targets (e.g.
target BasicBlock, target Symbol, target Function), specialized versions
are created (applyBTIFixupToSymbol, applyBTIFixupToTarget), and each calls
applyBTIFixupCommon, which implements the original logic from before.
Replace Erich Keane as Attributes maintainer (#177005)
During the Clang maintainers list refresh, Erich mentioned he would like
me to resume ownership of Clang attributes due to time constraints.
He'll continue to help out as he can but this frees him up for other
efforts. Thank you for your help in this role!
[clang][ssaf] Fix instantiations of `Registry<TUSummaryExtractor, TUSummaryBuilder &>` (#176730)
This patch fixes the incorrect explicit instantiation
declaration/definition added in #173290, and adds checks to prevent
similar errors.
MinGW/Cygwin with `-DCLANG_LINK_CLANG_DYLIB=ON` require proper
declarations of the template instantiations to share data symbols across
DLL boundaries.
[MLIR][OpenMP] Simplify OpenMP device codegen
After removing host operations from the device MLIR module, it is no longer
necessary to provide special codegen logic to prevent these operations from
causing compiler crashes or miscompilations.
This patch removes these now unnecessary code paths to simplify codegen logic.
Some MLIR tests are now replaced with Flang tests, since the responsibility of
dealing with host operations has been moved earlier in the compilation flow.
MLIR tests holding target device modules are updated to no longer include now
unsupported host operations.
tcp: fix checksum calculation bug
The new function in_delayed_cksum_o() was introduced to compute
the checksum in the case the mbuf chain does not start with the
IP header. The offset of the IP header is specified by the
parameter iph_offset.
If iph_offset was positive, the function computed an incorrect
checksum.
Reviewed by: sobomax, tuexen
Fixes: 5feb38e37847 ("netinet: provide "at offset" variant of the in_delayed_cksum() API")
Differential Revision: https://reviews.freebsd.org/D54269
(cherry picked from commit c8b3b605ae854ead6c8804e0400d80cb8fa73fdf)