[llvm] abf1bfb - SPIRV: Simplify createObjectTargetWriter

Fangrui Song via llvm-commits llvm-commits at lists.llvm.org
Sat May 24 13:40:53 PDT 2025


Author: Fangrui Song
Date: 2025-05-24T13:40:48-07:00
New Revision: abf1bfb687238815fe11a0124d50e61f397452b5

URL: https://github.com/llvm/llvm-project/commit/abf1bfb687238815fe11a0124d50e61f397452b5
DIFF: https://github.com/llvm/llvm-project/commit/abf1bfb687238815fe11a0124d50e61f397452b5.diff

LOG: SPIRV: Simplify createObjectTargetWriter

Added: 
    

Modified: 
    llvm/include/llvm/MC/MCSPIRVObjectWriter.h
    llvm/lib/Target/SPIRV/MCTargetDesc/CMakeLists.txt
    llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVAsmBackend.cpp
    llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVMCTargetDesc.h

Removed: 
    llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVObjectTargetWriter.cpp


################################################################################
diff  --git a/llvm/include/llvm/MC/MCSPIRVObjectWriter.h b/llvm/include/llvm/MC/MCSPIRVObjectWriter.h
index 698f4f19386c5..3cbca4c46c5de 100644
--- a/llvm/include/llvm/MC/MCSPIRVObjectWriter.h
+++ b/llvm/include/llvm/MC/MCSPIRVObjectWriter.h
@@ -18,9 +18,6 @@
 namespace llvm {
 
 class MCSPIRVObjectTargetWriter : public MCObjectTargetWriter {
-protected:
-  explicit MCSPIRVObjectTargetWriter() {}
-
 public:
   Triple::ObjectFormatType getFormat() const override { return Triple::SPIRV; }
   static bool classof(const MCObjectTargetWriter *W) {

diff  --git a/llvm/lib/Target/SPIRV/MCTargetDesc/CMakeLists.txt b/llvm/lib/Target/SPIRV/MCTargetDesc/CMakeLists.txt
index 580db513245fd..7cfd30b876563 100644
--- a/llvm/lib/Target/SPIRV/MCTargetDesc/CMakeLists.txt
+++ b/llvm/lib/Target/SPIRV/MCTargetDesc/CMakeLists.txt
@@ -5,7 +5,6 @@ add_llvm_component_library(LLVMSPIRVDesc
   SPIRVTargetStreamer.cpp
   SPIRVAsmBackend.cpp
   SPIRVMCCodeEmitter.cpp
-  SPIRVObjectTargetWriter.cpp
   SPIRVInstPrinter.cpp
 
   LINK_COMPONENTS

diff  --git a/llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVAsmBackend.cpp b/llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVAsmBackend.cpp
index 94d39358d9b3d..91e4c8fbbd6b5 100644
--- a/llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVAsmBackend.cpp
+++ b/llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVAsmBackend.cpp
@@ -10,6 +10,7 @@
 #include "llvm/MC/MCAsmBackend.h"
 #include "llvm/MC/MCAssembler.h"
 #include "llvm/MC/MCObjectWriter.h"
+#include "llvm/MC/MCSPIRVObjectWriter.h"
 #include "llvm/Support/EndianStream.h"
 
 using namespace llvm;
@@ -26,18 +27,9 @@ class SPIRVAsmBackend : public MCAsmBackend {
 
   std::unique_ptr<MCObjectTargetWriter>
   createObjectTargetWriter() const override {
-    return createSPIRVObjectTargetWriter();
+    return std::make_unique<MCSPIRVObjectTargetWriter>();
   }
 
-
-  bool mayNeedRelaxation(const MCInst &Inst,
-                         const MCSubtargetInfo &STI) const override {
-    return false;
-  }
-
-  void relaxInstruction(MCInst &Inst,
-                        const MCSubtargetInfo &STI) const override {}
-
   bool writeNopData(raw_ostream &OS, uint64_t Count,
                     const MCSubtargetInfo *STI) const override {
     return false;

diff  --git a/llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVMCTargetDesc.h b/llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVMCTargetDesc.h
index 551d74fa13e8e..f9ba5e2d55cba 100644
--- a/llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVMCTargetDesc.h
+++ b/llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVMCTargetDesc.h
@@ -34,8 +34,6 @@ MCCodeEmitter *createSPIRVMCCodeEmitter(const MCInstrInfo &MCII,
 MCAsmBackend *createSPIRVAsmBackend(const Target &T, const MCSubtargetInfo &STI,
                                     const MCRegisterInfo &MRI,
                                     const MCTargetOptions &Options);
-
-std::unique_ptr<MCObjectTargetWriter> createSPIRVObjectTargetWriter();
 } // namespace llvm
 
 // Defines symbolic names for SPIR-V registers.  This defines a mapping from

diff  --git a/llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVObjectTargetWriter.cpp b/llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVObjectTargetWriter.cpp
deleted file mode 100644
index 685168b4073d7..0000000000000
--- a/llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVObjectTargetWriter.cpp
+++ /dev/null
@@ -1,25 +0,0 @@
-//===- SPIRVObjectTargetWriter.cpp - SPIR-V Object Target Writer *- 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
-//
-//===----------------------------------------------------------------------===//
-
-#include "SPIRVMCTargetDesc.h"
-#include "llvm/MC/MCSPIRVObjectWriter.h"
-
-using namespace llvm;
-
-namespace {
-
-class SPIRVObjectTargetWriter : public MCSPIRVObjectTargetWriter {
-public:
-  SPIRVObjectTargetWriter() = default;
-};
-
-} // namespace
-
-std::unique_ptr<MCObjectTargetWriter> llvm::createSPIRVObjectTargetWriter() {
-  return std::make_unique<SPIRVObjectTargetWriter>();
-}


        


More information about the llvm-commits mailing list