1283625Sdim//===-- BPF.h - Top-level interface for BPF representation ------*- C++ -*-===// 2283625Sdim// 3353358Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4353358Sdim// See https://llvm.org/LICENSE.txt for license information. 5353358Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6283625Sdim// 7283625Sdim//===----------------------------------------------------------------------===// 8283625Sdim 9283625Sdim#ifndef LLVM_LIB_TARGET_BPF_BPF_H 10283625Sdim#define LLVM_LIB_TARGET_BPF_BPF_H 11283625Sdim 12283625Sdim#include "MCTargetDesc/BPFMCTargetDesc.h" 13283625Sdim#include "llvm/Target/TargetMachine.h" 14283625Sdim 15283625Sdimnamespace llvm { 16283625Sdimclass BPFTargetMachine; 17283625Sdim 18360784SdimModulePass *createBPFAbstractMemberAccess(BPFTargetMachine *TM); 19353358Sdim 20283625SdimFunctionPass *createBPFISelDag(BPFTargetMachine &TM); 21353358SdimFunctionPass *createBPFMISimplifyPatchablePass(); 22341825SdimFunctionPass *createBPFMIPeepholePass(); 23360784SdimFunctionPass *createBPFMIPeepholeTruncElimPass(); 24341825SdimFunctionPass *createBPFMIPreEmitPeepholePass(); 25344779SdimFunctionPass *createBPFMIPreEmitCheckingPass(); 26341825Sdim 27353358Sdimvoid initializeBPFAbstractMemberAccessPass(PassRegistry&); 28353358Sdimvoid initializeBPFMISimplifyPatchablePass(PassRegistry&); 29341825Sdimvoid initializeBPFMIPeepholePass(PassRegistry&); 30360784Sdimvoid initializeBPFMIPeepholeTruncElimPass(PassRegistry&); 31341825Sdimvoid initializeBPFMIPreEmitPeepholePass(PassRegistry&); 32344779Sdimvoid initializeBPFMIPreEmitCheckingPass(PassRegistry&); 33283625Sdim} 34283625Sdim 35283625Sdim#endif 36