Skip to content

Only strip invariant.load from special pointers#57386

Merged
vchuravy merged 3 commits intomasterfrom
vc/dont_strip_always_invariant_load
Feb 18, 2025
Merged

Only strip invariant.load from special pointers#57386
vchuravy merged 3 commits intomasterfrom
vc/dont_strip_always_invariant_load

Conversation

@vchuravy
Copy link
Copy Markdown
Member

Other backends (in this case NVPTX) require that invariant.load
metadata is maintained to generate non-coherent loads.

Currently, we unconditionally strip that metadata from all loads,
since our other uses of it may have become invalid.

x-ref: llvm/llvm-project#112834 JuliaGPU/CUDA.jl#2531

@vchuravy vchuravy force-pushed the vc/dont_strip_always_invariant_load branch from 8d29aa2 to 7b6646f Compare February 13, 2025 11:14
vchuravy and others added 3 commits February 17, 2025 11:34
Other backends (in this case NVPTX) require that `invariant.load`
metadata is maintained to generate non-coherent loads.

Currently, we unconditionally strip that metadata from all loads,
since our other uses of it may have become invalid.
Co-authored-by: Gabriel Baraldi <baraldigabriel@gmail.com>
@vchuravy vchuravy force-pushed the vc/dont_strip_always_invariant_load branch from 25aeb46 to cc34663 Compare February 17, 2025 10:34
@vchuravy
Copy link
Copy Markdown
Member Author

@nanosoldier runtests(ALL, vs = ":master", configuration = (buildflags=["LLVM_ASSERTIONS=1", "FORCE_ASSERTIONS=1"],), vs_configuration = (buildflags = ["LLVM_ASSERTIONS=1", "FORCE_ASSERTIONS=1"],))

@nanosoldier
Copy link
Copy Markdown
Collaborator

The package evaluation job you requested has completed - possible new issues were detected.
The full report is available.

Report summary

❗ Packages that crashed

2 packages crashed only on the current version.

  • An internal error was encountered: 1 packages
  • A segmentation fault happened: 1 packages

11 packages crashed on the previous version too.

✖ Packages that failed

36 packages failed only on the current version.

  • Package has test failures: 3 packages
  • Package tests unexpectedly errored: 2 packages
  • Tests became inactive: 1 packages
  • Test duration exceeded the time limit: 28 packages
  • Test log exceeded the size limit: 2 packages

1207 packages failed on the previous version too.

✔ Packages that passed tests

33 packages passed tests only on the current version.

  • Other: 33 packages

5154 packages passed tests on the previous version too.

~ Packages that at least loaded

10 packages successfully loaded only on the current version.

  • Other: 10 packages

2954 packages successfully loaded on the previous version too.

➖ Packages that were skipped altogether

1 packages were skipped only on the current version.

  • Package could not be installed: 1 packages

904 packages were skipped on the previous version too.

@vchuravy vchuravy merged commit 29da86b into master Feb 18, 2025
3 checks passed
@vchuravy vchuravy deleted the vc/dont_strip_always_invariant_load branch February 18, 2025 12:28
@vchuravy vchuravy added compiler:codegen Generation of LLVM IR and native code backport 1.10 Change should be backported to the 1.10 release backport 1.11 Change should be backported to release-1.11 backport 1.12 Change should be backported to release-1.12 labels Feb 18, 2025
KristofferC pushed a commit that referenced this pull request Feb 21, 2025
Other backends (in this case NVPTX) require that `invariant.load`
metadata is maintained to generate non-coherent loads.

Currently, we unconditionally strip that metadata from all loads,
since our other uses of it may have become invalid.

x-ref: llvm/llvm-project#112834
JuliaGPU/CUDA.jl#2531

---------

