Skip to content

LLVM and SPIRV-LLVM-Translator pulldown (WW13 2025) #17710

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

Merged
merged 5,496 commits into from
Apr 8, 2025
Merged

Conversation

iclsrc
Copy link
Contributor

@iclsrc iclsrc commented Mar 28, 2025

shiltian and others added 30 commits March 17, 2025 11:42
…1486)

Fixes #131359

After #129645, a first-order recurrence will no longer have it's splice
costed if the VPInstruction::FirstOrderRecurrenceSplice has no users and
is dead.

The legacy cost model didn't account for this, so this accounts for it
in planContainsAdditionalSimplifications to avoid the "VPlan cost model
and legacy cost model disagreed" assertion.
…(#131401)

Until recently checkFeature was quite slow. #130936

I was curious where we use checkFeature and noticed these. I thought we
could use hasFeature instead of going through strings.
…0176)

When negating an FMA opcode, a new node created for a negated FMA
operand may be deleted while recursively negating another FMA operand.
This causes the following assertion to fail:
```
llc: /root/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:7686: llvm::SDValue llvm::SelectionDAG::getNode(unsigned int, const llvm::SDLoc&, llvm::EVT, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::SDNodeFlags): Assertion `N1.getOpcode() != ISD::DELETED_NODE && N2.getOpcode() != ISD::DELETED_NODE && N3.getOpcode() != ISD::DELETED_NODE && "Operand is DELETED_NODE!"' failed.
```
This patch adds a temporary handle on the new negated nodes to prevent
them from being deleted.
For eg. see https://godbolt.org/z/Tq4PvnKM4 .

Co-authored-by: Vineet Kumar <[email protected]>
This is split off from #131300.

A VPReductionRecipe will never have a AnyOf or FindLastIV recurrence, so
when it calls createReduction it always calls createSimpleReduction.

If we replace the call then it leaves createReduction with one user in
VPInstruction::ComputeReductionResult, which we can inline and then
remove.
This commit resolves an issue in the LLVMIR export that caused the
duplication of the "Debug Info Version" module flag, when it was already
in MLIR.
…ists (#126923)

These changes tracks `glob.h` for the implementation status of functions
and macros, with respect to the issue ( #122006 ) .

cc @nickdesaulniers
…ponse. (#130090)

This is a work in progress refactor to add explicit types instead of
generic 'llvm::json::Value' types to the DAP protocol.

This updates RequestHandler to have take the type of the arguments and
response body for serialization for requests.

The 'source' and 'disconnect' request is updated to show how the new
flow
works and includes serialization handling for optional arguments and
'void'
responses.

This is built on top of #130026

---------

Co-authored-by: Adrian Vogelsgesang <[email protected]>
  CONFLICT (content): Merge conflict in llvm/tools/sycl-post-link/sycl-post-link.cpp
And diagnose if we're trying to destroy an inactive member of a union.
Need to check VectorizableTree is not empty before accessing elements.

Fixes #131635
This reverts commit f9146cc
([libc][bazel] explicitly use system-provided errno in Bazel builds.
(#130663))

This change causes problems in Bazel builds where system errno is set to
non-zero before the tests even begin to run - see PR #131650 for the
disucssion on how to address this.
Add additional vector scalar overloads for clamp using templates
Add Tests
fixup tests which have changed.
Closes #128230
…27354)

This patch adds benchmarks for all the remaining algorithms in
[alg.modifying.operations] that we didn't already have a benchmark for.
We need to add commutated variants (to match the original bug report), some of which are still failing....
… (#131409)

Rename RISCV32GPRPair and RISCV32Only_ to RV32Only. This gives a more
natural home for the P extension RV32 conflicts.

While I was there I made some improvements to the debug messages.
… (#131055)

Report the range in diagnostics, in addition to the location
in case the range helps disambiguate a little in chained `->`
expressions.
```
b->a->f->x = 1;
^~~~~~~
```
instead of just:
```
b->a->f->x = 1;
^
```
As a followup we should probably also report the location/range
of an `->` if that operator is used. Like:
```
b->a->f->x = 1;
       ^~
