[Openmp-commits] [PATCH] D150549: Move SubtargetFeature.h from MC to TargetParser

Job Noorman via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Mon May 15 02:19:59 PDT 2023


jobnoorman created this revision.
jobnoorman added reviewers: chandlerc, grosbach, andreadb, MaskRay, craig.topper.
Herald added subscribers: bviyer, asb, luke, Moerafaat, zero9178, bzcheeseman, pmatos, sdasgup3, wenzhicui, wrengr, ormris, foad, cota, teijeong, frasercrmck, rdzhabarov, tatianashp, msifontes, jurahul, Kayjukh, grosul1, Joonsoo, kerbowa, liufengdb, aartbik, mgester, arpith-jacob, csigg, antiagainst, shauheen, rriddle, mehdi_amini, luismarques, apazos, sameer.abuasal, s.egerton, Jim, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, rogfer01, steven_wu, atanasyan, edward-jones, zzheng, jrtc27, gbedwell, niosHD, sabuasal, simoncook, johnrusso, rbar, fedor.sergeev, hiraditya, arichardson, sbc100, jvesely, sdardis, dylanmckay, jyknight, arsenm.
Herald added a project: All.
jobnoorman requested review of this revision.
Herald added subscribers: llvm-commits, openmp-commits, cfe-commits, pcwang-thead, stephenneuendorffer, nicolasvasilache, aheejin.
Herald added projects: clang, OpenMP, MLIR, LLVM.

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. Suggestions
for alternative locations are welcome.

This issues came up during a JITLink review (D149522 <https://reviews.llvm.org/D149522>). JITLink would
like to avoid a dependency on MC while still needing to store target
features.

I'm not entirely sure who should review this patch so please add more
reviewers if necessary.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D150549

Files:
  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/MC/SubtargetFeature.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/include/llvm/TargetParser/SubtargetFeature.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/MC/SubtargetFeature.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/lib/TargetParser/SubtargetFeature.cpp
  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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D150549.522093.patch
Type: text/x-patch
Size: 33826 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20230515/4eb800e8/attachment-0001.bin>


More information about the Openmp-commits mailing list