[offload] Remove unnecessary extra allocations in kernel replay tool (#193108)
The tool had two extra allocations holding the device memory and
globals. Apparently, the AMDGPU plugin failed in the past to transfer
data from the file memory mapping, and required these extra buffers.
After testing it on MI300A and MI250X, this issue is not present
anymore. Thus, we are removing them for now.
[SLP] Normalize copyable operand order to group loads for better vectorization
When building operands for entries with copyable elements, non-copyable
lanes may have inconsistent operand order (e.g., some lanes have
load,add while others have add,load for commutative ops). This prevents
VLOperands::reorder() from grouping consecutive loads on one side,
degrading downstream vectorization.
Normalize in two steps during buildOperands:
1) Majority voting: swap lanes that are the exact inverse of the
majority operand-type pattern.
2) Load preference: if the majority pattern has loads at OpIdx 1
(strict majority), swap to put loads at OpIdx 0, enabling
vector load + copyable patterns.
Reviewers: hiraditya, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/189181
[lldb] Don't enable ASLR for the Wasm runtime (#193115)
We're launching the Wasm runtime (a native host binary), not the target
being debugged. Clear flags that don't apply to the runtime process.
Update clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
Co-authored-by: Balázs Benics <benicsbalazs at gmail.com>
[CodeGen] Add MachineBlockHashInfoAnalysis for the new pass manager (#193107)
This patch introduces MachineBlockHashInfoAnalysis and its corresponding
printer pass MachineBlockHashInfoPrinterPass to the new pass manager.
This allows running -passes="print<machine-block-hash>" via llc.
Can't merge before #192826, and don't want to mix test patch with
determinism fix in #192826.
This is #192911 which was accidentally merged into spr/users branch.
Update clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
Co-authored-by: Balázs Benics <benicsbalazs at gmail.com>
[SSAF][UnsafeBufferUsage] Add APIs to the EntityPointerLevel module for UnsafeBufferUsage (#191333)
- UnsafeBufferUsage serialization uses EntityPointerLevel's API to
serialize EntityPointerLevels.
- Add APIs to EntityPointerLevel for creating EPLs from Decls and
incrementing EPL's pointer level.
- Improve UnsafeBufferUsage serialization error messages with a test.
---------
Co-authored-by: Balázs Benics <benicsbalazs at gmail.com>
[SLP] Improve cost model for i1 select-as-or/and patterns
Model `select i1 %c, i1 true, i1 %d` as `or` and
`select i1 %c, i1 %d, i1 false` as `and` in the SLP cost model, since
these are the operations the backend will lower them to. The previous
select cost overestimated the vector cost of these patterns, preventing
profitable vectorization of i1 condition chains.
Reviewers: hiraditya, RKSimon, bababuck
Pull Request: https://github.com/llvm/llvm-project/pull/188572
[dsymutil] Add support for code signing dSYM bundles (#190676)
This PR adds support for code signing the dSYM bundle using the
`codesign` command line utility.
[LLDB] Fix potential data race in Symtab initialization (#192753)
Claude pointed out to me that Symtab::FindFunctionSymbols doesn't lock
the mutex before checking m_name_indexes_computed and recomputing it. On
top of that all the initialization flags are bitfields, which makes any
unguarded concurrent accesses UB. Changing them to bools should no
longer be necessary after introducing a lock, but several of the public
methods trust that their caller holds the lock so I'm opting to remove
this footgun just in case.
rdar://174988238
[NFC][CodeGen] Add MachineBlockHashInfoResult for use in NewPM (#193059)
This patch extracts the hash computation logic into a separate
`MachineBlockHashInfoResult` class. This allows the data to be
managed independently of the legacy pass manager and prepares
the infrastructure for the New Pass Manager.
Preparation for #192911.
Revert "[HLSL][DirectX] Emit convergence control tokens when targeting DirectX" (#193090)
This change appears to introduce complications when trying to do a full
loop unroll that is exhibited here:
https://github.com/llvm/llvm-project/actions/runs/24577221310/job/71865579618.
This results in invalid DXIL as the unreachable branch is not correctly
cleaned up.
Initial leads look like this is because the instructions with
convergence control tokens are still being used for analysis when they
are within an unreachable branch.
Reverts llvm/llvm-project#188792
Merge tag 'printk-for-7.1' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux
Pull printk updates from Petr Mladek:
- Fix printk ring buffer initialization and sanity checks
- Workaround printf kunit test compilation with gcc < 12.1
- Add IPv6 address printf format tests
- Misc code and documentation cleanup
* tag 'printk-for-7.1' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux:
printf: Compile the kunit test with DISABLE_BRANCH_PROFILING DISABLE_BRANCH_PROFILING
lib/vsprintf: use bool for local decode variable
lib/hexdump: print_hex_dump_bytes() calls print_hex_dump_debug()
printk: ringbuffer: fix errors in comments
printk_ringbuffer: Add sanity check for 0-size data
printk_ringbuffer: Fix get_data() size sanity check
[2 lines not shown]
Merge tag 'timers-urgent-2026-04-20' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull timer fix from Ingo Molnar:
"Fix timer stalls caused by incorrect handling of the
dev->next_event_forced flag"
* tag 'timers-urgent-2026-04-20' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
clockevents: Add missing resets of the next_event_forced flag
Remove the bootcmd hint for now
On this jupiter box, U-Boot's bootcmd can't be interrupted on the serial
console by pressing any key, Ctrl+C or ESC, even though the official
docs say it should be possible by pressing any key.
sigh
[lldb][docs] Simplify the links page (#193038)
When we created the links page, we didn't have many so it made sense to
include a little snippet for some of the videos. Now that this has
grown, it makes the page harder to navigate.
[CIR] Allow user-defined casts in emitPointerWithAlignment (#193078)
In CIR, we use a fully-covered switch for casts in
emitPointerWithAlignment and only allow casts that are known to be safe
to fall through without handling. Classic codegen uses a default and all
casts that don't already have special handling fall through. This change
moves CK_UserDefinedConversion to the group that we allow to fall
through and changes the unanalyzed group to emit an NYI diagnostic
rather than calling llvm_unreachable.