[llvm] ARM: Thread float ABI through ARMSubtarget (NFC) (PR #212931)

via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 29 23:04:42 PDT 2026


github-actions[bot] wrote:

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

* 64162 tests passed
* 1954 tests skipped

All executed tests passed, but another part of the build **failed**. Click on a failure below to see the details.

<details>
<summary>[code=1] unittests/Target/ARM/CMakeFiles/ARMTests.dir/MachineInstrTest.cpp.obj</summary>

```
FAILED: [code=1] unittests/Target/ARM/CMakeFiles/ARMTests.dir/MachineInstrTest.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DLLVM_BUILD_STATIC -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\unittests\Target\ARM -IC:\_work\llvm-project\llvm-project\llvm\unittests\Target\ARM -IC:\_work\llvm-project\llvm-project\build\include -IC:\_work\llvm-project\llvm-project\llvm\include -IC:\_work\llvm-project\llvm-project\llvm\lib\Target\ARM -IC:\_work\llvm-project\llvm-project\build\lib\Target\ARM -IC:\_work\llvm-project\llvm-project\third-party\unittest\googletest\include -IC:\_work\llvm-project\llvm-project\third-party\unittest\googlemock\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 -Wno-gnu-zero-variadic-macro-arguments /EHs-c- /GR- -Wno-suggest-override /showIncludes /Founittests\Target\ARM\CMakeFiles\ARMTests.dir\MachineInstrTest.cpp.obj /Fdunittests\Target\ARM\CMakeFiles\ARMTests.dir\ -c -- C:\_work\llvm-project\llvm-project\llvm\unittests\Target\ARM\MachineInstrTest.cpp
C:\_work\llvm-project\llvm-project\llvm\unittests\Target\ARM\MachineInstrTest.cpp(89,16): error: no matching constructor for initialization of 'ARMSubtarget'
89 |   ARMSubtarget ST(TM->getTargetTriple(), std::string(TM->getTargetCPU()),
|                ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
90 |                   std::string(TM->getTargetFeatureString()),
|                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
91 |                   *static_cast<const ARMBaseTargetMachine *>(TM.get()), false);
|                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\lib\Target\ARM\ARMSubtarget.h(216,3): note: candidate constructor not viable: requires at least 6 arguments, but 5 were provided
216 |   ARMSubtarget(const Triple &TT, const std::string &CPU, const std::string &FS,
|   ^            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
217 |                const ARMBaseTargetMachine &TM, bool IsLittle,
|                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
218 |                FloatABI::ABIType FloatABI, bool MinSize = false,
|                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
219 |                DenormalMode DM = DenormalMode::getIEEE());
|                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\lib\Target\ARM\ARMSubtarget.h(48,7): note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 5 were provided
48 | class ARMSubtarget : public ARMGenSubtargetInfo {
|       ^~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\unittests\Target\ARM\MachineInstrTest.cpp(245,16): error: no matching constructor for initialization of 'ARMSubtarget'
245 |   ARMSubtarget ST(TM->getTargetTriple(), std::string(TM->getTargetCPU()),
|                ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
246 |                   std::string(TM->getTargetFeatureString()),
|                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
247 |                   *static_cast<const ARMBaseTargetMachine *>(TM.get()), false);
|                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\lib\Target\ARM\ARMSubtarget.h(216,3): note: candidate constructor not viable: requires at least 6 arguments, but 5 were provided
216 |   ARMSubtarget(const Triple &TT, const std::string &CPU, const std::string &FS,
|   ^            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
217 |                const ARMBaseTargetMachine &TM, bool IsLittle,
|                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
218 |                FloatABI::ABIType FloatABI, bool MinSize = false,
|                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
219 |                DenormalMode DM = DenormalMode::getIEEE());
|                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\lib\Target\ARM\ARMSubtarget.h(48,7): note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 5 were provided
48 | class ARMSubtarget : public ARMGenSubtargetInfo {
|       ^~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\unittests\Target\ARM\MachineInstrTest.cpp(344,16): error: no matching constructor for initialization of 'ARMSubtarget'
344 |   ARMSubtarget ST(TM->getTargetTriple(), std::string(TM->getTargetCPU()),
|                ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
345 |                   std::string(TM->getTargetFeatureString()),
|                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
346 |                   *static_cast<const ARMBaseTargetMachine *>(TM.get()), false);
|                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\lib\Target\ARM\ARMSubtarget.h(216,3): note: candidate constructor not viable: requires at least 6 arguments, but 5 were provided
216 |   ARMSubtarget(const Triple &TT, const std::string &CPU, const std::string &FS,
|   ^            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
217 |                const ARMBaseTargetMachine &TM, bool IsLittle,
|                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
218 |                FloatABI::ABIType FloatABI, bool MinSize = false,
|                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
219 |                DenormalMode DM = DenormalMode::getIEEE());
|                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\lib\Target\ARM\ARMSubtarget.h(48,7): note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 5 were provided
48 | class ARMSubtarget : public ARMGenSubtargetInfo {
|       ^~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\unittests\Target\ARM\MachineInstrTest.cpp(1050,16): error: no matching constructor for initialization of 'ARMSubtarget'
1050 |   ARMSubtarget ST(TM->getTargetTriple(), std::string(TM->getTargetCPU()),
|                ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1051 |                   std::string(TM->getTargetFeatureString()),
|                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1052 |                   *static_cast<const ARMBaseTargetMachine *>(TM.get()), false);
|                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\lib\Target\ARM\ARMSubtarget.h(216,3): note: candidate constructor not viable: requires at least 6 arguments, but 5 were provided
216 |   ARMSubtarget(const Triple &TT, const std::string &CPU, const std::string &FS,
|   ^            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
217 |                const ARMBaseTargetMachine &TM, bool IsLittle,
|                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
218 |                FloatABI::ABIType FloatABI, bool MinSize = false,
|                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
219 |                DenormalMode DM = DenormalMode::getIEEE());
|                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\lib\Target\ARM\ARMSubtarget.h(48,7): note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 5 were provided
48 | class ARMSubtarget : public ARMGenSubtargetInfo {
|       ^~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\unittests\Target\ARM\MachineInstrTest.cpp(1193,16): error: no matching constructor for initialization of 'ARMSubtarget'
1193 |   ARMSubtarget ST(TM->getTargetTriple(), std::string(TM->getTargetCPU()),
|                ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1194 |                   std::string(TM->getTargetFeatureString()),
|                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1195 |                   *static_cast<const ARMBaseTargetMachine *>(TM.get()), false);
|                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\lib\Target\ARM\ARMSubtarget.h(216,3): note: candidate constructor not viable: requires at least 6 arguments, but 5 were provided
216 |   ARMSubtarget(const Triple &TT, const std::string &CPU, const std::string &FS,
|   ^            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
217 |                const ARMBaseTargetMachine &TM, bool IsLittle,
|                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
218 |                FloatABI::ABIType FloatABI, bool MinSize = false,
|                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
219 |                DenormalMode DM = DenormalMode::getIEEE());
|                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\lib\Target\ARM\ARMSubtarget.h(48,7): note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 5 were provided
48 | class ARMSubtarget : public ARMGenSubtargetInfo {
|       ^~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\unittests\Target\ARM\MachineInstrTest.cpp(2073,16): error: no matching constructor for initialization of 'ARMSubtarget'
2073 |   ARMSubtarget ST(TM->getTargetTriple(), std::string(TM->getTargetCPU()),
|                ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2074 |                   std::string(TM->getTargetFeatureString()),
|                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2075 |                   *static_cast<const ARMBaseTargetMachine *>(TM.get()), false);
|                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\lib\Target\ARM\ARMSubtarget.h(216,3): note: candidate constructor not viable: requires at least 6 arguments, but 5 were provided
216 |   ARMSubtarget(const Triple &TT, const std::string &CPU, const std::string &FS,
|   ^            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
217 |                const ARMBaseTargetMachine &TM, bool IsLittle,
|                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
218 |                FloatABI::ABIType FloatABI, bool MinSize = false,
|                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
219 |                DenormalMode DM = DenormalMode::getIEEE());
|                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\lib\Target\ARM\ARMSubtarget.h(48,7): note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 5 were provided
48 | class ARMSubtarget : public ARMGenSubtargetInfo {
|       ^~~~~~~~~~~~
6 errors generated.
```
</details>
<details>
<summary>[code=1] unittests/Target/ARM/CMakeFiles/ARMTests.dir/InstSizes.cpp.obj</summary>

```
FAILED: [code=1] unittests/Target/ARM/CMakeFiles/ARMTests.dir/InstSizes.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DLLVM_BUILD_STATIC -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\unittests\Target\ARM -IC:\_work\llvm-project\llvm-project\llvm\unittests\Target\ARM -IC:\_work\llvm-project\llvm-project\build\include -IC:\_work\llvm-project\llvm-project\llvm\include -IC:\_work\llvm-project\llvm-project\llvm\lib\Target\ARM -IC:\_work\llvm-project\llvm-project\build\lib\Target\ARM -IC:\_work\llvm-project\llvm-project\third-party\unittest\googletest\include -IC:\_work\llvm-project\llvm-project\third-party\unittest\googlemock\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 -Wno-gnu-zero-variadic-macro-arguments /EHs-c- /GR- -Wno-suggest-override /showIncludes /Founittests\Target\ARM\CMakeFiles\ARMTests.dir\InstSizes.cpp.obj /Fdunittests\Target\ARM\CMakeFiles\ARMTests.dir\ -c -- C:\_work\llvm-project\llvm-project\llvm\unittests\Target\ARM\InstSizes.cpp
C:\_work\llvm-project\llvm-project\llvm\unittests\Target\ARM\InstSizes.cpp(88,16): error: no matching constructor for initialization of 'ARMSubtarget'
88 |   ARMSubtarget ST(TM->getTargetTriple(), std::string(TM->getTargetCPU()),
|                ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
89 |                   std::string(TM->getTargetFeatureString()),
|                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
90 |                   *static_cast<const ARMBaseTargetMachine *>(TM.get()), false);
|                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\lib\Target\ARM\ARMSubtarget.h(216,3): note: candidate constructor not viable: requires at least 6 arguments, but 5 were provided
216 |   ARMSubtarget(const Triple &TT, const std::string &CPU, const std::string &FS,
|   ^            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
217 |                const ARMBaseTargetMachine &TM, bool IsLittle,
|                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
218 |                FloatABI::ABIType FloatABI, bool MinSize = false,
|                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
219 |                DenormalMode DM = DenormalMode::getIEEE());
|                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\lib\Target\ARM\ARMSubtarget.h(48,7): note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 5 were provided
48 | class ARMSubtarget : public ARMGenSubtargetInfo {
|       ^~~~~~~~~~~~
1 error 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/212931


More information about the llvm-commits mailing list