aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJose E. Marchesi <jose.marchesi@oracle.com>2024-01-27 20:08:12 +0100
committerJose E. Marchesi <jose.marchesi@oracle.com>2024-01-27 20:08:12 +0100
commitf64448f4ff1c671778a1d7d7678a281c6bc6450e (patch)
treeb6d9d7ef8bf372922c300340237a04db0d60e3f9
parentce61de1b8a1bb3a22118e900376f380768f2ba59 (diff)
downloadgcc-f64448f4ff1c671778a1d7d7678a281c6bc6450e.zip
gcc-f64448f4ff1c671778a1d7d7678a281c6bc6450e.tar.gz
gcc-f64448f4ff1c671778a1d7d7678a281c6bc6450e.tar.bz2
bpf: add constant pointer to helper-skb-ancestor-cgroup-id.c test
The purpose of this test is to make sure that constant propagation is achieved with the proper optimization level, so a BPF call instruction to a kernel helper is generated. This patch updates the patch so it also covers kernel helpers defined with constant static pointers. The motivation for this patch is: https://lore.kernel.org/bpf/20240127185031.29854-1-jose.marchesi@oracle.com/T/#u Tested in bpf-unknown-none target x86_64-linux-gnu host. gcc/testsuite/ChangeLog * gcc.target/bpf/helper-skb-ancestor-cgroup-id.c: Add constant version of kernel helper static pointer.
-rw-r--r--gcc/testsuite/gcc.target/bpf/helper-skb-ancestor-cgroup-id.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/testsuite/gcc.target/bpf/helper-skb-ancestor-cgroup-id.c b/gcc/testsuite/gcc.target/bpf/helper-skb-ancestor-cgroup-id.c
index 693f390..075dbe6 100644
--- a/gcc/testsuite/gcc.target/bpf/helper-skb-ancestor-cgroup-id.c
+++ b/gcc/testsuite/gcc.target/bpf/helper-skb-ancestor-cgroup-id.c
@@ -5,6 +5,7 @@
struct __sk_buff;
static uint64_t (*bpf_skb_ancestor_cgroup_id)(struct __sk_buff *skb, int ancestor_level) = (void *) 83;
+static uint64_t (* const const_bpf_skb_ancestor_cgroup_id)(struct __sk_buff *skb, int ancestor_level) = (void *) 84;
void
foo ()
@@ -13,7 +14,9 @@ foo ()
void *skb;
int ancestor_level;
- ret = bpf_skb_ancestor_cgroup_id (skb, ancestor_level);
+ ret = bpf_skb_ancestor_cgroup_id (skb, ancestor_level)
+ + const_bpf_skb_ancestor_cgroup_id (skb, ancestor_level);
}
/* { dg-final { scan-assembler "call\t83" } } */
+/* { dg-final { scan-assembler "call\t84" } } */