[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: Linux-->
# :penguin: Linux x64 Test Results

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

<details>
<summary>lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64ISelLowering.cpp.o</summary>

```
FAILED: lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64ISelLowering.cpp.o
sccache /opt/llvm/bin/clang++ -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/Target/AArch64 -I/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Target/AArch64 -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include -gmlt -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -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 -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17 -fvisibility=hidden -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -MD -MT lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64ISelLowering.cpp.o -MF lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64ISelLowering.cpp.o.d -o lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64ISelLowering.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:22707:9: error: use of undeclared identifier 'Opcode'
22707 |         Opcode = AArch64ISD::SBC;
|         ^~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:22710:9: error: use of undeclared identifier 'Opcode'
22710 |         Opcode = AArch64ISD::ADC;
|         ^~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:22713:9: error: use of undeclared identifier 'Opcode'
22713 |         Opcode = AArch64ISD::SBCS;
|         ^~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:22716:9: error: use of undeclared identifier 'Opcode'
22716 |         Opcode = AArch64ISD::ADCS;
|         ^~~~~~
/home/gha/actions-runner/_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
/home/gha/actions-runner/_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; }
|                 ^
/home/gha/actions-runner/_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,
|              ~~~~^~~~~~~
/home/gha/actions-runner/_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,
|                    ^       ~~~~~~~~~~~~~~~
/home/gha/actions-runner/_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,
|                    ^       ~~~~~~~~~~~~~~~
/home/gha/actions-runner/_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,
|                    ^       ~~~~~~~~~~~~~~~
/home/gha/actions-runner/_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);
|                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_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);
|                            ~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_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);
|                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_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);
|                            ~~~~~~~~~~
/home/gha/actions-runner/_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);
|                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_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);
|                            ~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_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);
|                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_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);
|                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_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);
|                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_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);
|                            ~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_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);
|                            ~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_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);
|                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_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);
|                            ~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_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);
|                            ~~~~~~~~~~~~~~~
/home/gha/actions-runner/_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);
|                            ~~~~~~~~~
/home/gha/actions-runner/_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);
|                            ~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_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);
|                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_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);
|                            ~~~~~~~~~~
/home/gha/actions-runner/_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);
|                    ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_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);
|                    ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_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