AMDGPU: Stop forcing internalize at -O0

This doesn't really matter if clang is always emitting
the visibility as hidden by default.

llvm-svn: 341168
This commit is contained in:
Matt Arsenault 2018-08-31 06:02:36 +00:00
parent d9e8c773de
commit 988df63525
2 changed files with 4 additions and 14 deletions

View File

@ -359,17 +359,6 @@ void AMDGPUTargetMachine::adjustPassManager(PassManagerBuilder &Builder) {
Builder.Inliner = createAMDGPUFunctionInliningPass();
}
if (Internalize) {
// If we're generating code, we always have the whole program available. The
// relocations expected for externally visible functions aren't supported,
// so make sure every non-entry function is hidden.
Builder.addExtension(
PassManagerBuilder::EP_EnabledOnOptLevel0,
[](const PassManagerBuilder &, legacy::PassManagerBase &PM) {
PM.add(createInternalizePass(mustPreserveGV));
});
}
Builder.addExtension(
PassManagerBuilder::EP_ModuleOptimizerEarly,
[Internalize, EarlyInline, AMDGPUAA](const PassManagerBuilder &,

View File

@ -8,14 +8,15 @@
; ALL: gvar_used
@gvar_used = addrspace(1) global i32 undef, align 4
; ALL: define internal fastcc void @func_used_noinline(
; OPT: define internal fastcc void @func_used_noinline(
; OPT-NONE: define fastcc void @func_used_noinline(
define fastcc void @func_used_noinline(i32 addrspace(1)* %out, i32 %tid) #1 {
entry:
store volatile i32 %tid, i32 addrspace(1)* %out
ret void
}
; OPTNONE: define internal fastcc void @func_used_alwaysinline(
; OPTNONE: define fastcc void @func_used_alwaysinline(
; OPT-NOT: @func_used_alwaysinline
define fastcc void @func_used_alwaysinline(i32 addrspace(1)* %out, i32 %tid) #2 {
entry:
@ -23,7 +24,7 @@ entry:
ret void
}
; OPTNONE: define internal void @func_unused(
; OPTNONE: define void @func_unused(
; OPT-NOT: @func_unused
define void @func_unused(i32 addrspace(1)* %out, i32 %tid) #1 {
entry: