mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-01 05:01:59 +01:00
[AMDGPU] Run always inliner early in opt
Differential Revision: https://reviews.llvm.org/D31141 llvm-svn: 298281
This commit is contained in:
parent
4baa53985f
commit
c2d33a361e
@ -252,6 +252,7 @@ void AMDGPUTargetMachine::adjustPassManager(PassManagerBuilder &Builder) {
|
||||
return !GV.use_empty();
|
||||
}));
|
||||
PM.add(createGlobalDCEPass());
|
||||
PM.add(createAMDGPUAlwaysInlinePass());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
12
test/CodeGen/AMDGPU/early-inline-alias.ll
Normal file
12
test/CodeGen/AMDGPU/early-inline-alias.ll
Normal file
@ -0,0 +1,12 @@
|
||||
; RUN: opt -mtriple=amdgcn-- -O1 -S -inline-threshold=1 %s | FileCheck %s
|
||||
|
||||
; CHECK: @add1alias = alias i32 (i32), i32 (i32)* @add1
|
||||
; CHECK: @add1alias2 = alias i32 (i32), i32 (i32)* @add1
|
||||
|
||||
@add1alias = alias i32 (i32), i32 (i32)* @add1
|
||||
@add1alias2 = alias i32 (i32), i32 (i32)* @add1
|
||||
|
||||
define i32 @add1(i32) {
|
||||
%2 = add nsw i32 %0, 1
|
||||
ret i32 %2
|
||||
}
|
21
test/CodeGen/AMDGPU/early-inline.ll
Normal file
21
test/CodeGen/AMDGPU/early-inline.ll
Normal file
@ -0,0 +1,21 @@
|
||||
; RUN: opt -mtriple=amdgcn-- -O1 -S -inline-threshold=1 -amdgpu-internalize-symbols %s | FileCheck %s
|
||||
|
||||
define i32 @callee(i32 %x) {
|
||||
entry:
|
||||
%mul1 = mul i32 %x, %x
|
||||
%mul2 = mul i32 %mul1, %x
|
||||
%mul3 = mul i32 %mul1, %mul2
|
||||
%mul4 = mul i32 %mul3, %mul2
|
||||
%mul5 = mul i32 %mul4, %mul3
|
||||
ret i32 %mul5
|
||||
}
|
||||
|
||||
; CHECK-LABEL: @caller
|
||||
; CHECK: mul i32
|
||||
; CHECK-NOT: call i32
|
||||
|
||||
define amdgpu_kernel i32 @caller(i32 %x) {
|
||||
entry:
|
||||
%res = call i32 @callee(i32 %x)
|
||||
ret i32 %res
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user