[PATCH] D116462: [SPIRV 3/6] Add MC layer, object file support and InstPrinter

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 11 19:51:17 PST 2022


MaskRay added inline comments.
Herald added a project: All.


================
Comment at: llvm/include/llvm/ADT/Triple.h:244
     XCOFF,
+    SPIRV
   };
----------------
MaskRay wrote:
> A future new binary format will not need to touch the SPIRV line
Sort the list alphabetically


================
Comment at: llvm/include/llvm/MC/MCContext.h:57
 class MCSectionXCOFF;
+class MCSectionSPIRV;
 class MCStreamer;
----------------
Sort MCSectionSPIRV alphabetically


================
Comment at: llvm/include/llvm/MC/MCContext.h:80
                          std::vector<const MDNode *> &)>;
-  enum Environment { IsMachO, IsELF, IsGOFF, IsCOFF, IsWasm, IsXCOFF };
+  enum Environment { IsMachO, IsELF, IsGOFF, IsCOFF, IsWasm, IsXCOFF, IsSPIRV };
 
----------------
Move IsSPIRV before IsWasm


================
Comment at: llvm/include/llvm/MC/MCContext.h:127
   SpecificBumpPtrAllocator<MCSectionXCOFF> XCOFFAllocator;
+  SpecificBumpPtrAllocator<MCSectionSPIRV> SPIRVAllocator;
   SpecificBumpPtrAllocator<MCInst> MCInstAllocator;
----------------
Sort


================
Comment at: llvm/include/llvm/MC/MCContext.h:660
 
+  MCSectionSPIRV *getSPIRVSection();
+
----------------
Sort


================
Comment at: llvm/include/llvm/MC/MCObjectFileInfo.h:453
   void initXCOFFMCObjectFileInfo(const Triple &T);
+  void initSPIRVMCObjectFileInfo(const Triple &T);
   MCSection *getDwarfComdatSection(const char *Name, uint64_t Hash) const;
----------------
Move before initWasmMCObjectFileInfo


================
Comment at: llvm/include/llvm/MC/TargetRegistry.h:982
 
+  static void RegisterSPIRVStreamer(Target &T, Target::SPIRVStreamerCtorTy Fn) {
+    T.SPIRVStreamerCtorFn = Fn;
----------------
Move before Wasm


================
Comment at: llvm/lib/MC/MCAsmBackend.cpp:49
         cast<MCXCOFFObjectTargetWriter>(std::move(TW)), OS);
+  case Triple::SPIRV:
+    return createSPIRVObjectWriter(
----------------
Move before Wasm


================
Comment at: llvm/lib/MC/MCObjectFileInfo.cpp:998
 
+void MCObjectFileInfo::initSPIRVMCObjectFileInfo(const Triple &T) {
+  // Put everything in a single binary section
----------------
Move before Wasm


================
Comment at: llvm/lib/MC/MCObjectFileInfo.cpp:1047
     break;
+  case MCContext::IsSPIRV:
+    initSPIRVMCObjectFileInfo(TheTriple);
----------------
Move before Wasm


================
Comment at: llvm/lib/MC/MCObjectFileInfo.cpp:1066
   case Triple::XCOFF:
+  case Triple::SPIRV:
   case Triple::UnknownObjectFormat:
----------------
Move before XCOFF


================
Comment at: llvm/lib/MC/MCParser/AsmParser.cpp:801
     break;
+  case MCContext::IsSPIRV:
+    report_fatal_error(
----------------
Move before Wasm


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D116462/new/

https://reviews.llvm.org/D116462



More information about the llvm-commits mailing list