From: Richard Trieu Date: Tue, 14 May 2019 22:54:06 +0000 (+0000) Subject: [BPF] Create a TargetInfo header. NFC X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e8121fc8aed97d20fb30c15181ccc54967531276;p=llvm [BPF] Create a TargetInfo header. NFC Move the declarations of getTheTarget() functions into a new header in TargetInfo and make users of these functions include this new header. This fixes a layering problem. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360722 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/BPF/AsmParser/BPFAsmParser.cpp b/lib/Target/BPF/AsmParser/BPFAsmParser.cpp index 6fcf34370a6..75885fd058a 100644 --- a/lib/Target/BPF/AsmParser/BPFAsmParser.cpp +++ b/lib/Target/BPF/AsmParser/BPFAsmParser.cpp @@ -7,6 +7,7 @@ //===----------------------------------------------------------------------===// #include "MCTargetDesc/BPFMCTargetDesc.h" +#include "TargetInfo/BPFTargetInfo.h" #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/StringSwitch.h" #include "llvm/MC/MCContext.h" diff --git a/lib/Target/BPF/BPFAsmPrinter.cpp b/lib/Target/BPF/BPFAsmPrinter.cpp index 76b22056e5d..129a8c0704d 100644 --- a/lib/Target/BPF/BPFAsmPrinter.cpp +++ b/lib/Target/BPF/BPFAsmPrinter.cpp @@ -17,6 +17,7 @@ #include "BPFTargetMachine.h" #include "BTFDebug.h" #include "MCTargetDesc/BPFInstPrinter.h" +#include "TargetInfo/BPFTargetInfo.h" #include "llvm/CodeGen/AsmPrinter.h" #include "llvm/CodeGen/MachineConstantPool.h" #include "llvm/CodeGen/MachineFunctionPass.h" diff --git a/lib/Target/BPF/BPFTargetMachine.cpp b/lib/Target/BPF/BPFTargetMachine.cpp index 0efeaa2c462..e5d2e72e451 100644 --- a/lib/Target/BPF/BPFTargetMachine.cpp +++ b/lib/Target/BPF/BPFTargetMachine.cpp @@ -13,6 +13,7 @@ #include "BPFTargetMachine.h" #include "BPF.h" #include "MCTargetDesc/BPFMCAsmInfo.h" +#include "TargetInfo/BPFTargetInfo.h" #include "llvm/CodeGen/Passes.h" #include "llvm/CodeGen/TargetLoweringObjectFileImpl.h" #include "llvm/CodeGen/TargetPassConfig.h" diff --git a/lib/Target/BPF/Disassembler/BPFDisassembler.cpp b/lib/Target/BPF/Disassembler/BPFDisassembler.cpp index c5be7cb1a4e..c845524ad65 100644 --- a/lib/Target/BPF/Disassembler/BPFDisassembler.cpp +++ b/lib/Target/BPF/Disassembler/BPFDisassembler.cpp @@ -11,6 +11,7 @@ //===----------------------------------------------------------------------===// #include "MCTargetDesc/BPFMCTargetDesc.h" +#include "TargetInfo/BPFTargetInfo.h" #include "llvm/ADT/ArrayRef.h" #include "llvm/MC/MCAsmInfo.h" #include "llvm/MC/MCContext.h" diff --git a/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp b/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp index 6a3af28ab30..38f3931c3ad 100644 --- a/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp +++ b/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp @@ -14,6 +14,7 @@ #include "BPF.h" #include "MCTargetDesc/BPFInstPrinter.h" #include "MCTargetDesc/BPFMCAsmInfo.h" +#include "TargetInfo/BPFTargetInfo.h" #include "llvm/MC/MCInstrAnalysis.h" #include "llvm/MC/MCInstrInfo.h" #include "llvm/MC/MCRegisterInfo.h" diff --git a/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.h b/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.h index 4093a406225..1a391321f60 100644 --- a/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.h +++ b/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.h @@ -33,10 +33,6 @@ class Triple; class raw_ostream; class raw_pwrite_stream; -Target &getTheBPFleTarget(); -Target &getTheBPFbeTarget(); -Target &getTheBPFTarget(); - MCCodeEmitter *createBPFMCCodeEmitter(const MCInstrInfo &MCII, const MCRegisterInfo &MRI, MCContext &Ctx); diff --git a/lib/Target/BPF/TargetInfo/BPFTargetInfo.cpp b/lib/Target/BPF/TargetInfo/BPFTargetInfo.cpp index be879495fed..5dfa915034b 100644 --- a/lib/Target/BPF/TargetInfo/BPFTargetInfo.cpp +++ b/lib/Target/BPF/TargetInfo/BPFTargetInfo.cpp @@ -6,24 +6,23 @@ // //===----------------------------------------------------------------------===// -#include "BPF.h" +#include "TargetInfo/BPFTargetInfo.h" #include "llvm/Support/TargetRegistry.h" + using namespace llvm; -namespace llvm { -Target &getTheBPFleTarget() { +Target &llvm::getTheBPFleTarget() { static Target TheBPFleTarget; return TheBPFleTarget; } -Target &getTheBPFbeTarget() { +Target &llvm::getTheBPFbeTarget() { static Target TheBPFbeTarget; return TheBPFbeTarget; } -Target &getTheBPFTarget() { +Target &llvm::getTheBPFTarget() { static Target TheBPFTarget; return TheBPFTarget; } -} // namespace llvm extern "C" void LLVMInitializeBPFTargetInfo() { TargetRegistry::RegisterTarget(getTheBPFTarget(), "bpf", "BPF (host endian)", diff --git a/lib/Target/BPF/TargetInfo/BPFTargetInfo.h b/lib/Target/BPF/TargetInfo/BPFTargetInfo.h new file mode 100644 index 00000000000..150526c1a9d --- /dev/null +++ b/lib/Target/BPF/TargetInfo/BPFTargetInfo.h @@ -0,0 +1,22 @@ +//===-- BPFTargetInfo.h - BPF Target Implementation -------------*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_LIB_TARGET_BPF_TARGETINFO_BPFTARGETINFO_H +#define LLVM_LIB_TARGET_BPF_TARGETINFO_BPFTARGETINFO_H + +namespace llvm { + +class Target; + +Target &getTheBPFleTarget(); +Target &getTheBPFbeTarget(); +Target &getTheBPFTarget(); + +} // namespace llvm + +#endif // LLVM_LIB_TARGET_BPF_TARGETINFO_BPFTARGETINFO_H