[llvm] [NVPTX][AsmPrinter] Demonstrate usage of NVPTXTargetAsmStreamer in NVPTXAsmPrinter. (PR #188539)

Alex MacLean via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 1 08:50:54 PDT 2026


================
@@ -787,12 +774,23 @@ void NVPTXAsmPrinter::emitHeader(Module &M, raw_ostream &O,
     if (HasFullDebugInfo)
       break;
   }
-  if (HasFullDebugInfo)
-    O << ", debug";
 
-  O << "\n"
-    << ".address_size " << (NTM.is64Bit() ? "64" : "32") << "\n"
-    << "\n";
+  return HasFullDebugInfo;
+}
+
+void NVPTXAsmPrinter::emitHeader(Module &M, const NVPTXSubtarget &STI) {
+  auto *TS = getTargetStreamer();
+
+  TS->emitBanner();
+
+  const unsigned PTXVersion = STI.getPTXVersion();
+  TS->emitVersionDirective(PTXVersion);
+
+  const NVPTXTargetMachine &NTM = static_cast<const NVPTXTargetMachine &>(TM);
+  bool IsNVOpenCL = NTM.getDrvInterface() == NVPTX::NVCL;
+
+  TS->emitTargetDirective(STI.getTargetName(), IsNVOpenCL, hasFullDebugInfo(M));
+  TS->emitAddressSizeDirective(M.getDataLayout().getPointerSizeInBits() == 64);
----------------
AlexMaclean wrote:

Just pass the pointerSizeInBits and print that directly. 

https://github.com/llvm/llvm-project/pull/188539


More information about the llvm-commits mailing list