[Frontend] Remove unused includes (NFC) (#116927)
[llvm-project.git] / llvm / test / CodeGen / BPF / bpf-fastcall-5.ll
blob608ab4a0bb0cfd2f419033271d507fe0fc2bd677
1 ; RUN: llc -O2 --march=bpfel %s -o - | FileCheck %s
3 ; Generated from the following C code:
5 ;   extern int foo(void) __attribute__((bpf_fastcall));
7 ;   int bar(int a, int b, int c, int d, int e) {
8 ;     foo();
9 ;     return e;
10 ;   }
12 ; Using the following command:
14 ;   clang --target=bpf -emit-llvm -O2 -S -o - t.c
16 ; (unnecessary attrs removed maually)
18 ; Check that function marked with bpf_fastcall does not clobber W1-W5.
20 define dso_local i32 @bar(i32 %a, i32 %b, i32 %c, i32 %d, i32 %e) {
21 entry:
22   %call = tail call i32 @foo() #0
23   ret i32 %e
26 ; CHECK:      # %bb.0:
27 ; CHECK-NEXT:   *(u64 *)(r10 - 8) = r5
28 ; CHECK-NEXT:   call foo
29 ; CHECK-NEXT:   r5 = *(u64 *)(r10 - 8)
30 ; CHECK-NEXT:   w0 = w5
31 ; CHECK-NEXT:   exit
33 declare dso_local i32 @foo() #0
35 attributes #0 = { "bpf_fastcall" }