[llvm] [AArch64][InstCombine] Tidy [su]adalp combine (NFC) (PR #207219)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 2 09:21:49 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-aarch64
Author: Gaƫtan Bossu (gbossu)
<details>
<summary>Changes</summary>
I missed some comments in the #<!-- -->204796 PR.
---
Full diff: https://github.com/llvm/llvm-project/pull/207219.diff
1 Files Affected:
- (modified) llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp (+4-3)
``````````diff
diff --git a/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp b/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
index a00fb1ddbd65c..edd95625e13ea 100644
--- a/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
+++ b/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
@@ -2604,11 +2604,12 @@ instCombineSVEPairwiseAddLong(InstCombiner &IC, IntrinsicInst &II) {
II.getIntrinsicID() == Intrinsic::aarch64_sve_uadalp) &&
"Expected SADALP or UADALP intrinsic");
- // We are looking for add(adalp(%pred, zeroinitializer, %in), %acc)
- if (!II.hasOneUse() || !match(II.getArgOperand(1), m_Zero()))
+ // Simplify add(adalp(pg, zeroinitializer, in), wide_acc)
+ // -> adalp(pg, wide_acc, in)
+ auto *User = dyn_cast_or_null<Instruction>(II.getUniqueUndroppableUser());
+ if (!User || !match(II.getArgOperand(1), m_Zero()))
return std::nullopt;
- auto *User = cast<Instruction>(*II.user_begin());
Value *Acc;
if (!match(User, m_c_Add(m_Specific(&II), m_Value(Acc))))
return std::nullopt;
``````````
</details>
https://github.com/llvm/llvm-project/pull/207219
More information about the llvm-commits
mailing list