[llvm] [AArch64][DAG] Port adde and sube combine to AArch64 (PR #202227)

via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 12 08:10:11 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results

The build failed before running any tests. Click on a failure below to see the details.

<details>
<summary>[code=1] lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64ISelLowering.cpp.obj</summary>

```
FAILED: [code=1] lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64ISelLowering.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\_work\llvm-project\llvm-project\build\lib\Target\AArch64 -IC:\_work\llvm-project\llvm-project\llvm\lib\Target\AArch64 -IC:\_work\llvm-project\llvm-project\build\include -IC:\_work\llvm-project\llvm-project\llvm\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /O2 /Ob2  -std:c++17 -MD -UNDEBUG /EHs-c- /GR- /showIncludes /Folib\Target\AArch64\CMakeFiles\LLVMAArch64CodeGen.dir\AArch64ISelLowering.cpp.obj /Fdlib\Target\AArch64\CMakeFiles\LLVMAArch64CodeGen.dir\LLVMAArch64CodeGen.pdb -c -- C:\_work\llvm-project\llvm-project\llvm\lib\Target\AArch64\AArch64ISelLowering.cpp
C:\_work\llvm-project\llvm-project\llvm\lib\Target\AArch64\AArch64ISelLowering.cpp(22707,9): error: use of undeclared identifier 'Opcode'
22707 |         Opcode = AArch64ISD::SBC;
|         ^~~~~~
C:\_work\llvm-project\llvm-project\llvm\lib\Target\AArch64\AArch64ISelLowering.cpp(22710,9): error: use of undeclared identifier 'Opcode'
22710 |         Opcode = AArch64ISD::ADC;
|         ^~~~~~
C:\_work\llvm-project\llvm-project\llvm\lib\Target\AArch64\AArch64ISelLowering.cpp(22713,9): error: use of undeclared identifier 'Opcode'
22713 |         Opcode = AArch64ISD::SBCS;
|         ^~~~~~
C:\_work\llvm-project\llvm-project\llvm\lib\Target\AArch64\AArch64ISelLowering.cpp(22716,9): error: use of undeclared identifier 'Opcode'
22716 |         Opcode = AArch64ISD::ADCS;
|         ^~~~~~
C:\_work\llvm-project\llvm-project\llvm\lib\Target\AArch64\AArch64ISelLowering.cpp(22727,26): error: use of undeclared identifier 'Opcode'; did you mean 'encode'?
22727 |       return DAG.getNode(Opcode, DL, N->getVTList(), N->getOperand(0), RHS,
|                          ^~~~~~
|                          encode
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/Alignment.h(206,17): note: 'encode' declared here
206 | inline unsigned encode(MaybeAlign A) { return A ? A->ShiftValue + 1 : 0; }
|                 ^
C:\_work\llvm-project\llvm-project\llvm\lib\Target\AArch64\AArch64ISelLowering.cpp(22727,18): error: no matching member function for call to 'getNode'
22727 |       return DAG.getNode(Opcode, DL, N->getVTList(), N->getOperand(0), RHS,
|              ~~~~^~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/SelectionDAG.h(1284,20): note: candidate function not viable: no known conversion from 'unsigned int (MaybeAlign)' to 'unsigned int' for 1st argument
1284 |   LLVM_ABI SDValue getNode(unsigned Opcode, const SDLoc &DL, SDVTList VTList,
|                    ^       ~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/SelectionDAG.h(1255,20): note: candidate function not viable: no known conversion from 'unsigned int (MaybeAlign)' to 'unsigned int' for 1st argument
1255 |   LLVM_ABI SDValue getNode(unsigned Opcode, const SDLoc &DL, EVT VT, SDValue N1,
|                    ^       ~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/SelectionDAG.h(1262,20): note: candidate function not viable: no known conversion from 'unsigned int (MaybeAlign)' to 'unsigned int' for 1st argument
1262 |   LLVM_ABI SDValue getNode(unsigned Opcode, const SDLoc &DL, EVT VT, SDValue N1,
|                    ^       ~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/SelectionDAG.h(1236,20): note: candidate function not viable: requires 5 arguments, but 6 were provided
1236 |   LLVM_ABI SDValue getNode(unsigned Opcode, const SDLoc &DL, EVT VT,
|                    ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1237 |                            ArrayRef<SDValue> Ops, const SDNodeFlags Flags);
|                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/SelectionDAG.h(1238,20): note: candidate function not viable: requires 5 arguments, but 6 were provided
1238 |   LLVM_ABI SDValue getNode(unsigned Opcode, const SDLoc &DL,
|                    ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1239 |                            ArrayRef<EVT> ResultTys, ArrayRef<SDValue> Ops,
|                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1240 |                            const SDNodeFlags Flags);
|                            ~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/SelectionDAG.h(1241,20): note: candidate function not viable: requires 5 arguments, but 6 were provided
1241 |   LLVM_ABI SDValue getNode(unsigned Opcode, const SDLoc &DL, SDVTList VTList,
|                    ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1242 |                            ArrayRef<SDValue> Ops, const SDNodeFlags Flags);
|                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/SelectionDAG.h(1253,20): note: candidate function not viable: requires 5 arguments, but 6 were provided
1253 |   LLVM_ABI SDValue getNode(unsigned Opcode, const SDLoc &DL, EVT VT, SDValue N1,
|                    ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1254 |                            SDValue N2);
|                            ~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/SelectionDAG.h(1260,20): note: candidate function not viable: requires 5 arguments, but 6 were provided
1260 |   LLVM_ABI SDValue getNode(unsigned Opcode, const SDLoc &DL, EVT VT,
|                    ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1261 |                            SDValue Operand, const SDNodeFlags Flags);
|                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/SelectionDAG.h(1282,20): note: candidate function not viable: requires 5 arguments, but 6 were provided
1282 |   LLVM_ABI SDValue getNode(unsigned Opcode, const SDLoc &DL, SDVTList VTList,
|                    ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1283 |                            SDValue N1, SDValue N2);
|                            ~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/SelectionDAG.h(1264,20): note: candidate function not viable: requires 7 arguments, but 6 were provided
1264 |   LLVM_ABI SDValue getNode(unsigned Opcode, const SDLoc &DL, EVT VT, SDValue N1,
|                    ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1265 |                            SDValue N2, SDValue N3, const SDNodeFlags Flags);
|                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/SelectionDAG.h(1266,20): note: candidate function not viable: requires 7 arguments, but 6 were provided
1266 |   LLVM_ABI SDValue getNode(unsigned Opcode, const SDLoc &DL, EVT VT, SDValue N1,
|                    ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1267 |                            SDValue N2, SDValue N3, SDValue N4);
|                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/SelectionDAG.h(1286,20): note: candidate function not viable: requires 7 arguments, but 6 were provided
1286 |   LLVM_ABI SDValue getNode(unsigned Opcode, const SDLoc &DL, SDVTList VTList,
|                    ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1287 |                            SDValue N1, SDValue N2, SDValue N3, SDValue N4);
|                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/SelectionDAG.h(1234,20): note: candidate function not viable: requires 4 arguments, but 6 were provided
1234 |   LLVM_ABI SDValue getNode(unsigned Opcode, const SDLoc &DL, EVT VT,
|                    ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1235 |                            ArrayRef<SDUse> Ops);
|                            ~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/SelectionDAG.h(1245,20): note: candidate function not viable: requires 4 arguments, but 6 were provided
1245 |   LLVM_ABI SDValue getNode(unsigned Opcode, const SDLoc &DL, EVT VT,
|                    ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1246 |                            ArrayRef<SDValue> Ops);
|                            ~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/SelectionDAG.h(1247,20): note: candidate function not viable: requires 4 arguments, but 6 were provided
1247 |   LLVM_ABI SDValue getNode(unsigned Opcode, const SDLoc &DL,
|                    ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1248 |                            ArrayRef<EVT> ResultTys, ArrayRef<SDValue> Ops);
|                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/SelectionDAG.h(1249,20): note: candidate function not viable: requires 4 arguments, but 6 were provided
1249 |   LLVM_ABI SDValue getNode(unsigned Opcode, const SDLoc &DL, SDVTList VTList,
|                    ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1250 |                            ArrayRef<SDValue> Ops);
|                            ~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/SelectionDAG.h(1251,20): note: candidate function not viable: requires 4 arguments, but 6 were provided
1251 |   LLVM_ABI SDValue getNode(unsigned Opcode, const SDLoc &DL, EVT VT,
|                    ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1252 |                            SDValue Operand);
|                            ~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/SelectionDAG.h(1280,20): note: candidate function not viable: requires 4 arguments, but 6 were provided
1280 |   LLVM_ABI SDValue getNode(unsigned Opcode, const SDLoc &DL, SDVTList VTList,
|                    ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1281 |                            SDValue N);
|                            ~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/SelectionDAG.h(1268,20): note: candidate function not viable: requires 8 arguments, but 6 were provided
1268 |   LLVM_ABI SDValue getNode(unsigned Opcode, const SDLoc &DL, EVT VT, SDValue N1,
|                    ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1269 |                            SDValue N2, SDValue N3, SDValue N4,
|                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1270 |                            const SDNodeFlags Flags);
|                            ~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/SelectionDAG.h(1271,20): note: candidate function not viable: requires 8 arguments, but 6 were provided
1271 |   LLVM_ABI SDValue getNode(unsigned Opcode, const SDLoc &DL, EVT VT, SDValue N1,
|                    ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1272 |                            SDValue N2, SDValue N3, SDValue N4, SDValue N5);
|                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/SelectionDAG.h(1288,20): note: candidate function not viable: requires 8 arguments, but 6 were provided
1288 |   LLVM_ABI SDValue getNode(unsigned Opcode, const SDLoc &DL, SDVTList VTList,
|                    ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1289 |                            SDValue N1, SDValue N2, SDValue N3, SDValue N4,
|                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1290 |                            SDValue N5);
|                            ~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/SelectionDAG.h(1259,20): note: candidate function not viable: requires 3 arguments, but 6 were provided
1259 |   LLVM_ABI SDValue getNode(unsigned Opcode, const SDLoc &DL, EVT VT);
|                    ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/SelectionDAG.h(1279,20): note: candidate function not viable: requires 3 arguments, but 6 were provided
1279 |   LLVM_ABI SDValue getNode(unsigned Opcode, const SDLoc &DL, SDVTList VTList);
|                    ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/SelectionDAG.h(1273,20): note: candidate function not viable: requires 9 arguments, but 6 were provided
1273 |   LLVM_ABI SDValue getNode(unsigned Opcode, const SDLoc &DL, EVT VT, SDValue N1,
|                    ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1274 |                            SDValue N2, SDValue N3, SDValue N4, SDValue N5,
|                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1275 |                            const SDNodeFlags Flags);
|                            ~~~~~~~~~~~~~~~~~~~~~~~
6 errors generated.
```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

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


More information about the llvm-commits mailing list