```
…urn types (#131035)

Fixes #131024.
- Fixes template for scalar and vector `fmod` intrinsic overloads
- Fixes `fmod` Sema test
@jsji jsji temporarily deployed to WindowsCILock April 6, 2025 14:34 — with GitHub Actions Inactive
@jsji jsji temporarily deployed to WindowsCILock April 6, 2025 14:34 — with GitHub Actions Inactive
@jsji jsji temporarily deployed to WindowsCILock April 6, 2025 15:01 — with GitHub Actions Inactive
@jsji jsji temporarily deployed to WindowsCILock April 6, 2025 15:01 — with GitHub Actions Inactive
@jsji jsji temporarily deployed to WindowsCILock April 6, 2025 15:22 — with GitHub Actions Inactive
@jsji
Copy link
Contributor

jsji commented Apr 6, 2025

Copy link
Contributor

@asudarsa asudarsa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

About 4604246

It is interesting that such a change results in errors in sycl-ls. Reverting seems ok to unblock pulldown. But, issue should be triaged soon.

Thanks

// CHECK-NEXT: ret void
//
SYCL_EXTERNAL auto to_global_decorated(decorated_generic_ptr<int> p) {
return static_address_cast<access::address_space::global_space>(p);
}
// CHECK-LABEL: define dso_local spir_func void @_ZN14static_as_cast23to_global_not_decoratedEPi(
// CHECK-SAME: ptr addrspace(4) dead_on_unwind noalias writable writeonly sret(%"class.sycl::_V1::multi_ptr.1") align 8 captures(none) initializes((0, 8)) [[AGG_RESULT:%.*]], ptr addrspace(4) noundef [[P:%.*]]) local_unnamed_addr #[[ATTR1:[0-9]+]] !srcloc [[META20:![0-9]+]] !sycl_fixed_targets [[META7]] {
// CHECK-SAME: ptr dead_on_unwind noalias writable writeonly sret(%"class.sycl::_V1::multi_ptr.1") align 8 captures(none) [[AGG_RESULT:%.*]], ptr addrspace(4) noundef [[P:%.*]]) local_unnamed_addr #[[ATTR1:[0-9]+]] {{.*}}{
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we losing the "initializes" info with this change?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, that looks like the side effect of addspace change

Copy link
Contributor

@jsji jsji Apr 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The CHECK lines are autogened by script, and pass the test.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, I think it may be fine.

@jsji
Copy link
Contributor

jsji commented Apr 7, 2025

About 4604246

It is interesting that such a change results in errors in sycl-ls. Reverting seems ok to unblock pulldown. But, issue should be triaged soon.

Thanks

I believe it is exactly the same problem with llvm/llvm-project#24952, but sure,
#17888 opened for team to follow up to double confirm.

@jsji
Copy link
Contributor

jsji commented Apr 7, 2025

@intel/llvm-gatekeepers I think this is read for merge. Unless we want to wait for CI fix.

@@ -8,6 +8,8 @@
// UNSUPPORTED: target-nvidia, target-amd
// UNSUPPORTED-INTENDED: aspect-ext_intel_matrix isn't currently supported for
// other triples
// XFAIL: run-mode && arch-intel_gpu_bmg_g21
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this pass on PVC? only BMG is affected?

Copy link
Contributor

@jsji jsji Apr 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are NO PVC run in CI for now.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe it should affect PVC as well.

@@ -9,6 +9,9 @@
// UNSUPPORTED-INTENDED: aspect-ext_intel_matrix isn't currently supported for
// other triples

// XFAIL: run-mode && arch-intel_gpu_bmg_g21
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this pass on PVC? only BMG is affected?

@jsji jsji temporarily deployed to WindowsCILock April 7, 2025 16:59 — with GitHub Actions Inactive
@jsji jsji temporarily deployed to WindowsCILock April 7, 2025 17:00 — with GitHub Actions Inactive
@jsji jsji temporarily deployed to WindowsCILock April 7, 2025 17:53 — with GitHub Actions Inactive
@jsji jsji temporarily deployed to WindowsCILock April 7, 2025 18:14 — with GitHub Actions Inactive
@jsji jsji temporarily deployed to WindowsCILock April 7, 2025 18:14 — with GitHub Actions Inactive
@jsji
Copy link
Contributor

jsji commented Apr 8, 2025

@intel/llvm-gatekeepers Can someone help to issue a /merge? Thanks!

@uditagarwal97
Copy link
Contributor

/merge

@jsji
Copy link
Contributor

jsji commented Apr 8, 2025

/merge

:(, stop working again... @DoyleLi

@bb-sycl
Copy link
Contributor

bb-sycl commented Apr 8, 2025

Tue 08 Apr 2025 12:34:58 AM UTC --- Start to merge the commit into sycl branch. It will take several minutes.

@bb-sycl
Copy link
Contributor

bb-sycl commented Apr 8, 2025

Tue 08 Apr 2025 12:45:12 AM UTC --- Merge the branch in this PR to base automatically. Will close the PR later.

@bb-sycl bb-sycl merged commit 22c6c11 into sycl Apr 8, 2025
52 of 54 checks passed
@DoyleLi
Copy link
Contributor

DoyleLi commented Apr 8, 2025

/merge

:(, stop working again... @DoyleLi

Hi @jsji should be infrastructure issue from node. Now the system is back online.

@jsji jsji deleted the llvmspirv_pulldown branch April 8, 2025 02:00
@jsji
Copy link
Contributor

jsji commented Apr 8, 2025

/merge

:(, stop working again... @DoyleLi

Hi @jsji should be infrastructure issue from node. Now the system is back online.

Great. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
disable-lint Skip linter check step and proceed with build jobs
Projects
None yet
Development

Successfully merging this pull request may close these issues.