mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 11:42:57 +01:00
e7e2ccb9e9
This is similar to the 'tail' marker, except that it guarantees that tail call optimization will occur. It also comes with convervative IR verification rules that ensure that tail call optimization is possible. Reviewers: nicholas Differential Revision: http://llvm-reviews.chandlerc.com/D3240 llvm-svn: 207143
17 lines
400 B
LLVM
17 lines
400 B
LLVM
; RUN: llvm-as %s -o /dev/null
|
|
|
|
; Should assemble without error.
|
|
|
|
declare void @similar_param_ptrty_callee(i8*)
|
|
define void @similar_param_ptrty(i32*) {
|
|
musttail call void @similar_param_ptrty_callee(i8* null)
|
|
ret void
|
|
}
|
|
|
|
declare i8* @similar_ret_ptrty_callee()
|
|
define i32* @similar_ret_ptrty() {
|
|
%v = musttail call i8* @similar_ret_ptrty_callee()
|
|
%w = bitcast i8* %v to i32*
|
|
ret i32* %w
|
|
}
|