[llvm] [SME] Stop RA from coalescing COPY instructions that transcend beyond smstart/smstop. (PR #78294)

via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 16 07:23:31 PST 2024


github-actions[bot] wrote:

<!--LLVM CODE FORMAT COMMENT: {clang-format}-->


:warning: C/C++ code formatter, clang-format found issues in your code. :warning:

<details>
<summary>
You can test this locally with the following command:
</summary>

``````````bash
git-clang-format --diff 032c832719b5b2c44b78359ed54b91964ef15b79 089b389bd4d0a0edc61113a92979ecf7e0744a6c -- llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp llvm/lib/Target/AArch64/AArch64ISelLowering.cpp llvm/lib/Target/AArch64/AArch64ISelLowering.h llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
``````````

</details>

<details>
<summary>
View the diff from clang-format here.
</summary>

``````````diff
diff --git a/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp b/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
index 3d71388550..ddeeb39df8 100644
--- a/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+++ b/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
@@ -8077,10 +8077,9 @@ AArch64TargetLowering::LowerCall(CallLoweringInfo &CLI,
 
   // Handle result values, copying them out of physregs into vregs that we
   // return.
-  SDValue Result = LowerCallResult(Chain, InGlue, CallConv, IsVarArg, RVLocs,
-                                   DL, DAG, InVals, IsThisReturn,
-                                   IsThisReturn ? OutVals[0] : SDValue(),
-                                   RequiresSMChange.has_value());
+  SDValue Result = LowerCallResult(
+      Chain, InGlue, CallConv, IsVarArg, RVLocs, DL, DAG, InVals, IsThisReturn,
+      IsThisReturn ? OutVals[0] : SDValue(), RequiresSMChange.has_value());
 
   if (!Ins.empty())
     InGlue = Result.getValue(Result->getNumValues() - 1);
diff --git a/llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp b/llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
index fbe4ded2ea..f2bce6e1c7 100644
--- a/llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
+++ b/llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
@@ -1041,9 +1041,9 @@ bool AArch64RegisterInfo::shouldCoalesce(
   // with a whole Z-register, such that after coalescing the register allocator
   // will try to spill/reload the entire Z register.
   //
-  // We do this by checking if the node has any defs/uses that are COALESCER_BARRIER
-  // pseudos. These are 'nops' in practice, but they exist to instruct the
-  // coalescer to avoid coalescing the copy.
+  // We do this by checking if the node has any defs/uses that are
+  // COALESCER_BARRIER pseudos. These are 'nops' in practice, but they exist to
+  // instruct the coalescer to avoid coalescing the copy.
   if (MI->isCopy() && SubReg != DstSubReg &&
       (AArch64::ZPRRegClass.hasSubClassEq(DstRC) ||
        AArch64::ZPRRegClass.hasSubClassEq(SrcRC))) {

``````````

</details>


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


More information about the llvm-commits mailing list