[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:55 PDT 2026
================
@@ -758,20 +755,20 @@ void NVPTXAsmPrinter::emitGlobalAlias(const Module &M, const GlobalAlias &GA) {
OutStreamer->emitRawText(OS.str());
}
-void NVPTXAsmPrinter::emitHeader(Module &M, raw_ostream &O,
- const NVPTXSubtarget &STI) {
- const unsigned PTXVersion = STI.getPTXVersion();
+NVPTXTargetStreamer *NVPTXAsmPrinter::getTargetStreamer() const {
+ return static_cast<NVPTXTargetStreamer *>(OutStreamer->getTargetStreamer());
+}
+
+void NVPTXAsmPrinter::emitHeader(Module &M, const NVPTXSubtarget &STI) {
+ auto *TS = getTargetStreamer();
- O << "//\n"
- "// Generated by LLVM NVPTX Back-End\n"
- "//\n"
- "\n"
- << ".version " << (PTXVersion / 10) << "." << (PTXVersion % 10) << "\n"
- << ".target " << STI.getTargetName();
+ TS->emitBanner();
+
+ const unsigned PTXVersion = STI.getPTXVersion();
+ TS->emitVersionDirective(PTXVersion);
const NVPTXTargetMachine &NTM = static_cast<const NVPTXTargetMachine &>(TM);
- if (NTM.getDrvInterface() == NVPTX::NVCL)
- O << ", texmode_independent";
+ bool IsNVOpenCL = NTM.getDrvInterface() == NVPTX::NVCL;
bool HasFullDebugInfo = false;
----------------
AlexMaclean wrote:
Looks like this static helper can be simplified with an early return for true.
https://github.com/llvm/llvm-project/pull/188539
More information about the llvm-commits
mailing list