-
Notifications
You must be signed in to change notification settings - Fork 797
LLVM and SPIRV-LLVM-Translator pulldown (WW31 2025) #19622
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…simulator tests (#146721) * Fix splitting of arguments such as `LSAN_OPTIONS=suppressions=lsan.supp` * Prevent environment variables set in parent process being overwritten * Replace hard-coded `env` with `%env` to allow overriding depending on target * Replace deprecated `pipes` usage with `shlex` * Run formatter over `iossim_env.py`
This reverts commit 2532bde.
…ements (#146857) Fixes 2 bugs reported in #146063 - The body of a lambda appearing in a discarded statement was sometimes considered discarded itself - A lambda conversion operator that was not odr-used was sometimes not defined even if it was needed Fixes #146063 --------- Co-authored-by: Timm Baeder <[email protected]>
This adds SBBreakpoint::SetIsHardware, allowing clients to mark an existing breakpoint as a hardware breakpoint purely through the API. This is safe to do after creation, as the hardware/software distinction doesn't affect how breakpoint locations are selected. In some cases (e.g. when writing a trap instruction would alter program behavior), it's important to use hardware breakpoints. Ideally, we’d extend the various `Create` methods to support this, but given their number, this patch limits the scope to the post-creation API. As a workaround, users can also rely on target.require-hardware-breakpoint or use the `breakpoint set` command. rdar://153528045
…count Target divergency. (#144947)" This reverts commit 8ac7210. This breaks the building the AArch64 backend, e.g. see llvm/llvm-project#144947 Revert to unbreak the build. Also reverts follow-up commits 1e76f01.
Reducing manual update work required for an upcoming change.
Adds additional test coverage for early-exit loops with deref assumptions, as suggested in llvm/llvm-project#128436.
We don't need to cast std::string to std::string.
…g zicond extension (#143768) The following lowerings now occur: (select cond, u, rotr(u, rot.amt)) -> (rotr u, (czero_nez rot.amt, cond)) (select cond, rotr(u, rot.amt), u) -> (rotr u, (czero_eqz rot.amt, cond)) (select cond, u, rotl(u, rot.amt)) -> (rotl u, (czero_nez rot.amt, cond)) (select cond, rotl(u, rot.amt), u) -> (rotl u, (czero_eqz rot.amt, cond))
Add test coverage for narrowing interleave groups with constants and uniform loads.
`TokenSequence::pop_back()` had a check assumed that tokens are never empty. Loosen this check since isn't true. towards #146362
The preprocessor used bitwise and to implement logical, this is a bug. towards #146362
If all operands to an interleave group are already trivially narrow, narrow the interleave group itself as well.
The AArch64 one still has some manual check lines, so it's only "mostly" auto generated
As per #142559, this marks frint as legal for Neon and upgrades the existing arm.neon.vrintx intrinsics.
…#146953) We were using the extension name as a prefix rather than TH_.
This is similar to -msve-vector-bits, but for streaming mode: it constrains the legal values of "vscale", allowing optimizations based on that constraint. This also fixes conversions between SVE vectors and fixed-width vectors in streaming functions with -msve-vector-bits and -msve-streaming-vector-bits. This rejects any use of arm_sve_vector_bits types in streaming functions; if it becomes relevant, we could add arm_sve_streaming_vector_bits types in the future. This doesn't touch the __ARM_FEATURE_SVE_BITS define.
The DWARF expression evaluator is essentially a large state machine implemented as a switch statement. For anything but trivial operations, having the evaluation logic implemented inline is difficult to follow, especially when there are nested switches. This commit moves evaluation of `DW_OP_deref` out-of-line, similar to `Evaluate_DW_OP_entry_value`.
…6636) Co-authored-by: Stanislav Mekhanoshin <[email protected]>
LLDB has the concept of an "SDK root", which expresses where the system libraries and so which are necessary for debugging can be found. On POSIX platforms, the SDK root is just the root of the file system, or /. We need to implement the appropriate method on HostInfoPosix to prevent the use of the default implementation for which just returns an error. This change is needed to support the Swift REPL but may be useful for other use cases as well.
…… (#146430) …ion line An obsolete flag ("insertASpace_") is being used to signal some cases in the prescanner's implementation of continuation lines when a token should be broken when it straddles a line break. It turns out that it's sufficient to simply note these cases without ever actually inserting a space, so don't do that (fixing the motivating bug). This leaves some variables with obsolete names, so change them as well. This patch handles the third of the three bugs reported in llvm/llvm-project#146362 .
When using -fhermetic-module-files it's possible for a derived type to have multiple distinct definition sites that are being compared for being the same type, as in argument association. Accept them as being the same type so long as they have the same names, the same module names, and identical definitions.
… enums (#145986) This pr removes the redundancy of having the same enums defined in both the front-end and back-end of handling root signatures. Since there are many more uses of the enum in the front-end of the code, we will adhere to the naming conventions used in the front-end, to minimize the diff. The macros in `DXContainerConstants.def` are also touched-up to be consistent and to have each macro name follow its respective definition in d3d12.h and searchable by name [here](https://learn.microsoft.com/en-us/windows/win32/api/d3d12/). Additionally, the many `getEnumNames` are moved to `DXContainer` from `HLSLRootSignatureUtils` as they we will want them to be exposed publicly anyways. Changes for each enum follow the pattern of a commit that will make the enum definition in `DXContainer` adhere to above listed naming conventions, followed by a commit to actually use that enum in the front-end. Resolves llvm/llvm-project#145815
…46951) Changed the type of the `func_name` attribute from SymbolNameAttr to SymbolRefAttr. SymbolNameAttr is typically used when defining a symbol (e.g., `sym_name`), while SymbolRefAttr is appropriate for referencing existing operations. This change ensures that MLIR can correctly track the link to the referenced `func.func` operation.
After the refactor of the offloading behaviors, the ability to update the device settings for spir64_gen regressed for command lines using -Xsycl-target-backend. Fix this behavior and add some additional testing.
This is ready for review, other than cherry-picks, the following changes needs review.
|
LGTM |
While reviewing libclc, I'm seeing patch files and |
Good catch. Those we added accidentally by script, removed them. |
// RUN: FileCheck %s --check-prefix=BAD_AMD_INPUT | ||
// RUN: not %clang_cl -c -fsycl -fsycl-targets=amd_gpu_bad -### %s 2>&1 | \ | ||
// RUN: not %clang_cl -c -fsycl -fsycl-targets=amd_gpu_bad --rocm-device-lib-path=/Inputs/rocm/amdgcn/bitcode -### %s 2>&1 | \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not use -nogpulib
for both? The test is just for verifying a bad argument to -fsycl-targets
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
for some reason, cl mode driver does not respect -nogpulib.
@intel/llvm-gatekeepers This is ready for merge, can someone help issue a "/merge"? Thanks. |
/merge |
LLVM: llvm/llvm-project@30298f9
SPIRV-LLVM-Translator: KhronosGroup/SPIRV-LLVM-Translator@43a5855