-
Notifications
You must be signed in to change notification settings - Fork 14.1k
Revert "Revert "[AMDGPU][LTO] Assume closed world after linking (#105845)" (#106000)" #106001
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
Revert "Revert "[AMDGPU][LTO] Assume closed world after linking (#105845)" (#106000)" #106001
Conversation
…#105845)" (llvm#106000)" This reverts commit 4b6c064. Add a requirement for an amdgpu target in the test.
@llvm/pr-subscribers-backend-amdgpu @llvm/pr-subscribers-lto Author: Anshil Gandhi (gandhi56) ChangesThis reverts commit 4b6c064. Add a requirement for an amdgpu target in the test. Full diff: https://github.com/llvm/llvm-project/pull/106001.diff 3 Files Affected:
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp b/llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
index d65e0ae92308e6..81932cc2c3c3bc 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
@@ -1066,6 +1066,10 @@ static bool runImpl(Module &M, AnalysisGetter &AG, TargetMachine &TM,
Attributor A(Functions, InfoCache, AC);
+ LLVM_DEBUG(dbgs() << "Module " << M.getName() << " is "
+ << (AC.IsClosedWorldModule ? "" : "not ")
+ << "assumed to be a closed world.\n");
+
for (Function &F : M) {
if (F.isIntrinsic())
continue;
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp b/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
index 7ac7b3315bb972..307774ea3da9eb 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
@@ -760,8 +760,12 @@ void AMDGPUTargetMachine::registerPassBuilderCallbacks(PassBuilder &PB) {
// module is partitioned for codegen.
if (EnableLowerModuleLDS)
PM.addPass(AMDGPULowerModuleLDSPass(*this));
- if (EnableAMDGPUAttributor && Level != OptimizationLevel::O0)
- PM.addPass(AMDGPUAttributorPass(*this));
+
+ if (EnableAMDGPUAttributor && Level != OptimizationLevel::O0) {
+ AMDGPUAttributorOptions Opts;
+ Opts.IsClosedWorld = true;
+ PM.addPass(AMDGPUAttributorPass(*this, Opts));
+ }
});
PB.registerRegClassFilterParsingCallback(
diff --git a/llvm/test/LTO/AMDGPU/gpu-rdc-amdgpu-attrs.ll b/llvm/test/LTO/AMDGPU/gpu-rdc-amdgpu-attrs.ll
new file mode 100644
index 00000000000000..42640f94537640
--- /dev/null
+++ b/llvm/test/LTO/AMDGPU/gpu-rdc-amdgpu-attrs.ll
@@ -0,0 +1,12 @@
+; RUN: opt -O3 -debug-only=amdgpu-attributor -S -o - %s 2>&1 | FileCheck %s --check-prefix=PRE-LINK
+; RUN: opt -passes="lto<O3>" -debug-only=amdgpu-attributor -S -o - %s 2>&1 | FileCheck %s --check-prefix=POST-LINK
+
+; REQUIRES: amdgpu-registered-target
+
+target triple = "amdgcn-amd-amdhsa"
+
+; PRE-LINK: Module {{.*}} is not assumed to be a closed world.
+; POST-LINK: Module {{.*}} is assumed to be a closed world.
+define hidden noundef i32 @_Z3foov() {
+ ret i32 1
+}
|
LLVM Buildbot has detected a new failure on builder Full details are available at: https://lab.llvm.org/buildbot/#/builders/63/builds/1213 Here is the relevant piece of the build log for the reference
|
@@ -0,0 +1,12 @@ | |||
; RUN: opt -O3 -debug-only=amdgpu-attributor -S -o - %s 2>&1 | FileCheck %s --check-prefix=PRE-LINK | |||
; RUN: opt -passes="lto<O3>" -debug-only=amdgpu-attributor -S -o - %s 2>&1 | FileCheck %s --check-prefix=POST-LINK |
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.
-debug-only
won't work wth LLVM_ENABLE_ASSERTIONS=OFF
.
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.
I see, do you know how I could add a requirement for assertions then?
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.
Created a PR: #106027
This reverts commit 4b6c064.
Add a requirement for an amdgpu target in the test.