]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
bpf: cleanup missed refactor
authorDavid Faust <david.faust@oracle.com>
Mon, 7 Nov 2022 18:30:52 +0000 (10:30 -0800)
committerDavid Faust <david.faust@oracle.com>
Mon, 7 Nov 2022 22:37:22 +0000 (14:37 -0800)
Commit 068baae1864 "bpf: add preserve_field_info builtin" factored out
some repeated code to a new function maybe_make_core_relo (), but missed
using it in one place. Clean that up.

gcc/

* config/bpf/bpf.cc (handle_attr_preserve): Use maybe_make_core_relo().

gcc/config/bpf/bpf.cc

index ea8ca64d1d6ee2291dd78b93abf338270903de71..fd4003c2bfc0c0814389ced4a02646819b6ed458 100644 (file)
@@ -1731,7 +1731,6 @@ handle_attr_preserve (function *fn)
 {
   basic_block bb;
   rtx_insn *insn;
-  rtx_code_label *label;
   FOR_EACH_BB_FN (bb, fn)
     {
       FOR_BB_INSNS (bb, insn)
@@ -1762,28 +1761,7 @@ handle_attr_preserve (function *fn)
                    }
 
                  if (is_attr_preserve_access (expr))
-                   {
-                     auto_vec<unsigned int, 16> accessors;
-                     tree container = bpf_core_compute (expr, &accessors);
-                     if (accessors.length () < 1)
-                       continue;
-                     accessors.reverse ();
-
-                     container = TREE_TYPE (container);
-                     const char * section_name;
-                     if (DECL_SECTION_NAME (fn->decl))
-                       section_name = DECL_SECTION_NAME (fn->decl);
-                     else
-                       section_name = ".text";
-
-                     label = gen_label_rtx ();
-                     LABEL_PRESERVE_P (label) = 1;
-                     emit_label (label);
-
-                     /* Add the CO-RE relocation information to the BTF container.  */
-                     bpf_core_reloc_add (container, section_name, &accessors, label,
-                                         BPF_RELO_FIELD_BYTE_OFFSET);
-                   }
+                   maybe_make_core_relo (expr, BPF_RELO_FIELD_BYTE_OFFSET);
                }
            }
          rtx_insn *seq = get_insns ();