Co-authored-by: Gabriel Baraldi <baraldigabriel@gmail.com>
(cherry picked from commit 29da86b)
@KristofferC KristofferC mentioned this pull request Feb 21, 2025
24 tasks
KristofferC added a commit that referenced this pull request Feb 26, 2025
Backported PRs:
- [x] #57302 <!-- Add explicit imports for types and fix bugs -->
- [x] #57420 <!-- Compiler: Fix check for IRShow definedness -->
- [x] #57419 <!-- generated: Switch resolution module back to what it
was before -->
- [x] #57421 <!-- bpart: Skip implicit import reval if using'd export
set is unchanged -->
- [x] #57425 <!-- Prohibit binding replacement in closed modules during
precompile -->
- [x] #57426 <!-- Prohibit `import`ing or `using` Main during
incremental compilation -->
- [x] #57433 <!-- bpart: Track whether any binding replacement has
happened in image modules -->
- [x] #57445 <!-- Run all `--sysimage-native-code=no` cmdlineargs tests
single-threaded -->
- [x] #57386 <!-- Only strip invariant.load from special pointers -->
- [x] #57453 <!-- Revert "Make emitted egal code more loopy (#54121)"
-->
- [x] #57389 <!-- Change memory indexing to use the type as index
instead of i8 -->
- [x] #57447 <!-- Don't return null pointer when asking for the type of
a declared global -->
- [x] #57467 <!-- using/import: ensure world update after each
observable operation -->
- [x] #57471 <!-- staticdata: Don't use `newm` pointer after it has been
invalidated -->
- [x] #57416 <!-- lowering: Don't mutate lambda in `linearize` -->
@KristofferC KristofferC removed the backport 1.12 Change should be backported to release-1.12 label Feb 26, 2025
KristofferC pushed a commit that referenced this pull request Mar 11, 2025
Other backends (in this case NVPTX) require that `invariant.load`
metadata is maintained to generate non-coherent loads.

Currently, we unconditionally strip that metadata from all loads,
since our other uses of it may have become invalid.

x-ref: llvm/llvm-project#112834
JuliaGPU/CUDA.jl#2531

---------

Co-authored-by: Gabriel Baraldi <baraldigabriel@gmail.com>
(cherry picked from commit 29da86b)
@KristofferC KristofferC mentioned this pull request Mar 11, 2025
71 tasks
KristofferC pushed a commit that referenced this pull request Mar 11, 2025
Other backends (in this case NVPTX) require that `invariant.load`
metadata is maintained to generate non-coherent loads.

Currently, we unconditionally strip that metadata from all loads,
since our other uses of it may have become invalid.

x-ref: llvm/llvm-project#112834
JuliaGPU/CUDA.jl#2531

---------

Co-authored-by: Gabriel Baraldi <baraldigabriel@gmail.com>
(cherry picked from commit 29da86b)
@KristofferC KristofferC mentioned this pull request Mar 11, 2025
75 tasks
KristofferC pushed a commit that referenced this pull request Mar 25, 2025
Other backends (in this case NVPTX) require that `invariant.load`
metadata is maintained to generate non-coherent loads.

Currently, we unconditionally strip that metadata from all loads,
since our other uses of it may have become invalid.

x-ref: llvm/llvm-project#112834
JuliaGPU/CUDA.jl#2531

---------

Co-authored-by: Gabriel Baraldi <baraldigabriel@gmail.com>
(cherry picked from commit 29da86b)
@KristofferC KristofferC removed the backport 1.11 Change should be backported to release-1.11 label Apr 10, 2025
KristofferC pushed a commit that referenced this pull request Jun 5, 2025
Other backends (in this case NVPTX) require that `invariant.load`
metadata is maintained to generate non-coherent loads.

Currently, we unconditionally strip that metadata from all loads,
since our other uses of it may have become invalid.

x-ref: llvm/llvm-project#112834
JuliaGPU/CUDA.jl#2531

---------

Co-authored-by: Gabriel Baraldi <baraldigabriel@gmail.com>
(cherry picked from commit 29da86b)
KristofferC pushed a commit that referenced this pull request Jul 3, 2025
Other backends (in this case NVPTX) require that `invariant.load`
metadata is maintained to generate non-coherent loads.

Currently, we unconditionally strip that metadata from all loads,
since our other uses of it may have become invalid.

x-ref: llvm/llvm-project#112834
JuliaGPU/CUDA.jl#2531

---------

Co-authored-by: Gabriel Baraldi <baraldigabriel@gmail.com>
(cherry picked from commit 29da86b)
@DilumAluthge DilumAluthge mentioned this pull request Sep 13, 2025
71 tasks
@github-actions github-actions bot removed the backport 1.10 Change should be backported to the 1.10 release label Jan 18, 2026
@KristofferC KristofferC mentioned this pull request Mar 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

compiler:codegen Generation of LLVM IR and native code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants