llvm-6502/test/Integer/calltest_bt.ll
Reid Spencer ef9b9a7939 For PR411:
This patch replaces the SymbolTable class with ValueSymbolTable which does
not support types planes. This means that all symbol names in LLVM must now
be unique. The patch addresses the necessary changes to deal with this and
removes code no longer needed as a result. This completes the bulk of the
changes for this PR. Some cleanup patches will follow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33918 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-05 20:47:22 +00:00

34 lines
759 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
%FunTy = type i28(i28)
declare i28 @"test"(...) ; Test differences of prototype
implementation
define void @"invoke"(%FunTy *%x) {
%foo = call %FunTy* %x(i28 123)
%foo2 = tail call %FunTy* %x(i28 123)
ret void
}
define i28 @"main"(i28 %argc) ; TODO: , sbyte **argv, sbyte **envp)
begin
%retval = call i28 (i28) *@test2(i28 %argc)
%two = add i28 %retval, %retval
%retval2 = invoke i28 @test2(i28 %argc)
to label %Next unwind label %Error
Next:
%two2 = add i28 %two, %retval2
call void @invoke (%FunTy* @test2)
ret i28 %two2
Error:
ret i28 -1
end
define i28 @"test2"(i28 %i0) {
ret i28 %i0
}