[lldb] Detect cycles when following DIE references (#223912)
A DW_TAG_subprogram whose DW_AT_specification points at its own offset
causes both GetDIENamesAndRanges and GetDeclContextDIEContainingDIE to
keep recursing
Track the DIEs already visited, the way the sibling GetAttributes helper
does. GetDIENamesAndRanges also moves to a worklist so a long chain of
distinct specifications no longer costs a stack frame per DIE.
rdar://186891786
clang-sycl-linker: Compute the DataLayout from the triple
Seed the module's DataLayout from the target triple directly rather than from
TargetMachine::createDataLayout().
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
NAS-143902 / 26.0.0-RC.1 / Default S3 multipart_etag to MINTED (by yocalebo) (by bugclerk) (#19796)
New buckets get MINTED unless the caller asks for COMPOSITE. Existing
buckets keep their stored value. Local perf tests on real hardware shows
MINTED is significantly faster. Let's default to it for now.
Original PR: https://github.com/truenas/middleware/pull/19793
Original PR: https://github.com/truenas/middleware/pull/19795
Co-authored-by: Caleb St. John <30729806+yocalebo at users.noreply.github.com>
[clang][Sema] Separate aggregate default member initializer evaluation (#219288)
A default member initializer used by a constructor is a separate
full-expression, while one used during aggregate initialization belongs
to the full-expression containing the aggregate initialization.
This patch split the two building paths so aggregate initialization
rebuilds the initializer in the surrounding evaluation context.
Fixes https://github.com/llvm/llvm-project/issues/85601.
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
[AMDGPU] Model GFX1250 VALU blocking cycles (#222483)
Some gfx1250 VALU instructions block the VALU pipe for N cycles, and the
CoExec scheduler must model that occupancy. The existing SchedModel
cannot represent this given current modelling constraints (see #202775).
Attach GFX1250BlockingCycles to the VOP instruction definitions and emit
a searchable table so SIInstrInfo::getBlockingCycles() can report the
occupancy. CoExec uses that to classify multi-cycle VALU and to account
for blocking when computing HWUI cycles.
As part of this change, VOPC_Pseudo now inherits from VOP_Pseudo.
Main Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
[CIR][EH] Implement EH ABI lowering for dynamic exception specification (#223862)
This change implements EH ABI lowering for Itanium targets for the CIR
constructs used to represent dynamic exception specifications. This also
includes minor changes to lower new forms of the
cir.eh.inflight_exception operation to the LLVM dialect.
Code generation support for dynamic exception specification and tests
for complete lowering of generated CIR to LLVM IR will be added in a
follow-up change.
Assisted-by: Cursor / various models
[SSAF] Mark two failing tests as unsupported (#223976)
As a developer of the clang static analyzer, I'm using the build target
`check-clang-analysis` [1] to build and test my changes.
This workflow was recently broken by two new SSAF testcases under
`Analysis/Scalable` that fail on my machine (where I don't build any
SSAF-specific targets and perhaps don't have some SSAF-specific tools).
In both of these tests a `clang-apply-replacements` RUN line fails with
`clang-apply-replacements: symbol lookup error:
clang-apply-replacements: undefined symbol:
_ZN4llvm2cl6OptionC2ENS0_18NumOccurrencesFlagENS0_12OptionHidden`
These two files were added by 77a6638e4f61e1827001cce202d8f785815a341b
and 4b08871f7ffe6ad818147145f8b6103e6c9b2c95.
In this commit I'm marking these two files as unsupported, because I'm
not familiar with SSAF and don't have the capacity to troubleshoot them.
(I'm not using XFAIL because they are presumably passing on some other
[10 lines not shown]
WebAssembly: Respect target-abi module flag
Previously this relied on the TargetABI MCOptions field and ignored
the IR flag.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
NAS-143902 / 26.0.0 / Default S3 multipart_etag to MINTED (by yocalebo) (#19795)
New buckets get MINTED unless the caller asks for COMPOSITE. Existing
buckets keep their stored value. Local perf tests on real hardware shows
MINTED is significantly faster. Let's default to it for now.
Original PR: https://github.com/truenas/middleware/pull/19793
Co-authored-by: Caleb St. John <30729806+yocalebo at users.noreply.github.com>
[AMDGPU] Refactor isDPALU_DPP to only check if the instruction requires the feature
Previously the helper function was a combination of checking if the instruction required the feature and if the feature is available. This behavior diverges from similar isDPALU_DPP32BitOpc and can cause confusion. This refactor aligns the two for consistency, and users should also check if the feature is available if needed
[AMDGPU] Add getLDSAllocGranule to TargetParser
Model LDS allocation granularity with subtarget features derived from
AMDGPUGenericAnyFeature. Generic targets can select a granularity present
on any covered GPU, independently of their addressable LDS size.
Expose the byte-valued query for GPUKind and subarch and consolidate
backend users on it. gfx9-4-generic uses gfx950's 1280-byte granule while
retaining its 64 KiB addressable LDS capacity.
Test feature membership, granularity assignments, query overloads and
fallbacks, and generic-target LDS block rounding.
Change-Id: Ic0c9345e7657ec3c6978a646628598cb7608b390
[AMDGPU] Classify generic-target features
Classify features used by generic targets but absent from some covered
GPUs as AMDGPUGenericAnyFeature. This covers the gfx11 workarounds,
gfx12.5 register fixup and WMMA timing, and LDS size and bank count.
Derive the classified features directly from the SubtargetFeature subclass
and preserve their existing predicates. Keep RequiresCOV6 outside this
policy because it is specific to generic targets and absent from their
covered GPUs.
Test the real target definitions, missing support for classified features,
and the existing all-member requirement for instruction capabilities.
Change-Id: I9fffbe532b8b5bc8875f20f394f29e2e6899f52e
[AMDGPU][NFC] Allow selected generic features on any covered GPU
Add AMDGPUGenericAnyFeature so individual feature classes can require
support from at least one covered GPU. Check explicitly marked features
even when they are not frontend-visible, while retaining the all-member
check for ordinary frontend-visible features.
Follow implied features using their own validation rules. Require named
generic targets to cover at least one concrete AMDGPU GPU, rejecting self
references, other generic targets, pseudo targets, and invalid members.
Cover partial support, missing support, exact numeric-feature membership,
backend-only features, implications, and malformed coverage lists with
TableGen tests. Generated target definitions remain unchanged.
Change-Id: Id6ff521e92750a953be54dcc89d98e1b94eb16e2
NAS-143902 / 27.0.0-BETA.1 / Default S3 multipart_etag to MINTED (#19793)
New buckets get MINTED unless the caller asks for COMPOSITE. Existing
buckets keep their stored value. Local perf tests on real hardware shows
MINTED is significantly faster. Let's default to it for now.
[MLIR][Python] Support bare Operand and Result annotations (#220216)
Operation definitions currently need to spell unconstrained operands and
results as `Operand[Any]` and `Result[Any]`. Since `Any` is the natural
default when no type constraint is intended, this is unnecessarily
verbose and may require importing `Any` solely for these annotations.
This change allows bare `Operand` and `Result` annotations as a simpler
equivalent spelling.
Previously:
```python
from typing import Any
class MyOp(MyDialect.Operation, name="my_op"):
lhs: Operand[Any]
rhs: Operand[Any]
res: Result[Any]
[14 lines not shown]
[AMDGPU][NFC] Allow selected generic features on any covered GPU
Add AMDGPUGenericAnyFeature so individual feature classes can require
support from at least one covered GPU. Check explicitly marked features
even when they are not frontend-visible, while retaining the all-member
check for ordinary frontend-visible features.
Follow implied features using their own validation rules. Require named
generic targets to cover at least one concrete AMDGPU GPU, rejecting self
references, other generic targets, pseudo targets, and invalid members.
Cover partial support, missing support, exact numeric-feature membership,
backend-only features, implications, and malformed coverage lists with
TableGen tests. Generated target definitions remain unchanged.
[Clang][Sema] Improve diagnostic when using imag with non complex as lvalue (#223510)
Improve the Clang diagnostic when the unary `__imag` operator with a
non-complex type operand is used as an lvalue
Issue #222383
[libc][mathvec] Fix sinf unit test failures (#224339)
Since mathvec compares directly to the scalar math result, and scalar
sinf has a specific LIBC_MATH_HAS_INTERMEDIATE_COMP_IN_FLOAT
implementation. Mathvec unit tests fail when that flag is set, as there
is currently no mathvec equivalent.
This patch disables the sinf unit tests when the
LIBC_MATH_HAS_INTERMEDIATE_COMP_IN_FLOAT flag is set until such
implementation is created.
[lldb][windows] add assert frame recognizer Windows (#224269)
This patch implements `AssertFrameRecognizer` on Windows.
Since the Windows C Runtime can be either statically or dynamically
linked, lldb can't match the module name to be able to support both.
Therefore, the matches on `abort` and `_wassert` do not check the name
of the module.
The `assert.test` test was also relaxed to check the Windows error
format (`Exception 0xc0000409`), since Windows surfaces `__fastfail` as
a `STATUS_STACK_BUFFER_OVERRUN` exception rather than a POSIX signal.
rdar://175328961
---
This relands https://github.com/llvm/llvm-project/pull/197282, reverted
in https://github.com/llvm/llvm-project/pull/198263 for two buildbot
[13 lines not shown]
`check_parent_is_filesystem` so that `test_zfs_resource_create_under_a_volume_parent_is_rejected` does not depend on tiering
(cherry picked from commit 407169c23ba5522cf176f9878d0484db5fbff987)
ice: Fail closed when VF reset does not complete
ice_reset_vf() logs failures to drain PCIe transactions, issue the
mandatory zero-queue command, or observe VFR completion, but still
publishes VFACTIVE. A VF can resume against reset state which the PF
knows is incomplete.
Return an error from the reset operation and retain a reset-failed flag
when any mandatory stage fails. Reject ordinary virtchnl requests while
the failure persists. Publish VFACTIVE only after every stage succeeds.
A later VFLR or PF rebuild can recover the VF and clear the failure.
Remove tracked queue leaves before clearing their software state. The
reset-only AdminQ command drains hardware queues but does not update the
shared scheduler database; losing that bookkeeping can strand queue
resources across VF teardown and recreation.
After a successful VF reset, discard software switch filter state whose
hardware rules were reset and clear guest-owned MAC and VLAN tracking.
[16 lines not shown]