From: Richard Trieu Date: Tue, 14 May 2019 21:33:53 +0000 (+0000) Subject: [AArch64] Create a TargetInfo header. NFC X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=42fc938f1557906fc126056d464f39488f0330e0;p=llvm [AArch64] 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@360709 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/AArch64/AArch64AsmPrinter.cpp b/lib/Target/AArch64/AArch64AsmPrinter.cpp index e18458fc31e..0b527265dd3 100644 --- a/lib/Target/AArch64/AArch64AsmPrinter.cpp +++ b/lib/Target/AArch64/AArch64AsmPrinter.cpp @@ -22,6 +22,7 @@ #include "MCTargetDesc/AArch64MCExpr.h" #include "MCTargetDesc/AArch64MCTargetDesc.h" #include "MCTargetDesc/AArch64TargetStreamer.h" +#include "TargetInfo/AArch64TargetInfo.h" #include "Utils/AArch64BaseInfo.h" #include "llvm/ADT/SmallString.h" #include "llvm/ADT/SmallVector.h" diff --git a/lib/Target/AArch64/AArch64TargetMachine.cpp b/lib/Target/AArch64/AArch64TargetMachine.cpp index d657fd414f3..a9f7233413d 100644 --- a/lib/Target/AArch64/AArch64TargetMachine.cpp +++ b/lib/Target/AArch64/AArch64TargetMachine.cpp @@ -16,6 +16,7 @@ #include "AArch64TargetObjectFile.h" #include "AArch64TargetTransformInfo.h" #include "MCTargetDesc/AArch64MCTargetDesc.h" +#include "TargetInfo/AArch64TargetInfo.h" #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/Triple.h" #include "llvm/Analysis/TargetTransformInfo.h" diff --git a/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp b/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp index 149b00a29f8..891331bb7d9 100644 --- a/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp +++ b/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp @@ -10,6 +10,7 @@ #include "MCTargetDesc/AArch64MCExpr.h" #include "MCTargetDesc/AArch64MCTargetDesc.h" #include "MCTargetDesc/AArch64TargetStreamer.h" +#include "TargetInfo/AArch64TargetInfo.h" #include "AArch64InstrInfo.h" #include "Utils/AArch64BaseInfo.h" #include "llvm/ADT/APFloat.h" diff --git a/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp b/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp index e020a74e187..145ffef6f6f 100644 --- a/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp +++ b/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp @@ -13,6 +13,7 @@ #include "AArch64ExternalSymbolizer.h" #include "MCTargetDesc/AArch64AddressingModes.h" #include "MCTargetDesc/AArch64MCTargetDesc.h" +#include "TargetInfo/AArch64TargetInfo.h" #include "Utils/AArch64BaseInfo.h" #include "llvm-c/Disassembler.h" #include "llvm/MC/MCDisassembler/MCRelocationInfo.h" diff --git a/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp b/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp index 06dd0599363..d6ef79ee4a8 100644 --- a/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp +++ b/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp @@ -16,6 +16,7 @@ #include "AArch64WinCOFFStreamer.h" #include "MCTargetDesc/AArch64AddressingModes.h" #include "MCTargetDesc/AArch64InstPrinter.h" +#include "TargetInfo/AArch64TargetInfo.h" #include "llvm/MC/MCAsmBackend.h" #include "llvm/MC/MCCodeEmitter.h" #include "llvm/MC/MCInstrAnalysis.h" diff --git a/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.h b/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.h index fbf60b2e669..c84c313c1db 100644 --- a/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.h +++ b/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.h @@ -36,12 +36,6 @@ class Triple; class raw_ostream; class raw_pwrite_stream; -Target &getTheAArch64leTarget(); -Target &getTheAArch64beTarget(); -Target &getTheAArch64_32Target(); -Target &getTheARM64Target(); -Target &getTheARM64_32Target(); - MCCodeEmitter *createAArch64MCCodeEmitter(const MCInstrInfo &MCII, const MCRegisterInfo &MRI, MCContext &Ctx); diff --git a/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp b/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp index 08276e08a39..7f02da6a951 100644 --- a/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp +++ b/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp @@ -6,31 +6,30 @@ // //===----------------------------------------------------------------------===// -#include "llvm/ADT/Triple.h" +#include "TargetInfo/AArch64TargetInfo.h" #include "llvm/Support/TargetRegistry.h" + using namespace llvm; -namespace llvm { -Target &getTheAArch64leTarget() { +Target &llvm::getTheAArch64leTarget() { static Target TheAArch64leTarget; return TheAArch64leTarget; } -Target &getTheAArch64beTarget() { +Target &llvm::getTheAArch64beTarget() { static Target TheAArch64beTarget; return TheAArch64beTarget; } -Target &getTheAArch64_32Target() { +Target &llvm::getTheAArch64_32Target() { static Target TheAArch64leTarget; return TheAArch64leTarget; } -Target &getTheARM64Target() { +Target &llvm::getTheARM64Target() { static Target TheARM64Target; return TheARM64Target; } -Target &getTheARM64_32Target() { +Target &llvm::getTheARM64_32Target() { static Target TheARM64_32Target; return TheARM64_32Target; } -} // namespace llvm extern "C" void LLVMInitializeAArch64TargetInfo() { // Now register the "arm64" name for use with "-march". We don't want it to diff --git a/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.h b/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.h new file mode 100644 index 00000000000..b3728a11bb5 --- /dev/null +++ b/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.h @@ -0,0 +1,24 @@ +//===-- AArch64TargetInfo.h - AArch64 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_AARCH64_TARGETINFO_AARCH64TARGETINFO_H +#define LLVM_LIB_TARGET_AARCH64_TARGETINFO_AARCH64TARGETINFO_H + +namespace llvm { + +class Target; + +Target &getTheAArch64leTarget(); +Target &getTheAArch64beTarget(); +Target &getTheAArch64_32Target(); +Target &getTheARM64Target(); +Target &getTheARM64_32Target(); + +} // namespace llvm + +#endif // LLVM_LIB_TARGET_AARCH64_TARGETINFO_AARCH64TARGETINFO_H