[clang] [CIR] Add cir.builtin_int_cast operation to replace uses of builtin.unrealized_conversion_cast (PR #201592)

via cfe-commits cfe-commits at lists.llvm.org
Mon Jun 15 08:59:29 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>tools/clang/lib/CIR/Dialect/IR/CMakeFiles/obj.MLIRCIR.dir/CIRDialect.cpp.o</summary>

```
FAILED: tools/clang/lib/CIR/Dialect/IR/CMakeFiles/obj.MLIRCIR.dir/CIRDialect.cpp.o
sccache /opt/llvm/bin/clang++ -DCLANG_EXPORTS -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/tools/clang/lib/CIR/Dialect/IR -I/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/CIR/Dialect/IR -I/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/mlir/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 -fno-common -Woverloaded-virtual -Wno-nested-anon-types -O3 -DNDEBUG -std=c++17 -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -MD -MT tools/clang/lib/CIR/Dialect/IR/CMakeFiles/obj.MLIRCIR.dir/CIRDialect.cpp.o -MF tools/clang/lib/CIR/Dialect/IR/CMakeFiles/obj.MLIRCIR.dir/CIRDialect.cpp.o.d -o tools/clang/lib/CIR/Dialect/IR/CMakeFiles/obj.MLIRCIR.dir/CIRDialect.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/CIR/Dialect/IR/CIRDialect.cpp
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/CIR/Dialect/IR/CIRDialect.cpp:508:23: error: no member named 'parent' in 'mlir::RegionSuccessor'; did you mean 'print'?
508 |     regions.push_back(RegionSuccessor::parent());
|                       ^~~~~~~~~~~~~~~~~~~~~~~
|                       print
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/include/clang/CIR/Dialect/IR/CIROps.h.inc:17853:13: note: 'print' declared here
17853 |   using Op::print;
|             ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/CIR/Dialect/IR/CIRDialect.cpp:508:47: error: too few arguments to function call, at least argument 'os' must be specified
508 |     regions.push_back(RegionSuccessor::parent());
|                                        ~~~~~~ ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/IR/OpDefinition.h:118:8: note: 'print' declared here
118 |   void print(raw_ostream &os, OpPrintingFlags flags = {}) {
|        ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/CIR/Dialect/IR/CIRDialect.cpp:508:40: error: no viable conversion from 'void' to 'ValueParamT' (aka 'mlir::RegionSuccessor')
508 |     regions.push_back(RegionSuccessor::parent());
|                                        ^~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:199:7: note: candidate constructor (the implicit copy constructor) not viable: cannot convert argument of incomplete type 'void' to 'const RegionSuccessor &' for 1st argument
199 | class RegionSuccessor {
|       ^~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:199:7: note: candidate constructor (the implicit move constructor) not viable: cannot convert argument of incomplete type 'void' to 'RegionSuccessor &&' for 1st argument
199 | class RegionSuccessor {
|       ^~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:202:3: note: candidate constructor not viable: cannot convert argument of incomplete type 'void' to 'Region *' for 1st argument
202 |   RegionSuccessor(Region *region) : successor(region) {
|   ^               ~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:207:3: note: candidate constructor not viable: cannot convert argument of incomplete type 'void' to 'Operation *' for 1st argument
207 |   RegionSuccessor(Operation *operation) : successor(operation) {
|   ^               ~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/SmallVector.h:569:30: note: passing argument to parameter 'Elt' here
569 |   void push_back(ValueParamT Elt) {
|                              ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/CIR/Dialect/IR/CIRDialect.cpp:1494:23: error: no member named 'parent' in 'mlir::RegionSuccessor'; did you mean 'print'?
1494 |     regions.push_back(RegionSuccessor::parent());
|                       ^~~~~~~~~~~~~~~~~~~~~~~
|                       print
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/include/clang/CIR/Dialect/IR/CIROps.h.inc:30990:13: note: 'print' declared here
30990 |   using Op::print;
|             ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/CIR/Dialect/IR/CIRDialect.cpp:1494:47: error: too few arguments to function call, at least argument 'os' must be specified
1494 |     regions.push_back(RegionSuccessor::parent());
|                                        ~~~~~~ ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/IR/OpDefinition.h:118:8: note: 'print' declared here
118 |   void print(raw_ostream &os, OpPrintingFlags flags = {}) {
|        ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/CIR/Dialect/IR/CIRDialect.cpp:1494:40: error: no viable conversion from 'void' to 'ValueParamT' (aka 'mlir::RegionSuccessor')
1494 |     regions.push_back(RegionSuccessor::parent());
|                                        ^~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:199:7: note: candidate constructor (the implicit copy constructor) not viable: cannot convert argument of incomplete type 'void' to 'const RegionSuccessor &' for 1st argument
199 | class RegionSuccessor {
|       ^~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:199:7: note: candidate constructor (the implicit move constructor) not viable: cannot convert argument of incomplete type 'void' to 'RegionSuccessor &&' for 1st argument
199 | class RegionSuccessor {
|       ^~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:202:3: note: candidate constructor not viable: cannot convert argument of incomplete type 'void' to 'Region *' for 1st argument
202 |   RegionSuccessor(Region *region) : successor(region) {
|   ^               ~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:207:3: note: candidate constructor not viable: cannot convert argument of incomplete type 'void' to 'Operation *' for 1st argument
207 |   RegionSuccessor(Operation *operation) : successor(operation) {
|   ^               ~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/SmallVector.h:569:30: note: passing argument to parameter 'Elt' here
569 |   void push_back(ValueParamT Elt) {
|                              ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/CIR/Dialect/IR/CIRDialect.cpp:1508:23: error: no member named 'parent' in 'mlir::RegionSuccessor'; did you mean 'print'?
1508 |     regions.push_back(RegionSuccessor::parent());
|                       ^~~~~~~~~~~~~~~~~~~~~~~
|                       print
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/include/clang/CIR/Dialect/IR/CIROps.h.inc:30990:13: note: 'print' declared here
30990 |   using Op::print;
|             ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/CIR/Dialect/IR/CIRDialect.cpp:1508:47: error: too few arguments to function call, at least argument 'os' must be specified
1508 |     regions.push_back(RegionSuccessor::parent());
|                                        ~~~~~~ ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/IR/OpDefinition.h:118:8: note: 'print' declared here
118 |   void print(raw_ostream &os, OpPrintingFlags flags = {}) {
|        ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/CIR/Dialect/IR/CIRDialect.cpp:1508:40: error: no viable conversion from 'void' to 'ValueParamT' (aka 'mlir::RegionSuccessor')
1508 |     regions.push_back(RegionSuccessor::parent());
|                                        ^~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:199:7: note: candidate constructor (the implicit copy constructor) not viable: cannot convert argument of incomplete type 'void' to 'const RegionSuccessor &' for 1st argument
199 | class RegionSuccessor {
|       ^~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:199:7: note: candidate constructor (the implicit move constructor) not viable: cannot convert argument of incomplete type 'void' to 'RegionSuccessor &&' for 1st argument
199 | class RegionSuccessor {
|       ^~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:202:3: note: candidate constructor not viable: cannot convert argument of incomplete type 'void' to 'Region *' for 1st argument
202 |   RegionSuccessor(Region *region) : successor(region) {
|   ^               ~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:207:3: note: candidate constructor not viable: cannot convert argument of incomplete type 'void' to 'Operation *' for 1st argument
207 |   RegionSuccessor(Operation *operation) : successor(operation) {
|   ^               ~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/SmallVector.h:569:30: note: passing argument to parameter 'Elt' here
569 |   void push_back(ValueParamT Elt) {
|                              ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/CIR/Dialect/IR/CIRDialect.cpp:1512:20: error: no member named 'isParent' in 'mlir::RegionSuccessor'
1512 |   return successor.isParent() ? ValueRange(getOperation()->getResults())
|          ~~~~~~~~~ ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/CIR/Dialect/IR/CIRDialect.cpp:1548:23: error: no member named 'parent' in 'mlir::RegionSuccessor'; did you mean 'print'?
1548 |     regions.push_back(RegionSuccessor::parent());
|                       ^~~~~~~~~~~~~~~~~~~~~~~
|                       print
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/include/clang/CIR/Dialect/IR/CIROps.h.inc:41131:13: note: 'print' declared here
41131 |   using Op::print;
|             ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/CIR/Dialect/IR/CIRDialect.cpp:1548:47: error: too few arguments to function call, at least argument 'os' must be specified
1548 |     regions.push_back(RegionSuccessor::parent());
|                                        ~~~~~~ ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/IR/OpDefinition.h:118:8: note: 'print' declared here
118 |   void print(raw_ostream &os, OpPrintingFlags flags = {}) {
|        ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/CIR/Dialect/IR/CIRDialect.cpp:1548:40: error: no viable conversion from 'void' to 'ValueParamT' (aka 'mlir::RegionSuccessor')
1548 |     regions.push_back(RegionSuccessor::parent());
|                                        ^~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:199:7: note: candidate constructor (the implicit copy constructor) not viable: cannot convert argument of incomplete type 'void' to 'const RegionSuccessor &' for 1st argument
199 | class RegionSuccessor {
|       ^~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:199:7: note: candidate constructor (the implicit move constructor) not viable: cannot convert argument of incomplete type 'void' to 'RegionSuccessor &&' for 1st argument
199 | class RegionSuccessor {
|       ^~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:202:3: note: candidate constructor not viable: cannot convert argument of incomplete type 'void' to 'Region *' for 1st argument
202 |   RegionSuccessor(Region *region) : successor(region) {
|   ^               ~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:207:3: note: candidate constructor not viable: cannot convert argument of incomplete type 'void' to 'Operation *' for 1st argument
207 |   RegionSuccessor(Operation *operation) : successor(operation) {
|   ^               ~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/SmallVector.h:569:30: note: passing argument to parameter 'Elt' here
569 |   void push_back(ValueParamT Elt) {
|                              ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/CIR/Dialect/IR/CIRDialect.cpp:1557:20: error: no member named 'isParent' in 'mlir::RegionSuccessor'
1557 |   return successor.isParent() ? ValueRange(getOperation()->getResults())
|          ~~~~~~~~~ ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/CIR/Dialect/IR/CIRDialect.cpp:1630:23: error: no member named 'parent' in 'mlir::RegionSuccessor'; did you mean 'print'?
1630 |     regions.push_back(RegionSuccessor::parent());
|                       ^~~~~~~~~~~~~~~~~~~~~~~
|                       print
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/include/clang/CIR/Dialect/IR/CIROps.h.inc:14906:13: note: 'print' declared here
14906 |   using Op::print;
|             ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/CIR/Dialect/IR/CIRDialect.cpp:1630:47: error: too few arguments to function call, at least argument 'os' must be specified
1630 |     regions.push_back(RegionSuccessor::parent());
|                                        ~~~~~~ ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/IR/OpDefinition.h:118:8: note: 'print' declared here
118 |   void print(raw_ostream &os, OpPrintingFlags flags = {}) {
|        ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/CIR/Dialect/IR/CIRDialect.cpp:1630:40: error: no viable conversion from 'void' to 'ValueParamT' (aka 'mlir::RegionSuccessor')
1630 |     regions.push_back(RegionSuccessor::parent());
|                                        ^~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:199:7: note: candidate constructor (the implicit copy constructor) not viable: cannot convert argument of incomplete type 'void' to 'const RegionSuccessor &' for 1st argument
199 | class RegionSuccessor {
|       ^~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:199:7: note: candidate constructor (the implicit move constructor) not viable: cannot convert argument of incomplete type 'void' to 'RegionSuccessor &&' for 1st argument
199 | class RegionSuccessor {
|       ^~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:202:3: note: candidate constructor not viable: cannot convert argument of incomplete type 'void' to 'Region *' for 1st argument
202 |   RegionSuccessor(Region *region) : successor(region) {
|   ^               ~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:207:3: note: candidate constructor not viable: cannot convert argument of incomplete type 'void' to 'Operation *' for 1st argument
207 |   RegionSuccessor(Operation *operation) : successor(operation) {
|   ^               ~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/SmallVector.h:569:30: note: passing argument to parameter 'Elt' here
569 |   void push_back(ValueParamT Elt) {
|                              ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/CIR/Dialect/IR/CIRDialect.cpp:1829:23: error: no member named 'parent' in 'mlir::RegionSuccessor'; did you mean 'print'?
1829 |     regions.push_back(RegionSuccessor::parent());
|                       ^~~~~~~~~~~~~~~~~~~~~~~
|                       print
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/include/clang/CIR/Dialect/IR/CIROps.h.inc:14091:13: note: 'print' declared here
14091 |   using Op::print;
|             ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/CIR/Dialect/IR/CIRDialect.cpp:1829:47: error: too few arguments to function call, at least argument 'os' must be specified
1829 |     regions.push_back(RegionSuccessor::parent());
|                                        ~~~~~~ ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/IR/OpDefinition.h:118:8: note: 'print' declared here
118 |   void print(raw_ostream &os, OpPrintingFlags flags = {}) {
|        ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
```
</details>
<details>
<summary>tools/clang/lib/CIR/Interfaces/CMakeFiles/obj.MLIRCIRInterfaces.dir/CIRLoopOpInterface.cpp.o (Likely Already Failing)</summary>
This test is already failing at the base commit.

```
FAILED: tools/clang/lib/CIR/Interfaces/CMakeFiles/obj.MLIRCIRInterfaces.dir/CIRLoopOpInterface.cpp.o
sccache /opt/llvm/bin/clang++ -DCLANG_EXPORTS -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/tools/clang/lib/CIR/Interfaces -I/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/CIR/Interfaces -I/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/mlir/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 -fno-common -Woverloaded-virtual -Wno-nested-anon-types -O3 -DNDEBUG -std=c++17 -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -MD -MT tools/clang/lib/CIR/Interfaces/CMakeFiles/obj.MLIRCIRInterfaces.dir/CIRLoopOpInterface.cpp.o -MF tools/clang/lib/CIR/Interfaces/CMakeFiles/obj.MLIRCIRInterfaces.dir/CIRLoopOpInterface.cpp.o.d -o tools/clang/lib/CIR/Interfaces/CMakeFiles/obj.MLIRCIRInterfaces.dir/CIRLoopOpInterface.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/CIR/Interfaces/CIRLoopOpInterface.cpp
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/CIR/Interfaces/CIRLoopOpInterface.cpp:33:26: error: no member named 'parent' in 'mlir::RegionSuccessor'; did you mean 'mlir::RegionBranchPoint::parent'?
33 |     regions.emplace_back(mlir::RegionSuccessor::parent());
|                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|                          mlir::RegionBranchPoint::parent
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:259:38: note: 'mlir::RegionBranchPoint::parent' declared here
259 |   static constexpr RegionBranchPoint parent() { return RegionBranchPoint(); }
|                                      ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/CIR/Interfaces/CIRLoopOpInterface.cpp:59:17: error: no member named 'isParent' in 'mlir::RegionSuccessor'
59 |   if (successor.isParent())
|       ~~~~~~~~~ ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/CIR/Interfaces/CIRLoopOpInterface.cpp:9:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/CIR/Interfaces/CIRLoopOpInterface.h:17:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/IR/BuiltinTypes.h:12:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/IR/BuiltinAttributeInterfaces.h:12:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/IR/AffineMap.h:17:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/IR/AffineExpr.h:21:
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/SmallVector.h:970:33: error: no matching constructor for initialization of 'mlir::RegionSuccessor'
970 |     ::new ((void *)this->end()) T(std::forward<ArgTypes>(Args)...);
|                                 ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/CIR/Interfaces/CIRLoopOpInterface.cpp:33:13: note: in instantiation of function template specialization 'llvm::SmallVectorImpl<mlir::RegionSuccessor>::emplace_back<mlir::RegionBranchPoint>' requested here
33 |     regions.emplace_back(mlir::RegionSuccessor::parent());
|             ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:199:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'mlir::RegionBranchPoint' to 'const RegionSuccessor' for 1st argument
199 | class RegionSuccessor {
|       ^~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:199:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'mlir::RegionBranchPoint' to 'RegionSuccessor' for 1st argument
199 | class RegionSuccessor {
|       ^~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:202:3: note: candidate constructor not viable: no known conversion from 'mlir::RegionBranchPoint' to 'Region *' for 1st argument
202 |   RegionSuccessor(Region *region) : successor(region) {
|   ^               ~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:207:3: note: candidate constructor not viable: no known conversion from 'mlir::RegionBranchPoint' to 'Operation *' for 1st argument
207 |   RegionSuccessor(Operation *operation) : successor(operation) {
|   ^               ~~~~~~~~~~~~~~~~~~~~
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/CIR/Interfaces/CIRLoopOpInterface.cpp:9:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/CIR/Interfaces/CIRLoopOpInterface.h:17:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/IR/BuiltinTypes.h:12:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/IR/BuiltinAttributeInterfaces.h:12:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/IR/AffineMap.h:17:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/IR/AffineExpr.h:21:
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/SmallVector.h:564:15: error: no matching conversion for functional-style cast from 'mlir::RegionBranchPoint' to 'mlir::RegionSuccessor'
564 |     push_back(T(std::forward<ArgTypes>(Args)...));
|               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/SmallVector.h:968:20: note: in instantiation of function template specialization 'llvm::SmallVectorTemplateBase<mlir::RegionSuccessor>::growAndEmplaceBack<mlir::RegionBranchPoint>' requested here
968 |       return this->growAndEmplaceBack(std::forward<ArgTypes>(Args)...);
|                    ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/CIR/Interfaces/CIRLoopOpInterface.cpp:33:13: note: in instantiation of function template specialization 'llvm::SmallVectorImpl<mlir::RegionSuccessor>::emplace_back<mlir::RegionBranchPoint>' requested here
33 |     regions.emplace_back(mlir::RegionSuccessor::parent());
|             ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:199:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'mlir::RegionBranchPoint' to 'const RegionSuccessor' for 1st argument
199 | class RegionSuccessor {
|       ^~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:199:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'mlir::RegionBranchPoint' to 'RegionSuccessor' for 1st argument
199 | class RegionSuccessor {
|       ^~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:202:3: note: candidate constructor not viable: no known conversion from 'mlir::RegionBranchPoint' to 'Region *' for 1st argument
202 |   RegionSuccessor(Region *region) : successor(region) {
|   ^               ~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:207:3: note: candidate constructor not viable: no known conversion from 'mlir::RegionBranchPoint' to 'Operation *' for 1st argument
207 |   RegionSuccessor(Operation *operation) : successor(operation) {
|   ^               ~~~~~~~~~~~~~~~~~~~~
4 errors generated.
```
</details>
<details>
<summary>tools/clang/unittests/CIR/CMakeFiles/CIRUnitTests.dir/ControlFlowTest.cpp.o</summary>

```
FAILED: tools/clang/unittests/CIR/CMakeFiles/CIRUnitTests.dir/ControlFlowTest.cpp.o
sccache /opt/llvm/bin/clang++ -DLLVM_BUILD_STATIC -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/tools/clang/unittests/CIR -I/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/unittests/CIR -I/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/mlir/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/third-party/unittest/googletest/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/third-party/unittest/googlemock/include -isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/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 -fno-common -Woverloaded-virtual -Wno-nested-anon-types -O3 -DNDEBUG -std=c++17 -UNDEBUG -Wno-variadic-macros -Wno-gnu-zero-variadic-macro-arguments -fno-exceptions -funwind-tables -fno-rtti -Wno-suggest-override -MD -MT tools/clang/unittests/CIR/CMakeFiles/CIRUnitTests.dir/ControlFlowTest.cpp.o -MF tools/clang/unittests/CIR/CMakeFiles/CIRUnitTests.dir/ControlFlowTest.cpp.o.d -o tools/clang/unittests/CIR/CMakeFiles/CIRUnitTests.dir/ControlFlowTest.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/unittests/CIR/ControlFlowTest.cpp
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/unittests/CIR/ControlFlowTest.cpp:251:34: error: no member named 'parent' in 'mlir::RegionSuccessor'; did you mean 'mlir::RegionBranchPoint::parent'?
251 |       scopeOp.getSuccessorInputs(RegionSuccessor::parent());
|                                  ^~~~~~~~~~~~~~~~~~~~~~~
|                                  mlir::RegionBranchPoint::parent
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:259:38: note: 'mlir::RegionBranchPoint::parent' declared here
259 |   static constexpr RegionBranchPoint parent() { return RegionBranchPoint(); }
|                                      ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/unittests/CIR/ControlFlowTest.cpp:251:51: error: no viable conversion from 'RegionBranchPoint' to '::mlir::RegionSuccessor'
251 |       scopeOp.getSuccessorInputs(RegionSuccessor::parent());
|                                                   ^~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:199:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'RegionBranchPoint' to 'const RegionSuccessor &' for 1st argument
199 | class RegionSuccessor {
|       ^~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:199:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'RegionBranchPoint' to 'RegionSuccessor &&' for 1st argument
199 | class RegionSuccessor {
|       ^~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:202:3: note: candidate constructor not viable: no known conversion from 'RegionBranchPoint' to 'Region *' for 1st argument
202 |   RegionSuccessor(Region *region) : successor(region) {
|   ^               ~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:207:3: note: candidate constructor not viable: no known conversion from 'RegionBranchPoint' to 'Operation *' for 1st argument
207 |   RegionSuccessor(Operation *operation) : successor(operation) {
|   ^               ~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/include/clang/CIR/Dialect/IR/CIROps.h.inc:41196:65: note: passing argument to parameter 'successor' here
41196 |   ::mlir::ValueRange getSuccessorInputs(::mlir::RegionSuccessor successor);
|                                                                 ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/unittests/CIR/ControlFlowTest.cpp:259:33: error: no member named 'parent' in 'mlir::RegionSuccessor'; did you mean 'mlir::RegionBranchPoint::parent'?
259 |       term.getSuccessorOperands(RegionSuccessor::parent());
|                                 ^~~~~~~~~~~~~~~~~~~~~~~
|                                 mlir::RegionBranchPoint::parent
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:259:38: note: 'mlir::RegionBranchPoint::parent' declared here
259 |   static constexpr RegionBranchPoint parent() { return RegionBranchPoint(); }
|                                      ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/unittests/CIR/ControlFlowTest.cpp:259:50: error: no viable conversion from 'RegionBranchPoint' to '::mlir::RegionSuccessor'
259 |       term.getSuccessorOperands(RegionSuccessor::parent());
|                                                  ^~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:199:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'RegionBranchPoint' to 'const RegionSuccessor &' for 1st argument
199 | class RegionSuccessor {
|       ^~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:199:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'RegionBranchPoint' to 'RegionSuccessor &&' for 1st argument
199 | class RegionSuccessor {
|       ^~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:202:3: note: candidate constructor not viable: no known conversion from 'RegionBranchPoint' to 'Region *' for 1st argument
202 |   RegionSuccessor(Region *region) : successor(region) {
|   ^               ~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../mlir/include/mlir/Interfaces/ControlFlowInterfaces.h:207:3: note: candidate constructor not viable: no known conversion from 'RegionBranchPoint' to 'Operation *' for 1st argument
207 |   RegionSuccessor(Operation *operation) : successor(operation) {
|   ^               ~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/mlir/include/mlir/Interfaces/ControlFlowInterfaces.h.inc:601:71: note: passing argument to parameter 'successor' here
601 |     ::mlir::OperandRange getSuccessorOperands(::mlir::RegionSuccessor successor) {
|                                                                       ^
4 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/201592


More information about the cfe-commits mailing list