// RUN: %clang %s -target bpfeb -x c -emit-llvm -S -g -O2 -Xclang -disable-llvm-passes -o - | FileCheck --check-prefix=CHECK %s // RUN: %clang %s -target bpfel -x c -emit-llvm -S -g -O2 -Xclang -disable-llvm-passes -o - | FileCheck --check-prefix=CHECK %s struct t { int i:1; int j:2; union { int a; int b; } c[4]; }; #define _(x) (__builtin_preserve_access_index(x)) const void *test(struct t *arg) { return _(&arg->c[3].b); } // CHECK: llvm.preserve.struct.access.index // CHECK: llvm.preserve.array.access.index // CHECK: llvm.preserve.union.access.index // CHECK-NOT: __builtin_preserve_access_index