Author: Job Noorman
Date: 2023-06-26T11:20:08+02:00
New Revision: 8de9f2b558a046da15cf73191da627bdd83676ca
URL:
https://github.com/llvm/llvm-project/commit/8de9f2b558a046da15cf73191da627bdd83676ca
DIFF:
https://github.com/llvm/llvm-project/commit/8de9f2b558a046da15cf73191da627bdd83676ca.diff
LOG: Move SubtargetFeature.h from MC to TargetParser
SubtargetFeature.h is currently part of MC while it doesn't depend on
anything in MC. Since some LLVM components might have the need to work
with target features without necessarily needing MC, it might be
worthwhile to move SubtargetFeature.h to a different location. This will
reduce the dependencies of said components.
Note that I choose TargetParser as the destination because that's where
Triple lives and SubtargetFeatures feels related to that.
This issues came up during a JITLink review (D149522). JITLink would
like to avoid a dependency on MC while still needing to store target
features.
Reviewed By: MaskRay, arsenm
Differential Revision: https://reviews.llvm.org/D150549
Added:
llvm/include/llvm/TargetParser/SubtargetFeature.h
llvm/lib/TargetParser/SubtargetFeature.cpp
Modified:
clang/lib/CodeGen/BackendUtil.cpp
clang/lib/Driver/ToolChains/AVR.cpp
llvm/include/llvm/ExecutionEngine/Orc/JITTargetMachineBuilder.h
llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
llvm/include/llvm/MC/MCSubtargetInfo.h
llvm/include/llvm/Object/COFF.h
llvm/include/llvm/Object/ELFObjectFile.h
llvm/include/llvm/Object/GOFFObjectFile.h
llvm/include/llvm/Object/MachO.h
llvm/lib/CodeGen/CommandFlags.cpp
llvm/lib/ExecutionEngine/TargetSelect.cpp
llvm/lib/LTO/LTOBackend.cpp
llvm/lib/LTO/LTOCodeGenerator.cpp
llvm/lib/LTO/LTOModule.cpp
llvm/lib/LTO/ThinLTOCodeGenerator.cpp
llvm/lib/MC/CMakeLists.txt
llvm/lib/MC/MCSubtargetInfo.cpp
llvm/lib/Object/ELFObjectFile.cpp
llvm/lib/Object/WasmObjectFile.cpp
llvm/lib/Object/XCOFFObjectFile.cpp
llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
llvm/lib/Target/AMDGPU/MCTargetDesc/R600MCCodeEmitter.cpp
llvm/lib/Target/AMDGPU/MCTargetDesc/R600MCTargetDesc.cpp
llvm/lib/Target/AMDGPU/MCTargetDesc/SIMCCodeEmitter.cpp
llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
llvm/lib/Target/ARM/ARMTargetTransformInfo.h
llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
llvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.cpp
llvm/lib/Target/ARM/Utils/ARMBaseInfo.h
llvm/lib/Target/AVR/MCTargetDesc/AVRELFStreamer.cpp
llvm/lib/Target/BPF/Disassembler/BPFDisassembler.cpp
llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.h
llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.h
llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp
llvm/lib/Target/TargetMachineC.cpp
llvm/lib/TargetParser/CMakeLists.txt
llvm/tools/llc/llc.cpp
llvm/tools/llvm-jitlink/llvm-jitlink.h
llvm/tools/llvm-mc-assemble-fuzzer/llvm-mc-assemble-fuzzer.cpp
llvm/tools/llvm-mc-disassemble-fuzzer/llvm-mc-disassemble-fuzzer.cpp
llvm/tools/opt/opt.cpp
llvm/unittests/tools/llvm-mca/MCATestBase.h
llvm/utils/TableGen/DecoderEmitter.cpp
llvm/utils/TableGen/SubtargetEmitter.cpp
mlir/lib/ExecutionEngine/ExecutionEngine.cpp
openmp/libomptarget/plugins-nextgen/common/PluginInterface/JIT.cpp
Removed:
llvm/include/llvm/MC/SubtargetFeature.h
llvm/lib/MC/SubtargetFeature.cpp
diff --git a/clang/lib/CodeGen/BackendUtil.cpp
b/clang/lib/CodeGen/BackendUtil.cpp
index d00c5654a190c..458756509b3a3 100644
--- a/clang/lib/CodeGen/BackendUtil.cpp
+++ b/clang/lib/CodeGen/BackendUtil.cpp
@@ -37,7 +37,6 @@
#include "llvm/IRPrinter/IRPrintingPasses.h"
#include "llvm/LTO/LTOBackend.h"
#include "llvm/MC/MCAsmInfo.h"
-#include "llvm/MC/SubtargetFeature.h"
#include "llvm/MC/TargetRegistry.h"
#include "llvm/Object/OffloadBinary.h"
#include "llvm/Passes/PassBuilder.h"
@@ -54,6 +53,7 @@
#include "llvm/Support/raw_ostream.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/TargetOptions.h"
+#include "llvm/TargetParser/SubtargetFeature.h"
#include "llvm/TargetParser/Triple.h"
#include "llvm/Transforms/IPO/LowerTypeTests.h"
#include "llvm/Transforms/IPO/ThinLTOBitcodeWriter.h"
diff --git a/clang/lib/Driver/ToolChains/AVR.cpp
b/clang/lib/Driver/ToolChains/AVR.cpp
index 0e1f8ddc46e4e..81f501d417345 100644
--- a/clang/lib/Driver/ToolChains/AVR.cpp
+++ b/clang/lib/Driver/ToolChains/AVR.cpp
@@ -14,10 +14,10 @@
#include "clang/Driver/Options.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/MC/MCSubtargetInfo.h"
-#include "llvm/MC/SubtargetFeature.h"