[clang] [llvm] [mlir] [IRBuilder] Use ptrtoaddr in CreatePtrDiff() (PR #181855)

via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 18 07:05:48 PST 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results

* 169783 tests passed
* 3061 tests skipped
* 1 test failed

## Failed Tests
(click on a test name to see its output)

### Flang
<details>
<summary>Flang.Integration/OpenMP/map-types-and-sizes.f90</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 9
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/flang -fc1 -emit-llvm -fopenmp -mmlir --enable-delayed-privatization-staging=false -fopenmp-version=51 -fopenmp-targets=amdgcn-amd-amdhsa /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Integration/OpenMP/map-types-and-sizes.f90 -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Integration/OpenMP/map-types-and-sizes.f90 --check-prefixes=CHECK,CHECK-NO-FPRIV
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/flang -fc1 -emit-llvm -fopenmp -mmlir --enable-delayed-privatization-staging=false -fopenmp-version=51 -fopenmp-targets=amdgcn-amd-amdhsa /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Integration/OpenMP/map-types-and-sizes.f90 -o -
# .---command stderr------------
# | warning: OpenMP support for version 51 in flang is still incomplete
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Integration/OpenMP/map-types-and-sizes.f90:41:16: warning: Variable 'p' in IS_DEVICE_PTR clause must be a dummy argument. This semantic check is deprecated from OpenMP 5.2 and later. [-Wopen-mp-usage]
# |     !$omp target is_device_ptr(p)
# |                  ^^^^^^^^^^^^^^^^
# `-----------------------------
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Integration/OpenMP/map-types-and-sizes.f90 --check-prefixes=CHECK,CHECK-NO-FPRIV
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Integration/OpenMP/map-types-and-sizes.f90:436:9: error: CHECK: expected string not found in input
# | !CHECK: %[[ALLOCA_GEP_INT:.*]] = ptrtoint ptr %[[ALLOCA_GEP]] to i64
# |         ^
# | <stdin>:1208:69: note: scanning from here
# |  %5 = getelementptr { ptr, i64, i32, i8, i8, i8, i8 }, ptr %2, i32 1
# |                                                                     ^
# | <stdin>:1208:69: note: with "ALLOCA_GEP" equal to "5"
# |  %5 = getelementptr { ptr, i64, i32, i8, i8, i8, i8 }, ptr %2, i32 1
# |                                                                     ^
# | <stdin>:1209:2: note: possible intended match here
# |  %6 = ptrtoaddr ptr %5 to i64
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Integration/OpenMP/map-types-and-sizes.f90:446:9: error: CHECK: expected string not found in input
# | !CHECK: %[[ALLOCA_GEP_INT:.*]] = ptrtoint ptr %[[ALLOCA_GEP]] to i64
# |         ^
# | <stdin>:1325:70: note: scanning from here
# |  %11 = getelementptr { ptr, i64, i32, i8, i8, i8, i8 }, ptr %6, i32 1
# |                                                                      ^
# | <stdin>:1325:70: note: with "ALLOCA_GEP" equal to "11"
# |  %11 = getelementptr { ptr, i64, i32, i8, i8, i8, i8 }, ptr %6, i32 1
# |                                                                      ^
# | <stdin>:1327:2: note: possible intended match here
# |  %13 = ptrtoaddr ptr %6 to i64
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Integration/OpenMP/map-types-and-sizes.f90:481:9: error: CHECK: expected string not found in input
# | !CHECK: %[[ARR_END:.*]] = ptrtoint ptr %[[ARR_END_OFF]] to i64
# |         ^
# | <stdin>:1619:39: note: scanning from here
# |  %4 = getelementptr i32, ptr %2, i64 1
# |                                       ^
# | <stdin>:1619:39: note: with "ARR_END_OFF" equal to "4"
# |  %4 = getelementptr i32, ptr %2, i64 1
# |                                       ^
# | <stdin>:1620:2: note: possible intended match here
# |  %5 = ptrtoaddr ptr %4 to i64
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Integration/OpenMP/map-types-and-sizes.f90:524:9: error: CHECK: expected string not found in input
# | !CHECK: %[[ARR_END:.*]] = ptrtoint ptr %[[ARR_END_OFF]] to i64
# |         ^
# | <stdin>:1812:41: note: scanning from here
# |  %5 = getelementptr float, ptr %4, i64 1
# |                                         ^
# | <stdin>:1812:41: note: with "ARR_END_OFF" equal to "5"
# |  %5 = getelementptr float, ptr %4, i64 1
# |                                         ^
# | <stdin>:1813:2: note: possible intended match here
# |  %6 = ptrtoaddr ptr %5 to i64
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Integration/OpenMP/map-types-and-sizes.f90:568:9: error: CHECK: expected string not found in input
# | !CHECK: %[[MEMBER_ACCESS_ADDR_INT:.*]] = ptrtoint ptr %[[MEMBER_ACCESS_ADDR_END]] to i64
# |         ^
# | <stdin>:1970:87: note: scanning from here
# |  %21 = getelementptr { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %5, i64 1
# |                                                                                       ^
# | <stdin>:1970:87: note: with "MEMBER_ACCESS_ADDR_END" equal to "21"
# |  %21 = getelementptr { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %5, i64 1
# |                                                                                       ^
# | <stdin>:1972:2: note: possible intended match here
# |  %23 = ptrtoaddr ptr %5 to i64
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Integration/OpenMP/map-types-and-sizes.f90:628:9: error: CHECK: expected string not found in input
# | !CHECK: %[[DTYPE_END:.*]] = ptrtoint ptr %[[DTYPE_END_OFFSET]] to i64
# |         ^
# | <stdin>:2105:86: note: scanning from here
# |  %39 = getelementptr { ptr, i64, i32, i8, i8, i8, i8, ptr, [1 x i64] }, ptr %8, i32 1
# |                                                                                      ^
# | <stdin>:2105:86: note: with "DTYPE_END_OFFSET" equal to "39"
# |  %39 = getelementptr { ptr, i64, i32, i8, i8, i8, i8, ptr, [1 x i64] }, ptr %8, i32 1
# |                                                                                      ^
# | <stdin>:2107:2: note: possible intended match here
# |  %41 = ptrtoaddr ptr %8 to i64
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Integration/OpenMP/map-types-and-sizes.f90:711:9: error: CHECK: expected string not found in input
# | !CHECK: %[[DTYPE_DESC_SIZE_CALC_2:.*]] = ptrtoint ptr %[[DTYPE_DESC_SIZE_CALC_1]] to i64
# |         ^
# | <stdin>:2299:86: note: scanning from here
# |  %43 = getelementptr { ptr, i64, i32, i8, i8, i8, i8, ptr, [1 x i64] }, ptr %8, i32 1
# |                                                                                      ^
# | <stdin>:2299:86: note: with "DTYPE_DESC_SIZE_CALC_1" equal to "43"
# |  %43 = getelementptr { ptr, i64, i32, i8, i8, i8, i8, ptr, [1 x i64] }, ptr %8, i32 1
# |                                                                                      ^
# | <stdin>:2301:2: note: possible intended match here
# |  %45 = ptrtoaddr ptr %8 to i64
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Integration/OpenMP/map-types-and-sizes.f90:782:9: error: CHECK: expected string not found in input
# | !CHECK: %[[DTYPE_SEGMENT_SIZE_CALC_1:.*]] = ptrtoint ptr %[[NESTED_MEMBER_BASE_ADDR_ACCESS_2]] to i64
# |         ^
# | <stdin>:2468:87: note: scanning from here
# |  %22 = getelementptr { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %6, i64 1
# |                                                                                       ^
# | <stdin>:2468:87: note: with "NESTED_MEMBER_BASE_ADDR_ACCESS_2" equal to "22"
# |  %22 = getelementptr { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %6, i64 1
# |                                                                                       ^
# | <stdin>:2470:2: note: possible intended match here
# |  %24 = ptrtoaddr ptr %6 to i64
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Integration/OpenMP/map-types-and-sizes.f90:849:9: error: CHECK: expected string not found in input
# | !CHECK: %[[SZ_CALC_2:.*]] = ptrtoint ptr %[[SZ_CALC_1]] to i64
# |         ^
# | <stdin>:2642:103: note: scanning from here
# |  %77 = getelementptr { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]], ptr, [1 x i64] }, ptr %8, i64 1
# |                                                                                                       ^
# | <stdin>:2642:103: note: with "SZ_CALC_1" equal to "77"
# |  %77 = getelementptr { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]], ptr, [1 x i64] }, ptr %8, i64 1
# |                                                                                                       ^
# | <stdin>:2644:2: note: possible intended match here
# |  %79 = ptrtoaddr ptr %8 to i64
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Integration/OpenMP/map-types-and-sizes.f90
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |           1203:  %3 = getelementptr { ptr, i64, i32, i8, i8, i8, i8 }, ptr %2, i32 0, i32 0 
# |           1204:  br label %entry 
# |           1205:  
# |           1206: entry: ; preds = %0 
# |           1207:  %4 = load ptr, ptr %3, align 8 
# |           1208:  %5 = getelementptr { ptr, i64, i32, i8, i8, i8, i8 }, ptr %2, i32 1 
# | check:436'0                                                                         X error: no match found
# | check:436'1                                                                           with "ALLOCA_GEP" equal to "5"
# |           1209:  %6 = ptrtoaddr ptr %5 to i64 
# | check:436'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:436'2      ?                             possible intended match
# |           1210:  %7 = ptrtoaddr ptr %2 to i64 
# | check:436'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1211:  %8 = sub i64 %6, %7 
# | check:436'0     ~~~~~~~~~~~~~~~~~~~~~
# |           1212:  %9 = getelementptr { ptr, i64, i32, i8, i8, i8, i8 }, ptr %2, i32 1 
# | check:436'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1213:  %10 = ptrtoaddr ptr %3 to i64 
# | check:436'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1214:  %11 = ptrtoaddr ptr %2 to i64 
# | check:436'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# |           1320:  %9 = getelementptr { ptr, i64, i32, i8, i8, i8, i8 }, ptr %6, i32 0, i32 0 
# |           1321:  br label %entry 
# |           1322:  
# |           1323: entry: ; preds = %0 
# |           1324:  %10 = load ptr, ptr %9, align 8 
# |           1325:  %11 = getelementptr { ptr, i64, i32, i8, i8, i8, i8 }, ptr %6, i32 1 
# | check:446'0                                                                          X error: no match found
# | check:446'1                                                                            with "ALLOCA_GEP" equal to "11"
# |           1326:  %12 = ptrtoaddr ptr %11 to i64 
# | check:446'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1327:  %13 = ptrtoaddr ptr %6 to i64 
# | check:446'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:446'2      ?                              possible intended match
# |           1328:  %14 = sub i64 %12, %13 
# | check:446'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |           1329:  %15 = getelementptr { ptr, i64, i32, i8, i8, i8, i8 }, ptr %6, i32 1 
# | check:446'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1330:  %16 = ptrtoaddr ptr %9 to i64 
# | check:446'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1331:  %17 = ptrtoaddr ptr %6 to i64 
# | check:446'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1332:  %18 = sub i64 %16, %17 
# | check:446'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# |           1614:  %2 = getelementptr %_QFmaptype_derived_explicit_multiple_membersTscalar_and_array, ptr %1, i32 0, i32 2 
# |           1615:  %3 = getelementptr %_QFmaptype_derived_explicit_multiple_membersTscalar_and_array, ptr %1, i32 0, i32 0 
# |           1616:  br label %entry 
# |           1617:  
# |           1618: entry: ; preds = %0 
# |           1619:  %4 = getelementptr i32, ptr %2, i64 1 
# | check:481'0                                           X error: no match found
# | check:481'1                                             with "ARR_END_OFF" equal to "4"
# |           1620:  %5 = ptrtoaddr ptr %4 to i64 
# | check:481'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:481'2      ?                             possible intended match
# |           1621:  %6 = ptrtoaddr ptr %3 to i64 
# | check:481'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1622:  %7 = sub i64 %5, %6 
# | check:481'0     ~~~~~~~~~~~~~~~~~~~~~
# |           1623:  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %.offload_sizes, ptr align 8 @.offload_sizes.42, i64 24, i1 false) 
# | check:481'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1624:  %8 = getelementptr inbounds [3 x ptr], ptr %.offload_baseptrs, i32 0, i32 0 
# | check:481'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1625:  store ptr %1, ptr %8, align 8 
# | check:481'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# |           1807:  %3 = getelementptr %_QFmaptype_derived_explicit_multiple_nested_membersTnested, ptr %2, i32 0, i32 0 
# |           1808:  %4 = getelementptr %_QFmaptype_derived_explicit_multiple_nested_membersTnested, ptr %2, i32 0, i32 1 
# |           1809:  br label %entry 
# |           1810:  
# |           1811: entry: ; preds = %0 
# |           1812:  %5 = getelementptr float, ptr %4, i64 1 
# | check:524'0                                             X error: no match found
# | check:524'1                                               with "ARR_END_OFF" equal to "5"
# |           1813:  %6 = ptrtoaddr ptr %5 to i64 
# | check:524'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:524'2      ?                             possible intended match
# |           1814:  %7 = ptrtoaddr ptr %3 to i64 
# | check:524'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1815:  %8 = sub i64 %6, %7 
# | check:524'0     ~~~~~~~~~~~~~~~~~~~~~
# |           1816:  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %.offload_sizes, ptr align 8 @.offload_sizes.51, i64 24, i1 false) 
# | check:524'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1817:  %9 = getelementptr inbounds [3 x ptr], ptr %.offload_baseptrs, i32 0, i32 0 
# | check:524'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1818:  store ptr %1, ptr %9, align 8 
# | check:524'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# |           1965:  br label %entry 
# |           1966:  
# |           1967: entry: ; preds = %0 
# |           1968:  %20 = load ptr, ptr %15, align 8 
# |           1969:  %array_offset = getelementptr inbounds i32, ptr %20, i64 0 
# |           1970:  %21 = getelementptr { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %5, i64 1 
# | check:568'0                                                                                           X error: no match found
# | check:568'1                                                                                             with "MEMBER_ACCESS_ADDR_END" equal to "21"
# |           1971:  %22 = ptrtoaddr ptr %21 to i64 
# | check:568'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1972:  %23 = ptrtoaddr ptr %5 to i64 
# | check:568'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:568'2      ?                              possible intended match
# |           1973:  %24 = sub i64 %22, %23 
# | check:568'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |           1974:  %25 = icmp eq ptr %array_offset, null 
# | check:568'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1975:  %26 = select i1 %25, i64 0, i64 %19 
# | check:568'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1976:  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %.offload_sizes, ptr align 8 @.offload_sizes.57, i64 32, i1 false) 
# | check:568'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           1977:  %27 = getelementptr inbounds [4 x ptr], ptr %.offload_baseptrs, i32 0, i32 0 
# | check:568'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# |           2100:  
# |           2101: entry: ; preds = %0 
# |           2102:  %37 = load ptr, ptr %32, align 8 
# |           2103:  %38 = load ptr, ptr %28, align 8 
# |           2104:  %array_offset = getelementptr inbounds i32, ptr %38, i64 0 
# |           2105:  %39 = getelementptr { ptr, i64, i32, i8, i8, i8, i8, ptr, [1 x i64] }, ptr %8, i32 1 
# | check:628'0                                                                                          X error: no match found
# | check:628'1                                                                                            with "DTYPE_END_OFFSET" equal to "39"
# |           2106:  %40 = ptrtoaddr ptr %39 to i64 
# | check:628'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           2107:  %41 = ptrtoaddr ptr %8 to i64 
# | check:628'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:628'2      ?                              possible intended match
# |           2108:  %42 = sub i64 %40, %41 
# | check:628'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |           2109:  %43 = getelementptr { ptr, i64, i32, i8, i8, i8, i8, ptr, [1 x i64] }, ptr %8, i32 1 
# | check:628'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           2110:  %44 = ptrtoaddr ptr %32 to i64 
# | check:628'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           2111:  %45 = ptrtoaddr ptr %8 to i64 
# | check:628'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           2112:  %46 = sub i64 %44, %45 
# | check:628'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# |           2294:  
# |           2295: entry: ; preds = %0 
# |           2296:  %41 = load ptr, ptr %36, align 8 
# |           2297:  %42 = load ptr, ptr %31, align 8 
# |           2298:  %array_offset = getelementptr inbounds i32, ptr %42, i64 0 
# |           2299:  %43 = getelementptr { ptr, i64, i32, i8, i8, i8, i8, ptr, [1 x i64] }, ptr %8, i32 1 
# | check:711'0                                                                                          X error: no match found
# | check:711'1                                                                                            with "DTYPE_DESC_SIZE_CALC_1" equal to "43"
# |           2300:  %44 = ptrtoaddr ptr %43 to i64 
# | check:711'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           2301:  %45 = ptrtoaddr ptr %8 to i64 
# | check:711'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:711'2      ?                              possible intended match
# |           2302:  %46 = sub i64 %44, %45 
# | check:711'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |           2303:  %47 = getelementptr { ptr, i64, i32, i8, i8, i8, i8, ptr, [1 x i64] }, ptr %8, i32 1 
# | check:711'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           2304:  %48 = ptrtoaddr ptr %36 to i64 
# | check:711'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           2305:  %49 = ptrtoaddr ptr %8 to i64 
# | check:711'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           2306:  %50 = sub i64 %48, %49 
# | check:711'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# |           2463:  br label %entry 
# |           2464:  
# |           2465: entry: ; preds = %0 
# |           2466:  %21 = load ptr, ptr %16, align 8 
# |           2467:  %array_offset = getelementptr inbounds i32, ptr %21, i64 0 
# |           2468:  %22 = getelementptr { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %6, i64 1 
# | check:782'0                                                                                           X error: no match found
# | check:782'1                                                                                             with "NESTED_MEMBER_BASE_ADDR_ACCESS_2" equal to "22"
# |           2469:  %23 = ptrtoaddr ptr %22 to i64 
# | check:782'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           2470:  %24 = ptrtoaddr ptr %6 to i64 
# | check:782'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:782'2      ?                              possible intended match
# |           2471:  %25 = sub i64 %23, %24 
# | check:782'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |           2472:  %26 = icmp eq ptr %array_offset, null 
# | check:782'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           2473:  %27 = select i1 %26, i64 0, i64 %20 
# | check:782'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           2474:  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %.offload_sizes, ptr align 8 @.offload_sizes.66, i64 32, i1 false) 
# | check:782'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           2475:  %28 = getelementptr inbounds [4 x ptr], ptr %.offload_baseptrs, i32 0, i32 0 
# | check:782'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# |           2637: entry: ; preds = %0 
# |           2638:  %75 = load ptr, ptr %50, align 8 
# |           2639:  %array_offset = getelementptr inbounds %_QFmaptype_nested_derived_type_member_idxTvertexes, ptr %75, i64 0 
# |           2640:  %76 = load ptr, ptr %66, align 8 
# |           2641:  %array_offset1 = getelementptr inbounds i32, ptr %76, i64 0 
# |           2642:  %77 = getelementptr { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]], ptr, [1 x i64] }, ptr %8, i64 1 
# | check:849'0                                                                                                           X error: no match found
# | check:849'1                                                                                                             with "SZ_CALC_1" equal to "77"
# |           2643:  %78 = ptrtoaddr ptr %77 to i64 
# | check:849'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           2644:  %79 = ptrtoaddr ptr %8 to i64 
# | check:849'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:849'2      ?                              possible intended match
# |           2645:  %80 = sub i64 %78, %79 
# | check:849'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |           2646:  %81 = icmp eq ptr %array_offset, null 
# | check:849'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           2647:  %82 = select i1 %81, i64 0, i64 %70 
# | check:849'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           2648:  %83 = icmp eq ptr %array_offset1, null 
# | check:849'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           2649:  %84 = select i1 %83, i64 0, i64 %74 
# | check:849'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</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/181855


More information about the llvm-commits mailing list