[llvm] [AArch64][SME] Remove unused ZA lazy-save (PR #81648)

Sam Tebbs via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 2 03:45:46 PDT 2024


================
@@ -8203,6 +8242,17 @@ AArch64TargetLowering::LowerCall(CallLoweringInfo &CLI,
         ISD::INTRINSIC_VOID, DL, MVT::Other, Result,
         DAG.getConstant(Intrinsic::aarch64_sme_set_tpidr2, DL, MVT::i32),
         DAG.getConstant(0, DL, MVT::i64));
+    TPIDR2.Uses++;
+    FuncInfo->setTPIDR2Obj(TPIDR2);
+  }
+
+  if (std::optional<TPIDR2Object> TPIDR2 = FuncInfo->getTPIDR2Obj()) {
+    if (auto Global = dyn_cast<GlobalAddressSDNode>(Callee)) {
+      if (Global->getGlobal()->getName() == "__arm_tpidr2_save") {
+        TPIDR2->Uses++;
+        FuncInfo->setTPIDR2Obj(*TPIDR2);
+      }
----------------
SamTebbs33 wrote:

That's correct, thanks for pointing it out. Removed now.

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


More information about the llvm-commits mailing list