mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-28 07:05:11 +00:00
5b50326ddb
Summary: Simply replace usage of aliases to functions with aliasee. This came up when bitcode linking to builtin library and calls to aliases not being resolved. Also made minor improvements to existing test. Reviewers: tstellarAMD, alex-t, vpykhtin Subscribers: arsenm, wdng, rampitec Differential Revision: https://reviews.llvm.org/D24023 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@280221 91177308-0d34-0410-b5e6-96231b3b80d8
51 lines
1.2 KiB
LLVM
51 lines
1.2 KiB
LLVM
; RUN: llc -march=amdgcn -mcpu=SI -verify-machineinstrs < %s | FileCheck %s
|
|
; RUN: llc -march=amdgcn -mcpu=tonga -verify-machineinstrs < %s | FileCheck %s
|
|
; RUN: llc -march=r600 -mcpu=redwood -verify-machineinstrs < %s | FileCheck %s
|
|
|
|
; CHECK-NOT: {{^}}func:
|
|
define internal fastcc i32 @func(i32 %a) {
|
|
entry:
|
|
%tmp0 = add i32 %a, 1
|
|
ret i32 %tmp0
|
|
}
|
|
|
|
; CHECK: {{^}}kernel:
|
|
; CHECK-NOT: call
|
|
define void @kernel(i32 addrspace(1)* %out) {
|
|
entry:
|
|
%tmp0 = call i32 @func(i32 1)
|
|
store i32 %tmp0, i32 addrspace(1)* %out
|
|
ret void
|
|
}
|
|
|
|
; CHECK: {{^}}kernel2:
|
|
; CHECK-NOT: call
|
|
define void @kernel2(i32 addrspace(1)* %out) {
|
|
entry:
|
|
call void @kernel(i32 addrspace(1)* %out)
|
|
ret void
|
|
}
|
|
|
|
; CHECK-NOT: func_alias
|
|
@func_alias = alias i32 (i32), i32 (i32)* @func
|
|
|
|
; CHECK: {{^}}kernel3:
|
|
; CHECK-NOT: call
|
|
define void @kernel3(i32 addrspace(1)* %out) {
|
|
entry:
|
|
%tmp0 = call i32 @func_alias(i32 1)
|
|
store i32 %tmp0, i32 addrspace(1)* %out
|
|
ret void
|
|
}
|
|
|
|
; CHECK-NOT: kernel_alias
|
|
@kernel_alias = alias void (i32 addrspace(1)*), void (i32 addrspace(1)*)* @kernel
|
|
|
|
; CHECK: {{^}}kernel4:
|
|
; CHECK-NOT: call
|
|
define void @kernel4(i32 addrspace(1)* %out) {
|
|
entry:
|
|
call void @kernel_alias(i32 addrspace(1)* %out)
|
|
ret void
|
|
}
|