From fedb8198a2e8be3353ad8eb75836c8e7b42c5d6c Mon Sep 17 00:00:00 2001 From: Richard Trieu Date: Tue, 14 May 2019 23:56:18 +0000 Subject: [PATCH] [NVPTX] 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@360729 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../NVPTX/MCTargetDesc/NVPTXMCTargetDesc.cpp | 1 + .../NVPTX/MCTargetDesc/NVPTXMCTargetDesc.h | 3 --- lib/Target/NVPTX/NVPTX.h | 3 --- lib/Target/NVPTX/NVPTXAsmPrinter.cpp | 1 + lib/Target/NVPTX/NVPTXTargetMachine.cpp | 1 + .../NVPTX/TargetInfo/NVPTXTargetInfo.cpp | 3 +-- lib/Target/NVPTX/TargetInfo/NVPTXTargetInfo.h | 21 +++++++++++++++++++ 7 files changed, 25 insertions(+), 8 deletions(-) create mode 100644 lib/Target/NVPTX/TargetInfo/NVPTXTargetInfo.h diff --git a/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.cpp b/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.cpp index 655f46999b6..c8b85b2718a 100644 --- a/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.cpp +++ b/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.cpp @@ -14,6 +14,7 @@ #include "NVPTXMCAsmInfo.h" #include "NVPTXMCTargetDesc.h" #include "NVPTXTargetStreamer.h" +#include "TargetInfo/NVPTXTargetInfo.h" #include "llvm/MC/MCInstrInfo.h" #include "llvm/MC/MCRegisterInfo.h" #include "llvm/MC/MCSubtargetInfo.h" diff --git a/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.h b/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.h index dbb3ce36d26..e1691d2384e 100644 --- a/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.h +++ b/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.h @@ -18,9 +18,6 @@ namespace llvm { class Target; -Target &getTheNVPTXTarget32(); -Target &getTheNVPTXTarget64(); - } // End llvm namespace // Defines symbolic names for PTX registers. diff --git a/lib/Target/NVPTX/NVPTX.h b/lib/Target/NVPTX/NVPTX.h index bf62697a3e0..a9c376aea40 100644 --- a/lib/Target/NVPTX/NVPTX.h +++ b/lib/Target/NVPTX/NVPTX.h @@ -54,9 +54,6 @@ BasicBlockPass *createNVPTXLowerAllocaPass(); MachineFunctionPass *createNVPTXPeephole(); MachineFunctionPass *createNVPTXProxyRegErasurePass(); -Target &getTheNVPTXTarget32(); -Target &getTheNVPTXTarget64(); - namespace NVPTX { enum DrvInterface { NVCL, diff --git a/lib/Target/NVPTX/NVPTXAsmPrinter.cpp b/lib/Target/NVPTX/NVPTXAsmPrinter.cpp index 68075779bfe..5f38b4a3c4c 100644 --- a/lib/Target/NVPTX/NVPTXAsmPrinter.cpp +++ b/lib/Target/NVPTX/NVPTXAsmPrinter.cpp @@ -23,6 +23,7 @@ #include "NVPTXSubtarget.h" #include "NVPTXTargetMachine.h" #include "NVPTXUtilities.h" +#include "TargetInfo/NVPTXTargetInfo.h" #include "cl_common_defines.h" #include "llvm/ADT/APFloat.h" #include "llvm/ADT/APInt.h" diff --git a/lib/Target/NVPTX/NVPTXTargetMachine.cpp b/lib/Target/NVPTX/NVPTXTargetMachine.cpp index a5c6f34044f..11b3fe2fa3d 100644 --- a/lib/Target/NVPTX/NVPTXTargetMachine.cpp +++ b/lib/Target/NVPTX/NVPTXTargetMachine.cpp @@ -16,6 +16,7 @@ #include "NVPTXLowerAggrCopies.h" #include "NVPTXTargetObjectFile.h" #include "NVPTXTargetTransformInfo.h" +#include "TargetInfo/NVPTXTargetInfo.h" #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/Triple.h" #include "llvm/Analysis/TargetTransformInfo.h" diff --git a/lib/Target/NVPTX/TargetInfo/NVPTXTargetInfo.cpp b/lib/Target/NVPTX/TargetInfo/NVPTXTargetInfo.cpp index 24ee1e943bb..2c71ec58ec4 100644 --- a/lib/Target/NVPTX/TargetInfo/NVPTXTargetInfo.cpp +++ b/lib/Target/NVPTX/TargetInfo/NVPTXTargetInfo.cpp @@ -6,8 +6,7 @@ // //===----------------------------------------------------------------------===// -#include "NVPTX.h" -#include "llvm/IR/Module.h" +#include "TargetInfo/NVPTXTargetInfo.h" #include "llvm/Support/TargetRegistry.h" using namespace llvm; diff --git a/lib/Target/NVPTX/TargetInfo/NVPTXTargetInfo.h b/lib/Target/NVPTX/TargetInfo/NVPTXTargetInfo.h new file mode 100644 index 00000000000..5c5691349ae --- /dev/null +++ b/lib/Target/NVPTX/TargetInfo/NVPTXTargetInfo.h @@ -0,0 +1,21 @@ +//===-- NVPTXTargetInfo.h - NVPTX 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_NVPTX_TARGETINFO_NVPTXTARGETINFO_H +#define LLVM_LIB_TARGET_NVPTX_TARGETINFO_NVPTXTARGETINFO_H + +namespace llvm { + +class Target; + +Target &getTheNVPTXTarget32(); +Target &getTheNVPTXTarget64(); + +} // namespace llvm + +#endif // LLVM_LIB_TARGET_NVPTX_TARGETINFO_NVPTXTARGETINFO_H -- 2.50.1