You've already forked linux-packaging-mono
							
							
		
			
	
	
		
			45 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			45 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
|   | //===-- BPFTargetMachine.h - Define TargetMachine for BPF --- C++ ---===//
 | ||
|  | //
 | ||
|  | //                     The LLVM Compiler Infrastructure
 | ||
|  | //
 | ||
|  | // This file is distributed under the University of Illinois Open Source
 | ||
|  | // License. See LICENSE.TXT for details.
 | ||
|  | //
 | ||
|  | //===----------------------------------------------------------------------===//
 | ||
|  | //
 | ||
|  | // This file declares the BPF specific subclass of TargetMachine.
 | ||
|  | //
 | ||
|  | //===----------------------------------------------------------------------===//
 | ||
|  | 
 | ||
|  | #ifndef LLVM_LIB_TARGET_BPF_BPFTARGETMACHINE_H
 | ||
|  | #define LLVM_LIB_TARGET_BPF_BPFTARGETMACHINE_H
 | ||
|  | 
 | ||
|  | #include "BPFSubtarget.h"
 | ||
|  | #include "llvm/Target/TargetMachine.h"
 | ||
|  | 
 | ||
|  | namespace llvm { | ||
|  | class BPFTargetMachine : public LLVMTargetMachine { | ||
|  |   std::unique_ptr<TargetLoweringObjectFile> TLOF; | ||
|  |   BPFSubtarget Subtarget; | ||
|  | 
 | ||
|  | public: | ||
|  |   BPFTargetMachine(const Target &T, const Triple &TT, StringRef CPU, | ||
|  |                    StringRef FS, const TargetOptions &Options, | ||
|  |                    Optional<Reloc::Model> RM, Optional<CodeModel::Model> CM, | ||
|  |                    CodeGenOpt::Level OL, bool JIT); | ||
|  | 
 | ||
|  |   const BPFSubtarget *getSubtargetImpl() const { return &Subtarget; } | ||
|  |   const BPFSubtarget *getSubtargetImpl(const Function &) const override { | ||
|  |     return &Subtarget; | ||
|  |   } | ||
|  | 
 | ||
|  |   TargetPassConfig *createPassConfig(PassManagerBase &PM) override; | ||
|  | 
 | ||
|  |   TargetLoweringObjectFile *getObjFileLowering() const override { | ||
|  |     return TLOF.get(); | ||
|  |   } | ||
|  | }; | ||
|  | } | ||
|  | 
 | ||
|  | #endif
 |