[lldb][bytecode] Swift output is conditional on >=6.3 (#187544)
The `@section` and `@used` attributes are available in Swift 6.3 and
later. See [SE-0492][1].
Prior to 6.3, these were available as `@_section` and `@_used`, however
those require enabling the `SymbolLinkageMarkers ` experimental feature.
[1]: https://github.com/swiftlang/swift-evolution/blob/main/proposals/0492-section-control.md
[BasicAA] Use KnownBits trailing zeros to boost GCD in modular aliasing check (#187297)
If a GEP variable index V has known trailing zeros, shift ScaleForGCD
left by that amount to capture the larger stride. This helps patterns
like `and %x, -Align` that GetLinearExpression cannot fold into Scale.
[lldb][debugserver] Get the size of the shared cache in mapped VM (#187419)
Fetch the size of the shared cache address range in VM in the inferior
process and return it, if possible. This allows for a simple call to
DynamicLoader::GetSharedCacheInformation to get the virtual address
extent of the shared cache in the inferior. It's a minor addition to the
method that fetches the shared cache filepath from the inferior, plus
piping it up through lldb's layers.
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
net-mgmt/librenms: Add patch for real-time graphs
This wasn't working in my install. Talked with librenms team and we
came up with this patch. Apply this now so that the upcoming quarterly
branch is correct.
re: https://github.com/librenms/librenms/pull/19280
[LAA] Allow vectorizing `A[NonZeroNonConstantStride*I] += 1`
In this patch only do that when we can statically prove that
non-constant stride is non-zero and the resulting index doesn't
overflow. That can later be extended to introduce run-time check when
not provable in compile-time.
My main motivation for this is to move unit-strideness speculation to a
VPlan-based transformation. However, it cannot be done right now because
sometimes such speculation affects legality and we simply avoid
vectorizing loop if it's not done. As such, we need to extend LAA to
properly support dependence analysis/RT checks for strided access
without speculating for it being one. This PR is expected to be the
first one on that journey.
[LLVM] Improve IR parsing and printing for target memory locations (#176968)
This patch adds support for specifying all target memory locations using
a
single IR spellings such as:
```
memory(target_mem: read)
```
This form is not supported in TableGen, but it is now accepted by the IR
parser.
When the parser encounters target_mem, it expands it to all
target-memory
locations (e.g., target_mem0, target_mem1, …).
Printing behavior
When all target-memory locations share the same ModRef value, the
printer
[12 lines not shown]
[SandboxIR] Implement UncondBrInst and CondBrInst (#187196)
This patch implements the unconditional and conditional branch
instructions mirroring the newly added LLVM IR instructions.
So now we have two new classes UncondBrInst and CondBrInst inheriting
from BranchInst.
The original Br opcode has been removed in favor of UncondBr and CondBr.
[clang] fix crash related to missing source locations for converted template arguments (#187352)
This adds a way to attach source locations to trivially created template
arguments such as packs, or converted expressions when there is no
expression available.
This also avoids crashes due to missing source locations.
In a few places where this matters, we already create expressions from
the converted arguments, but this requires access to Sema, where
currently creating trivial typelocs only requires access to to the
ASTContext.
So this creates a new storage kind for TemplateArgumentLocs, where a
single SourceLocation is stored, embedded in the pointer where possible.
As a drive-by, strenghten asserts by enforcing the TemplateArgumentLocs
are created with the right kinds of locations.
Fixes #186655
[mlir][tensor] Forward concat insert_slice destination into DPS provider (#183490)
In TosaToTensor, forward concat insert_slice destination slices into
single use destination style producers, which avoids creating temp
producer results that are immediately copied into the concat result. Add
regression test for concat + fill forwarding
[RISCV] Add scheduling models for `sifive-x160` and `sifive-x180` (#187089)
Assign scheduling models to `sifive-x160` and `sifive-x180`.
Currently both of them share the same model, which is a variant of the
SiFive7 scheduling model with VLEN=128. Because of this commonality, most
tests only use `-mcpu=sifive-x180`, whose instruction set is a superset
of `sifive-x160`'s.
libclc: Use log intrinsic for half and float cases for amdgpu
This is pretty verbose and ugly. We're pulling the base implementation
in for the double cases, and scalarizing it. Also fully defining the
half and float cases to directly use the intrinsic, for all vector
types. It would be much more convenient if we had linker based overrides
for the generic implementations, rather than per source file.
nanobsd: embedded: Time stamp the code image
While there is a function nano_makefs() that already takes care of this
issue, we are not yet ready to consume it.
Just add the time stamp and FFS options to makefs. This is done
primarily to use UFS2 (UFS version 2). If the user needs further
customization, the variable NANO_MAKEFS can be overridden. Timestamping
takes care of making the images bit-for-bit identical.
Reviewed by: imp
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D54980
nanobsd: embedded: Fix more regressions from last cleanup
Commit c99bb5747f5e changed "()" grouping into "{}", but in these cases
we chdir and depended on the subshell not changing the directory for the
caller. Restore the old behavior. While things appear to work without
this change, the previous code was intentionally structured this way.
Reviewed by: imp
Fixes: c99bb5747f5e ("nanobsd: minor formatting cleanup")
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D54978
nanobsd: embedded: Remove stray comment
Remove an outdated comment about NanoBSD not being able to remove the
firstboot sentinel file.
It was fixed in cb51e2bc3db7 ("rc: Allow the removal of
firstboot_sentinel on read-only file systems").
Reviewed by: imp
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D54977
nanobsd: embedded: Remove mtools dependency
Rely on makefs -t msdos to create the MS-DOS partition and remove the
dependency on filesystems/mtools.
Note that NANO_SLICE_FAT_SIZEs defined in sectors (ending with an "s")
are no longer supported, as a workaround the letter "b" (blocks) may be
used instead.
Reviewed by: imp
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D54976
nanobsd: embedded: Calculate FAT type and scheme
Determine the FAT (MS-DOS) type (FAT32, FAT16, or FAT12) and partition
scheme (fat32lba or fat16b) based on partition size.
Accept any (NetBSD) strsuftoll(3)-compatible string, as the value will
be fed to makefs(8) "-s" in a future commit.
NANO_SLICE_FAT_SIZEs defined in sectors (ending with an "s") will not be
supported. As a workaround, the letter "b" (blocks) may be used.
Reviewed by: imp
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D54975
[lldb][bytecode] Remove tracking of stack temps in compiler (#187401)
The `num_temps` was introduced under the mistaken understanding of the
index values given to the `pick` op. I thought the `pick` index was from
the top of the stack, but it's from the bottom. The model of indexing
from the bottom of the stack has the benefit of simplifying the
compiler.