mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 12:43:36 +01:00
[NewPM][AMDGPU] Run InternalizePass when -amdgpu-internalize-symbols
The legacy PM doesn't run EP_ModuleOptimizerEarly on -O0, so skip running it here when given O0. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D93886
This commit is contained in:
parent
9ea160d01c
commit
b6b5ea5b82
@ -51,6 +51,8 @@
|
||||
#include "llvm/Target/TargetLoweringObjectFile.h"
|
||||
#include "llvm/Transforms/IPO.h"
|
||||
#include "llvm/Transforms/IPO/AlwaysInliner.h"
|
||||
#include "llvm/Transforms/IPO/GlobalDCE.h"
|
||||
#include "llvm/Transforms/IPO/Internalize.h"
|
||||
#include "llvm/Transforms/IPO/PassManagerBuilder.h"
|
||||
#include "llvm/Transforms/Scalar.h"
|
||||
#include "llvm/Transforms/Scalar/GVN.h"
|
||||
@ -525,6 +527,17 @@ void AMDGPUTargetMachine::registerPassBuilderCallbacks(PassBuilder &PB,
|
||||
PM.addPass(createModuleToFunctionPassAdaptor(std::move(FPM)));
|
||||
});
|
||||
|
||||
PB.registerPipelineEarlySimplificationEPCallback(
|
||||
[](ModulePassManager &PM, PassBuilder::OptimizationLevel Level) {
|
||||
if (Level == PassBuilder::OptimizationLevel::O0)
|
||||
return;
|
||||
|
||||
if (InternalizeSymbols) {
|
||||
PM.addPass(InternalizePass(mustPreserveGV));
|
||||
PM.addPass(GlobalDCEPass());
|
||||
}
|
||||
});
|
||||
|
||||
PB.registerCGSCCOptimizerLateEPCallback(
|
||||
[this, DebugPassManager](CGSCCPassManager &PM,
|
||||
PassBuilder::OptimizationLevel Level) {
|
||||
|
@ -1,5 +1,7 @@
|
||||
; RUN: opt -O1 -S -mtriple=amdgcn-unknown-amdhsa -amdgpu-internalize-symbols < %s | FileCheck -check-prefix=ALL -check-prefix=OPT %s
|
||||
; RUN: opt -O0 -S -mtriple=amdgcn-unknown-amdhsa -amdgpu-internalize-symbols < %s | FileCheck -check-prefix=ALL -check-prefix=OPTNONE %s
|
||||
; RUN: opt -passes='default<O0>' -S -mtriple=amdgcn-unknown-amdhsa -amdgpu-internalize-symbols < %s | FileCheck -check-prefix=ALL -check-prefix=OPTNONE %s
|
||||
; RUN: opt -O1 -S -mtriple=amdgcn-unknown-amdhsa -amdgpu-internalize-symbols < %s | FileCheck -check-prefix=ALL -check-prefix=OPT %s
|
||||
; RUN: opt -passes='default<O1>' -S -mtriple=amdgcn-unknown-amdhsa -amdgpu-internalize-symbols < %s | FileCheck -check-prefix=ALL -check-prefix=OPT %s
|
||||
|
||||
; OPT-NOT: gvar_unused
|
||||
; OPTNONE: gvar_unused
|
||||
|
Loading…
Reference in New Issue
Block a user