[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