[llvm] cb8513d - CSKY: Avoid constructing a temporary CSKYSubtarget in AsmPrinter (#212944)

via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 30 01:28:46 PDT 2026


Author: Matt Arsenault
Date: 2026-07-30T08:28:41Z
New Revision: cb8513d5a5b8d7ad52b9903f6a46fbe603298468

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

LOG: CSKY: Avoid constructing a temporary CSKYSubtarget in AsmPrinter (#212944)

This was reconstructing a subtarget equivalent to the global
subtarget instead of just using the available one.

Added: 
    

Modified: 
    llvm/lib/Target/CSKY/CSKYAsmPrinter.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/CSKY/CSKYAsmPrinter.cpp b/llvm/lib/Target/CSKY/CSKYAsmPrinter.cpp
index 151a19dd16d09..aa0276123e240 100644
--- a/llvm/lib/Target/CSKY/CSKYAsmPrinter.cpp
+++ b/llvm/lib/Target/CSKY/CSKYAsmPrinter.cpp
@@ -249,15 +249,7 @@ void CSKYAsmPrinter::emitAttributes() {
   CSKYTargetStreamer &CTS =
       static_cast<CSKYTargetStreamer &>(*OutStreamer->getTargetStreamer());
 
-  const Triple &TT = TM.getTargetTriple();
-  StringRef CPU = TM.getTargetCPU();
-  StringRef FS = TM.getTargetFeatureString();
-  const CSKYTargetMachine &CTM = static_cast<const CSKYTargetMachine &>(TM);
-  /* TuneCPU doesn't impact emission of ELF attributes, ELF attributes only
-     care about arch related features, so we can set TuneCPU as CPU.  */
-  const CSKYSubtarget STI(TT, CPU, /*TuneCPU=*/CPU, FS, CTM);
-
-  CTS.emitTargetAttributes(STI);
+  CTS.emitTargetAttributes(TM.getMCSubtargetInfo());
 }
 
 bool CSKYAsmPrinter::PrintAsmOperand(const MachineInstr *MI, unsigned OpNo,


        


More information about the llvm-commits mailing list