llvm-project/llvm/test/CodeGen/X86/tailcc-fastisel.ll
Prabhu Rajasekaran 0a07e6beaf
[llvm] Allow Fast and Tail CC in UEFI (#138361)
Allow tail call and fastcc optimizations for UEFI X86_64 targets.
2025-05-06 15:48:05 -07:00

21 lines
780 B
LLVM

; RUN: llc < %s -mtriple=x86_64-apple-darwin -fast-isel -fast-isel-abort=1 | FileCheck %s -check-prefix=DARWIN64
; RUN: llc < %s -mtriple=x86_64-uefi -fast-isel -fast-isel-abort=1 | FileCheck %s -check-prefix=UEFI64
%0 = type { i64, i32, ptr }
define tailcc ptr @"visit_array_aux<`Reference>"(%0 %arg, i32 %arg1) nounwind {
fail: ; preds = %entry
%tmp20 = tail call tailcc ptr @"visit_array_aux<`Reference>"(%0 %arg, i32 undef) ; <ptr> [#uses=1]
; DARWIN64: jmp "_visit_array_aux<`Reference>" ## TAILCALL
; UEFI64: jmp "visit_array_aux<`Reference>" # TAILCALL
ret ptr %tmp20
}
define i32 @foo() nounwind {
entry:
%0 = tail call i32 (...) @bar() nounwind ; <i32> [#uses=1]
ret i32 %0
}
declare i32 @bar(...) nounwind