================ @@ -0,0 +1,24 @@ +// REQUIRES: bpf-registered-target +// RUN: %clang_cc1 -triple bpf -emit-llvm -disable-llvm-passes %s -o - | FileCheck %s + +#define __bpf_fastcall __attribute__((bpf_fastcall)) + +void test(void) __bpf_fastcall; +void (*ptr)(void) __bpf_fastcall; + +void foo(void) { + test(); + (*ptr)(); +} + +// CHECK: @ptr = global ptr null +// CHECK: define {{.*}} @foo() +// CHECK: entry: +// CHECK: call void @test() #[[test_attr:[0-9]+]] +// CHECK: %[[ptr:.*]] = load ptr, ptr @ptr, align 8 +// CHECK: call void %[[ptr]]() #[[test_attr]] +// CHECK: ret void + +// CHECK: declare void @test() #[[ptr_attr:[0-9]+]] +// CHECK: attributes #1 = { {{.*}}"bpf_fastcall"{{.*}} } ---------------- yonghong-song wrote:
The above ptr_attr is not used. You actually mean "#1" is for ptr_attr, right? https://github.com/llvm/llvm-project/pull/101228 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits