Skip to content

LLVM and SPIRV-LLVM-Translator pulldown (WW22 2025) #18738

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 1,919 commits into from
Jun 3, 2025
Merged

Conversation

iclsrc
Copy link
Contributor

@iclsrc iclsrc commented May 30, 2025

clementval and others added 30 commits May 19, 2025 15:02
Switch from `int64_t` to `int64_t*` to fit with the rest of the
implementation.

New tentative with some fix. The previous was reverted some time ago.

Reviewed in #138010
…nts. (#140162)

Recently, I got a report how a user 'hung', and come to find out it's
actually because DAP is checking percentage, and on non-deterministic
events, we will effectively never send a progress event to DAP. Here we
short circuit and don't view percentages for DAP messages and solely
depend on the DAP 250ms throttle, which is probably still too
aggressive, but better than no updates.
if the `cwd` option is empty this means the adapter is created in the
home folder.

Any relative file saved is in the home folder. The files should be
relative to the current workspace folder.
Having the whole clause emission be in a header file ended up being
pragmatic, but ended up being a sizable negative for a variety of
reasons. This patch moves it to its own .cpp file and makes
CIRGenFunction instead call into the visitor via a template instead.

This is possible because the valid list of construct kinds is quite
finite, and easy to enumerate.
Add support for riscv32 ELF corefiles.
…e (#140620)

Adds checks for resource globals that were created for DXIL metadata.
The names of the globals and the names of the types will be changing
soon. Adding these to the baseline will make it easier to see what is
changing.
…#140501)

Part of a larger refactoring with the following goals
1. Reduce the size of MemProf.h 
2. Avoid including ModuleSummaryIndex just for a couple of types
Part of a larger refactoring with the following goals
1. Reduce the size of MemProf.h 
2. Avoid including ModuleSummaryIndex just for a couple of types
Part of a larger refactoring with the following goals
1. Reduce the size of MemProf.h 
2. Avoid including ModuleSummaryIndex just for a couple of types
Part of a larger refactoring with the following goals
1. Reduce the size of MemProf.h 
2. Avoid including ModuleSummaryIndex just for a couple of types
This test seems to be non-determistic recently.
Changed it not to rely on offsets.
…duleSummary (Core) to a separate header (#140505)

Part of a larger refactoring with the following goals
1. Reduce the size of MemProf.h 
2. Avoid including ModuleSummaryIndex just for a couple of types
Instead of looking through all the vectorizable tree to find the operand
entry, better to store it in a separate map and perform quick lookup,
basing on user tree entry and operand index.
It allows to remove lots of duplicated code, simplify processing and fix
potential future issues with the analysis, affected by the codegen.
Also, improves compile time.

Reviewers: HanKuanChen, RKSimon, hiraditya

Reviewed By: hiraditya

Pull Request: llvm/llvm-project#140549
This clarifies the outcome of the discussion in
https://discourse.llvm.org/t/clarifiying-the-semantics-of-ptrtoint/83987/54
In the future, we will also introduce a non-capturing pointer -> address
conversion using a new `ptrtoaddr` instruction.

Reviewed By: krzysz00

Pull Request: llvm/llvm-project#139349
…y (#140650)

#140505 dropped the dependency on core but it's still needed as indicated by the failing dynamically linked builds.
Of the 128-bits of buffer descriptor only 48 bits are address bits, so
following the discussion on https://discourse.llvm.org/t/clarifiying-the-semantics-of-ptrtoint/83987/54,
the logic conclusion is to set the index width to 48 bits instead of
the current value of 128.

Most of the test changes are mechanical datalayout updates, but there
is one actual change: the ptrmask test now uses .i48 instead of .i128
and I had to update SelectionDAGBuilder to correctly extend the mask.

Reviewed By: krzysz00

Pull Request: llvm/llvm-project#139419
When linker relaxation is enabled, relaxable relocations are followed by
a R_RISCV_RELAX/R_LARCH_RELAX relocation. They are encoded as two fixups by
CodeEmitter and expected to have the same `IsResolved` value within
MCAssembler::evaluateFixup (they must lead to either 0 or 2
relocations). This scheme wasite space and requires RISCVAsmBackend::shouldForceRelocation
to be conservative.

This patch introduces MCFixup::NeedsRelax to encode the RELAX relocation implicitly.
The fixup will lead to either 0 or 2 relocations.

Pull Request: llvm/llvm-project#140494
getArgumentsIfRequest is returning a local variable by value. Using
std::move is not needed and may inhibit copy elision. Also fixes the
braces around a single-line if.
@jsji jsji temporarily deployed to WindowsCILock May 31, 2025 17:43 — with GitHub Actions Inactive
@jsji jsji temporarily deployed to WindowsCILock May 31, 2025 17:43 — with GitHub Actions Inactive
@jsji
Copy link
Contributor

jsji commented May 31, 2025

This is ready for review.

@frasercrmck
Copy link
Contributor

I merged #18626 which caused conflicts in libclc here, so I merged sycl, resolved the conflicts and push the fix. I hope that's alright.

@@ -6899,7 +6899,7 @@ void CodeGenModule::EmitGlobalFunctionDefinition(GlobalDecl GD,
if (GD.getKernelReferenceKind() == KernelReferenceKind::Stub &&
!D->hasAttr<NoInlineAttr>() &&
!Fn->hasFnAttribute(llvm::Attribute::NoInline) &&
!D->hasAttr<OptimizeNoneAttr>() &&
!D->hasAttr<OptimizeNoneAttr>() && !LangOpts.SYCLIsNativeCPU &&
Copy link
Contributor

Choose a reason for hiding this comment

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

Shouldn't we also add !LangOpts.SYCLIsDevice?

Copy link
Contributor

Choose a reason for hiding this comment

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

Sure, we can.

@jsji jsji force-pushed the llvmspirv_pulldown branch from 91dbbfc to cdf4060 Compare June 3, 2025 16:37
@jsji jsji temporarily deployed to WindowsCILock June 3, 2025 16:37 — with GitHub Actions Inactive
@jsji jsji temporarily deployed to WindowsCILock June 3, 2025 18:04 — with GitHub Actions Inactive
@jsji jsji temporarily deployed to WindowsCILock June 3, 2025 18:04 — with GitHub Actions Inactive
Copy link
Contributor

@sarnex sarnex left a comment

Choose a reason for hiding this comment

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

NEO_CACHE_PERSISTENT lgtm!

@sarnex
Copy link
Contributor

sarnex commented Jun 3, 2025

/merge

@bb-sycl
Copy link
Contributor

bb-sycl commented Jun 3, 2025

Tue 03 Jun 2025 06:39:18 PM UTC --- Start to merge the commit into sycl branch. It will take several minutes.

@jsji
Copy link
Contributor

jsji commented Jun 3, 2025

@intel/llvm-gatekeepers This is ready for merge -- UR CI failures are common to sycl branch.

@bb-sycl
Copy link
Contributor

bb-sycl commented Jun 3, 2025

Tue 03 Jun 2025 07:00:40 PM UTC --- Merge the branch in this PR to base automatically. Will close the PR later.

@bb-sycl bb-sycl merged commit 19964c3 into sycl Jun 3, 2025
42 of 54 checks passed
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.