1  /* Definition of eBPF target for GNU compiler.
       2     Copyright (C) 2019-2023 Free Software Foundation, Inc.
       3  
       4  This file is part of GCC.
       5  
       6  GCC is free software; you can redistribute it and/or modify
       7  it under the terms of the GNU General Public License as published by
       8  the Free Software Foundation; either version 3, or (at your option)
       9  any later version.
      10  
      11  GCC is distributed in the hope that it will be useful,
      12  but WITHOUT ANY WARRANTY; without even the implied warranty of
      13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      14  GNU General Public License for more details.
      15  
      16  You should have received a copy of the GNU General Public License
      17  along with GCC; see the file COPYING3.  If not see
      18  <http://www.gnu.org/licenses/>.  */
      19  
      20  #ifndef GCC_BPF_PROTOS_H
      21  #define GCC_BPF_PROTOS_H
      22  
      23  /* Routines implemented in bpf.cc.  */
      24  
      25  extern HOST_WIDE_INT bpf_initial_elimination_offset (int, int);
      26  extern const char *bpf_output_call (rtx);
      27  extern void bpf_target_macros (cpp_reader *);
      28  extern void bpf_print_operand (FILE *, rtx, int);
      29  extern void bpf_print_operand_address (FILE *, rtx);
      30  extern void bpf_expand_prologue (void);
      31  extern void bpf_expand_epilogue (void);
      32  extern void bpf_expand_cbranch (machine_mode, rtx *);
      33  
      34  rtl_opt_pass * make_pass_bpf_core_attr (gcc::context *);
      35  
      36  #endif /* ! GCC_BPF_PROTOS_H */