Join short wrapped RUN lines
Removing -verify-machineinstrs shortened these RUN lines enough to fit
on a single line of at most 100 columns.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply at anthropic.com>
Restore indentation of wrapped RUN line continuations
Removing -verify-machineinstrs from the start of a continuation line
also dropped its indentation.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply at anthropic.com>
CodeGen: Remove -verify-machineinstrs from llc -passes MIR tests
With the new pass manager, -verify-machineinstrs does not add a
verifier after each pass; only -verify-each does. Bizarrely, instead
it suppresses the verifier llc runs at the end of the pipeline, so
removing it enables verification of the output. This is probably a
bug, but I think the plan is to replace this flag in the new PM
anyway.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
CodeGen: Remove -verify-machineinstrs from single -run-pass MIR tests (#238144)
Since #228248 / 66366908, llc verifies MIR output by default. MIR
inputs were always verified so for an llc invocation running exactly
one pass with -run-pass, the -verify-machineinstrs flag does nothing
so these flags are pointless. We should more aggressively trim
-verify-machineinstrs uses in the future, but this covers the cases
that don't change behavior. This removal was performed by generated
script.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
[InstCombine] Preserve select weights when sinking frexp through a select (#237367)
foldFrexpOfSelect rebuilds the operation using the original condition
and a constant mantissa value. Copy the original select's branch weights
to the replacement to preserve profiling information.
RuntimeLibcalls: Handle int and long size more similarly
Previously we eagerly computed the int size and passed it through all
the various functions to get the type signature. The long cases were
evaluated in the context that need a long. Treat these the same way
which reduces the number of arguments passed around.
[SPIRV] Ensure `MachineIRBuilder` is always in a valid state (#236948)
If `MachineIRBuilder` hasn't yet done any work it doesn't have a valid
insertion point. We were erroneously assuming that this is not the case,
and thus were directly calling `getMBB()` when it was not legal to do
so. This patch makes it so that we only query the old MBB if we get a
valid insertion point.
[MemProf] Resolve alias ValueInfo in ThinLTO backend summary lookup (#238162)
Synthesized MemProf callsite records for missing tail-call frames are
keyed by the callee's summary entry, which for an alias target is its
AliasSummary rather than its aliasee's FunctionSummary.
In the ThinLTO backend, two paths looked up the aliasee instead, missing
those records and leaving callers uncloned with undefined .memprof.*
references at link time:
1. Alias definitions imported via replaceAliasWithAliasee retain the
aliasee's !guid metadata for body-level profile passes, so querying
F.getGUID() matched the aliasee's ValueInfo and could also resolve
the imported alias copy itself to an imported aliasee's
FunctionSummary instead of skipping it.
2. Direct tail calls to a same-module GlobalAlias resolved the callee to
its aliasee Function before looking up its ValueInfo.
Attach thinlto_alias_guid metadata when importing alias definitions,
[4 lines not shown]
CI: stop QEMU dependency preparation on failure
The dependency wrapper continues after failed boot checks, transfers and
remote preparation. It can then wait for a guest that never powers off,
or return success after losing the original error.
Select Bash explicitly and stop on failed commands so the calling
workflow receives the preparation failure immediately.
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Signed-off-by: Kamil Monicz <kamil at monicz.dev>
Closes #19462
[lldb] Name GDB-remote communication channels (#237417)
Give every GDB-remote communication channel a stable name and include
that name in packet logs. This makes simultaneous native and accelerator
connections distinguishable without relying on object addresses.
The existing client broadcaster name is reused for its communication
channel. LLGS instances now identify native and mock-accelerator servers
separately, and lldb-platform has its own server label.
A focused unit test verifies that send and receive packet logs carry the
correct channel identity.
Testing:
- Built lldb-server and ProcessGdbRemoteTests with the mock accelerator
enabled
- All 52 ProcessGdbRemoteTests pass
- LLVM pinned clang-format check passes
- git diff --check passes
[RISCV] Build register pairs directly for byte vector lowering
Use BuildPairGPRVec when lowering RV32 packed byte build vectors.
The PPAIRE sequence only needs the low byte of each scalar register.
Constructing pairs through scalar-to-vector concatenations lets DAG
folding turn them into build vectors that unnecessarily pack undefined
lanes.
[SelectionDAG] Preserve build-vector legality in concat folding
Custom lowering can construct CONCAT_VECTORS after BUILD_VECTOR
legalization. Folding scalar-to-vector operands there may introduce a
BUILD_VECTOR that the target cannot select.
Require a legal BUILD_VECTOR by default in FoldConcatVectors, and pass
the combine phase from DAGCombiner so pre-legalization combines can still
form illegal operations.
[libc++][NFC] Mark LWG2859 as "Nothing To Do" (#236127)
LWG2859 only rewrites the definition of "reachable" in the Remarks
paragraph of `std::launder` precondition, relaxing the reachable set
with the pointer arithmetic scenario.
It does not change any observable behaviour of the library. No test
should be added because the precondition is not observable (a program
that is valid under the new wording was also valid under the old one,
and vice versa).
Closes: https://github.com/llvm/llvm-project/issues/100269
---------
Co-authored-by: A. Jiang <de34 at live.cn>
libexpat: cath up with import of expat 2.10.0
Update expat_config.h and the libbsdxml(3) manpage to reflect the most
recent import.
MFC after: 3 days
MFC with: 765f30b9f3af
[ReplayInlineAdvisor] Don't crash on indirect calls (#237859)
getAdviceImpl uses CB.getCalledFunction() without a null check, so
-sample-profile-inline-replay crashes when a replayed function has an
indirect call. Remarks only name direct callees, so treat indirect calls
as having no replay decision.
[lldb] Add server support for jLLDBSettings (#237356)
This is a followup to client side support landed in #229179.
This adds the corresponding handlers and support on the lldb-server.
Tests
- Added the tests with Mock plugin.
Join short wrapped RUN lines
Removing -verify-machineinstrs shortened these RUN lines enough to fit
on a single line of at most 100 columns.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply at anthropic.com>
Restore indentation of wrapped RUN line continuations
Removing -verify-machineinstrs from the start of a continuation line
also dropped its indentation.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply at anthropic.com>
CodeGen: Remove -verify-machineinstrs from llc -passes MIR tests
With the new pass manager, -verify-machineinstrs does not add a
verifier after each pass; only -verify-each does. Bizarrely, instead
it suppresses the verifier llc runs at the end of the pipeline, so
removing it enables verification of the output. This is probably a
bug, but I think the plan is to replace this flag in the new PM
anyway.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
Restore indentation of wrapped RUN line continuations
Removing -verify-machineinstrs from the start of a continuation line
also dropped its indentation. Join the RUN line when it fits in 80
columns, otherwise restore the original indentation.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply at anthropic.com>
Join short wrapped RUN lines
Removing -verify-machineinstrs shortened these RUN lines enough to fit
on a single line of at most 100 columns.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply at anthropic.com>
CodeGen: Remove -verify-machineinstrs from single -run-pass MIR tests
Since #228248 / 66366908, llc verifies MIR output by default. MIR
inputs were always verified so for an llc invocation running exactly
one pass with -run-pass, the -verify-machineinstrs flag does nothing
so these flags are pointless. We should more aggressively trim
-verify-machineinstrs uses in the future, but this covers the cases
that don't change behavior. This removal was performed by generated
script.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>