Revert "[Allocator] Keep bump pointer at a minimum alignment" (#205091)
Arithmetic on nullptr is UB and gets flagged by UBSan.
Reverts llvm/llvm-project#203718
[mlir][x86] Fail on missing read source operation (#205077)
Adds an extra check to AMX lowering to fail gracefully when a source
operation for contraction input data is not found.
[flang][debug] Add fake use ops for dynamic array dimension variables (#200061)
In cases where the upper or lower bounds of a dynamic array are not
explicitly referenced in code, flang can optimize away the internal
variables that represent these values. This causes missing values to
appear in the debugger when examining the dynamic array's type. Adding
an llvm.fake.use op for each bound preserves it for use by a debugger,
similar to the fix for #185432.
Resolves #119474
[AMDGPU][NFC] Templatise and roundtrip gfx13_asm_vop3_dpp16.s (#204849)
Again, this is based on the templatised version of
gfx12_asm_vop3_dpp16.s with the GFX13-specific changes re-applied on top
of it.
gfx13_dasm_vop3_dpp16.txt was never upstreamed, so no changes for the
disassembler side.
[AMDGPU][NFC] Templatise and roundtrip gfx12_asm_vop3_dpp16.s (#203953)
This is effectively the changes between the non-template versions of
gfx11/12_asm_vop3_dpp16.s applied on top of the templatised
gfx11_asm_vop3_dpp16.s.
add dma_length member to struct scatterlist
inteldrm code assumes that sg_dma_len() does not return the length
member of the struct as it increments both.
Problem reported by Ryan Fahy in FreeBSD drm-kmod PR 468.
Avoids a 'Data modified on freelist' panic on boot when using discrete
Intel cards (DG2). DG2 has other issues, so remains disabled for now.
NAS-141215 / 25.10.5 / fix SMART test checks for ATA drives (by yocalebo) (by bugclerk) (#19176)
This properly parses SMART self-tests for ATA drives. Most modern drives
support the GP log (48bit extended self-test log) while older drives
don't. Smartctl puts each test in the `extended` and `standard`
top-level keys appropriately. This fixes the check and adds a unit test
along with developer comment pointing to where I confirmed this in
source. I also ran the associated smartctl command on an ATA drive and
confirmed the json output.
Original PR: https://github.com/truenas/middleware/pull/19061
Original PR: https://github.com/truenas/middleware/pull/19063
---------
Co-authored-by: Logan Cary <logan.cary at ixsystems.com>
[orc-rt] Default QueueingRunner to a synchronized queue. (#205088)
Adds orc_rt::detail::SynchronizedDeque<T>, a mutex-protected deque whose
pop_front / pop_back return std::optional<T> (std::nullopt indicates the
queue is empty), and makes it QueueingRunner's default WorkQueue type.
Using a synchronized queue type allows QueueingRunner to be used in
multi-threaded contexts.
Updates SessionTest and InProcessControllerAccessTest to use the new
default, and extends QueueingRunnerTest to cover the new contract.
Reapply "[AMDGPU] Add compiler-rt checks for the GPU runtime" (#204898)
The original issue should've been solved by
https://github.com/llvm/llvm-project/pull/204694
Reverts llvm/llvm-project#204370
The main bus_dma_tag is passed all over the device tree to provide
operation function pointers. A bug in a driver could be exploited to
overwrite these function pointers, causing a later operation to call
wrong code. Many mitigations (KARL, bti/pac cfi, various mechanisms
for placing new code) increase the difficulty of exploit success,
however there is no reason for this bus_dma_tag structure to be
writeable, except history: the API does not pass things as const and
such a change to the tree would be a massive painful diff.
We know writes are not occuring, so we can force the structure
into .rodata, without using const.
This is for arm64 -- the some should be done to all other architectures.
ok kettenis
NAS-141204 / 25.10.5 / Process BACKUP in vrrp rapid-succession branch (by bmeagherix) (by bugclerk) (#19177)
When VrrpEventThread saw a second rapid event after waiting
rapid_event_settle_time, it dropped the latest queued event and logged a
warning. On boot-time keepalived flaps where the MASTER->BACKUP gap
floors below max_wait, that drop swallowed the only BACKUP signal
middleware was going to see, so vrrp_backup never ran.
Fire the hook for BACKUP (skipping if vrrp_backup already ran this
process lifetime, tracked via a new LAST_EVENT_TYPE attribute on
FailoverEventsService); keep the drop+warn for MASTER, since acting on
an unsettled MASTER would kick off fenced + zpool import.
Original PR: https://github.com/truenas/middleware/pull/19043
Original PR: https://github.com/truenas/middleware/pull/19049
Co-authored-by: Brian M <brian.meagher at ixsystems.com>
clang: Use the effective triple string for offload jobs (#205065)
Track the future effective triple for the job, rather than
the toolchain's default triple. In the future this will
change the result when amdgpu starts adjusting the triples
to contain subarches.
[SLP][Revec] Fix SLP crash when trying to fold trailing scalars into the reduced value (#203477)
Cost modelling change introduced by commit SHA f15666d is enabling revec
of test shown in the above issue. This is introducing a crash as the
reduced value(a scalar) is being added to a vector tail value.
Patch tries to address this.
Fixes #203195
AMDGPU/GlobalISel: Switch to extended LLTs
With minimal changes. Most notably because of changes to jumptable in isel
GIM_SwitchType requires explicit integer/float types and does not match scalar.
In most places change is in lowering to use LLT::integer or LLT::float.
Other changes:
- replaceRegWith can also change type on Dst register, this can cause CSE data
corruption (fix is to notify observer)
- mixed i32/f32 in G_MERGE_VALUES/G_UNMERGE_VALUES, common in legalizing
ray tracing and image intrinsics
- need extra bitcast between i32/f32 in some place
clang/AMDGPU: Use effective triple instead of raw toolchain triple (#205054)
Start using the effective triple instead of the raw toolchain triple.
For the moment this is NFC, but will change when new uses of the subarch
field are introduced.
[LifetimeSafety] resolved lifetimeBound violation in constructor (#204797)
Fix https://github.com/llvm/llvm-project/issues/203839.
Constructor body does not produce `ReturnEscapeFact`, but a constructor
parameter marked [[clang::lifetimebound]] may still be valid if it
escapes into a field of the constructed object.
Update the `LifetimeBound` logic to accept `FieldEscapeFact` for
constructors, and add a test case for this pattern.
[NFC][analyzer] Eliminate some simple node builders (#204187)
Replace four `NodeBuilder`s with direct use of the `makeNode` method
family. This is part of my commit series that simplifies the engine by
gradually eliminating the class `NodeBuilder`.
misc/gnu-watch: Improve port
* Use upstream release archive, gets rid of USES= autoreconf dependency
and cuts build time in half
* Remove unnecessary USE_CSTD definition
* Remove unnecessary NLS_LDFLAGS definition
* Fix installed manpage to be consistent with installed file name
PR: 296165
Reported by: diizzy
[DA] Add overflow check before calculating absolute value (#201964)
In findGCD, we call APInt::abs, which can overflow when the value is a
signed minimum one. Such overflow can lead miscompilation, so this patch
adds an overflow check for absolute value calculations and bail out
early if it actually overflows.
Fix #201559.