mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-18 17:39:04 +00:00
35 lines
638 B
LLVM
35 lines
638 B
LLVM
|
; RUN: llvm-as %s -o - | llvm-dis > %t1.ll
|
||
|
; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
|
||
|
; RUN: diff %t1.ll %t2.ll
|
||
|
|
||
|
%myty = type i55
|
||
|
%myfn = type float (i55,double,i55,i16)
|
||
|
type i55(%myfn*)
|
||
|
type i55(i55)
|
||
|
type i55(i55(i55)*)
|
||
|
|
||
|
%thisfuncty = type i55 (i55) *
|
||
|
implementation
|
||
|
|
||
|
declare void %F(%thisfuncty, %thisfuncty, %thisfuncty)
|
||
|
|
||
|
; This function always returns zero
|
||
|
define i55 %zarro(i55 %Func)
|
||
|
begin
|
||
|
Startup:
|
||
|
add i55 0, 10
|
||
|
ret i55 0
|
||
|
end
|
||
|
|
||
|
define i55 %test(i55)
|
||
|
begin
|
||
|
call void %F(%thisfuncty %zarro, %thisfuncty %test, %thisfuncty %foozball)
|
||
|
ret i55 0
|
||
|
end
|
||
|
|
||
|
define i55 %foozball(i55)
|
||
|
begin
|
||
|
ret i55 0
|
||
|
end
|
||
|
|