8000 AMDGPU: VIMAGE/VSAMPLE are bundle candidates by ruiling · Pull Request #140854 · llvm/llvm-project · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

AMDGPU: VIMAGE/VSAMPLE are bundle candidates #140854

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 2 commits into from
May 28, 2025
Merged

Conversation

ruiling
Copy link
Contributor
@ruiling ruiling commented May 21, 2025

No description provided.

@llvmbot
Copy link
Member
llvmbot commented May 21, 2025

@llvm/pr-subscribers-backend-amdgpu

Author: Ruiling, Song (ruiling)

Changes

Full diff: https://github.com/llvm/llvm-project/pull/140854.diff

1 Files Affected:

  • (modified) llvm/lib/Target/AMDGPU/SIPostRABundler.cpp (+2-1)
diff --git a/llvm/lib/Target/AMDGPU/SIPostRABundler.cpp b/llvm/lib/Target/AMDGPU/SIPostRABundler.cpp
index 87ff4b4d36940..efdc55b8e68be 100644
--- a/llvm/lib/Target/AMDGPU/SIPostRABundler.cpp
+++ b/llvm/lib/Target/AMDGPU/SIPostRABundler.cpp
@@ -64,7 +64,8 @@ class SIPostRABundler {
 
 constexpr uint64_t MemFlags = SIInstrFlags::MTBUF | SIInstrFlags::MUBUF |
                               SIInstrFlags::SMRD | SIInstrFlags::DS |
-                              SIInstrFlags::FLAT | SIInstrFlags::MIMG;
+                              SIInstrFlags::FLAT | SIInstrFlags::MIMG |
+                              SIInstrFlags::VIMAGE | SIInstrFlags::VSAMPLE;
 
 } // End anonymous namespace.
 

Copy link
Contributor
@arsenm arsenm left a comment

Choose a reason for hiding this comment

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

needs test

@jayfoad
Copy link
Contributor
jayfoad commented May 21, 2025

No objection to the patch, but I don't understand why this pass is useful. The original description (from https://reviews.llvm.org/D72737) said that we bundle the clauses formed by the pre-RA scheduler to prevent the post-RA scheduler from breaking them, instead of adding clustering mutations to the post-RA scheduler. But something has changed since then, and we do add clustering mutations to the post-RA scheduler.

@ruiling
Copy link
Contributor Author
ruiling commented May 27, 2025

No objection to the patch, but I don't understand why this pass is useful. The original description (from https://reviews.llvm.org/D72737) said that we bundle the clauses formed by the pre-RA scheduler to prevent the post-RA scheduler from breaking them, instead of adding clustering mutations to the post-RA scheduler. But something has changed since then, and we do add clustering mutations to the post-RA scheduler.

One of the reasons would be that pre-ra and post-ra scheduler uses different versions of tryCandidate. We would do aggressive clustering like in max-memory-clause schedule strategy. So this pass is useful like in the case.

@ruiling ruiling merged commit 4793e84 into llvm:main May 28, 2025
11 checks passed
sivan-shani pushed a commit to sivan-shani/llvm-project that referenced this pull request Jun 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants
0