[NFC][LV] Tests for parallel def-use chains (#225405)
This patch is an extension of the work in #198300 by adding a test for
vectorization of parallel def-use chains in loops.
Assisted-by: Codex
[InstCombine] Fold fpto[su]i of llvm.trunc
fptoui and fptosi already round toward zero, so a preceding llvm.trunc
is redundant and the conversion can take the untruncated value. NaN,
infinity, and out of range inputs produce poison in both forms.
```llvm
%t = call float @llvm.trunc.f32(float %x)
%r = fptosi float %t to i32
-->
%r = fptosi float %x to i32
```
The trunc may have other users; only the conversion operand is replaced.
[InstCombine] Add tests for fpto[su]i of llvm.trunc. NFC
fpto[su]i rounds toward zero, so a preceding llvm.trunc is redundant.
Cover scalar, vector, and multi use cases.
firewall: support moving multiple rules in selection order (#11008)
Unify move-before handling in FilterBaseController so filter and NAT
controllers share the same validation and sequence allocation logic.
Accept up to 50 (current step count) comma-separated rule UUIDs, preserve their selection
order using consecutive sequence values, and only shift following rules
when the existing gap is insufficient. Keep filter moves within their
priority group.
Update the firewall rule grids to submit all selected UUIDs and display
their selection order. Add opt-in selection-order indicators and dynamic
command tooltips to UIBootgrid so the move action reflects the current
selection.
hwpmc_amd: fix INVARIANTS build
The variable 'amd_npmcs' is not yet present in this branch.
This is a direct commit to stable/14.
Reported by: Jenkins
Sponsored by: The FreeBSD Foundation
Reland "[lldb][minidump][test] Enable more minidump tests on AArch64 (#231467)" (#231474)
This reverts commit d9823582cb13b0dd493dd7162457683b24f54e5e.
Some tests were failing when on a Windows host because they tried to
delete the minidump file without deleting the target first. On Windows
you cannot unlink a file that something still has open, that something
being lldb here.
test_save_linux_mini_dump_thread_options cannot work remotely due to a
bug in the save routine. See
https://github.com/llvm/llvm-project/issues/231472.
For any binary linked against libc, compare the file setuid/setgid bits
against the internal global variable _permit_setugid.
If either bit is set in the file mode, but the same bit is not set in
the variable, generate a syslog message, output the same to stderr.
It looks like this: /usr/bin/x: not supposed to be setuid, aborting
It does not abort yet because some packages need the correct variable
to be added. Soon, soon, soon...
[clang] Fixed auto type inference failing when the rhs is a bit-field expression (#226784)
e.g.
```C
void f()
{
struct S { unsigned i : 2; };
struct S s = {};
auto x = s.i; // previously failed. now accepted and x is an `unsigned int`
}
```
Fixes #226280
[Clang][Driver] Name unbundled non-RDC HIP SPIR-V images .spv
An amdgcnspirv device-only compile without -o wrote a SPIR-V binary
with a .out suffix. Use .spv for that case.
[lldb][test] Remove NativePDB/local-variables.cpp (#231128)
This test uses FileCheck to check a full lldb session line by line.
Changes to lldb's output break it even when the PDB reader is fine.
Everything it checks about the reader is already covered:
- AST: `NativePDB/ast-functions.cpp` checks the same main declaration
with the same lines.
- Reading params and locals in a live process:
`NativePDB/variables-locations.test` and
`NativePDB/stack_unwinding01.cpp`, plus about 30 STL data formatter API
tests with `TEST_WITH_PDB_DEBUG_INFO`.
- Expressions on params and locals: `NativePDB/inline_sites_live.cpp`.
- Line tables and stepping: `NativePDB/break-by-line.cpp` and
`TestDataFormatterStdString`.
Location ranges that change between addresses are covered by
`NativePDB/local-variables-registers.s`.
[lldb][test] Enable PDB testing by default (#230116)
This patch enables PDB variant testing by default on Windows.
Testing with PDB is currently opt-in with the `TEST_WITH_PDB_DEBUG_INFO`
class variable on API tests. This patch makes the inverse the default:
PDB testing is enabled by default. The remaining failing tests are opted
out using a decorator while being fixed.
rdar://189620427
[CIR] Preserve address space in base/derived class address casts (#230841)
Propagate the source pointer address space to cir.base_class_addr,
cir.derived_class_addr and the virtual base pointer adjustment
Fix invalid LLVM IR for class hierarchies in non-default address spaces
AuxInfo[ELF_AUX_ENTRIES] is filled based upon a collection of MI and
MD enums. Addition of a new auxval without increasing ELF_AUX_ENTRIES
happened twice to me, and the failure mode is way too subtle. Add
KASSERT() for every enum storage into the array, which the compiler
completely eliminates if it notices the number of array stores is
<= the array size.
ok kettenis
[StandardInstrumentations] Fix -print-changed=dot-cfg for unnamed basic blocks
Unnamed basic blocks have empty Value names. The dot-cfg change reporter
manufactures block keys but uses `getName()` for entry blocks and successor
edges, causing inconsistent lookups that can assert or crash when value
names are discarded.
Derive labels from `printAsOperand()` and use them consistently for saved
blocks, entry blocks, and successor edges. This matches printed IR slots,
preserves quoting for numeric names, and uses unique bb.N labels for MIR.
Render labels from saved block data and skip printed label and predecessor
headers only when present. This preserves the first instruction of an
unnamed entry block while avoiding redundant headers in the graph.
Fixes #148579 #147659