Skip to content

Conversation

@ZuseZ4
Copy link
Member

@ZuseZ4 ZuseZ4 commented Dec 27, 2025

Apparently, we weren't running offload tests when Enzyme wasn't built. Time to fix that.

cc @kevinsala, @Sa4dUs

closes: #150415

blocked on needs-offload infrastructure landing in #150427

@rustbot rustbot added A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Dec 27, 2025
@rust-log-analyzer
Copy link
Collaborator

The job aarch64-gnu-llvm-20-1 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)

---- [codegen] tests/codegen-llvm/gpu_offload/gpu_host.rs stdout ----
------FileCheck stdout------------------------------

------FileCheck stderr------------------------------
/checkout/tests/codegen-llvm/gpu_offload/gpu_host.rs:80:16: error: CHECK-NEXT: expected string not found in input
// CHECK-NEXT: store i32 3, ptr %kernel_args, align 8
               ^
/checkout/obj/build/aarch64-unknown-linux-gnu/test/codegen-llvm/gpu_offload/gpu_host/gpu_host.ll:192:263: note: scanning from here
 call void @__tgt_target_data_begin_mapper(ptr nonnull @anon.2e1695ebccd657ad49b4a8486e834576.1, i64 -1, i32 1, ptr nonnull %.offload_baseptrs, ptr nonnull %.offload_ptrs, ptr nonnull %.offload_sizes, ptr nonnull @.offload_maptypes._kernel_1, ptr null, ptr null)
                                                                                                                                                                                                                                                                      ^
/checkout/obj/build/aarch64-unknown-linux-gnu/test/codegen-llvm/gpu_offload/gpu_host/gpu_host.ll:193:21: note: possible intended match here
 store <2 x i32> <i32 3, i32 1>, ptr %kernel_args, align 8
                    ^

Input file: /checkout/obj/build/aarch64-unknown-linux-gnu/test/codegen-llvm/gpu_offload/gpu_host/gpu_host.ll
Check file: /checkout/tests/codegen-llvm/gpu_offload/gpu_host.rs

-dump-input=help explains the following input dump.

Input was:
<<<<<<
           .
           .
           .
          92:  %27 = getelementptr inbounds nuw i8, ptr %x, i64 432 
          93:  store <4 x float> splat (float 3.000000e+00), ptr %26, align 16 
          94:  store <4 x float> splat (float 3.000000e+00), ptr %27, align 16 
          95:  %28 = getelementptr inbounds nuw i8, ptr %x, i64 448 
          96:  %29 = getelementptr inbounds nuw i8, ptr %x, i64 464 
          97:  store <4 x float> splat (float 3.000000e+00), ptr %28, align 16 
          98:  store <4 x float> splat (float 3.000000e+00), ptr %29, align 16 
          99:  %30 = getelementptr inbounds nuw i8, ptr %x, i64 480 
         100:  %31 = getelementptr inbounds nuw i8, ptr %x, i64 496 
         101:  store <4 x float> splat (float 3.000000e+00), ptr %30, align 16 
         102:  store <4 x float> splat (float 3.000000e+00), ptr %31, align 16 
         103:  %32 = getelementptr inbounds nuw i8, ptr %x, i64 512 
         104:  %33 = getelementptr inbounds nuw i8, ptr %x, i64 528 
         105:  store <4 x float> splat (float 3.000000e+00), ptr %32, align 16 
         106:  store <4 x float> splat (float 3.000000e+00), ptr %33, align 16 
         107:  %34 = getelementptr inbounds nuw i8, ptr %x, i64 544 
         108:  %35 = getelementptr inbounds nuw i8, ptr %x, i64 560 
         109:  store <4 x float> splat (float 3.000000e+00), ptr %34, align 16 
         110:  store <4 x float> splat (float 3.000000e+00), ptr %35, align 16 
         111:  %36 = getelementptr inbounds nuw i8, ptr %x, i64 576 
         112:  %37 = getelementptr inbounds nuw i8, ptr %x, i64 592 
         113:  store <4 x float> splat (float 3.000000e+00), ptr %36, align 16 
         114:  store <4 x float> splat (float 3.000000e+00), ptr %37, align 16 
         115:  %38 = getelementptr inbounds nuw i8, ptr %x, i64 608 
         116:  %39 = getelementptr inbounds nuw i8, ptr %x, i64 624 
         117:  store <4 x float> splat (float 3.000000e+00), ptr %38, align 16 
         118:  store <4 x float> splat (float 3.000000e+00), ptr %39, align 16 
         119:  %40 = getelementptr inbounds nuw i8, ptr %x, i64 640 
         120:  %41 = getelementptr inbounds nuw i8, ptr %x, i64 656 
         121:  store <4 x float> splat (float 3.000000e+00), ptr %40, align 16 
         122:  store <4 x float> splat (float 3.000000e+00), ptr %41, align 16 
         123:  %42 = getelementptr inbounds nuw i8, ptr %x, i64 672 
         124:  %43 = getelementptr inbounds nuw i8, ptr %x, i64 688 
         125:  store <4 x float> splat (float 3.000000e+00), ptr %42, align 16 
         126:  store <4 x float> splat (float 3.000000e+00), ptr %43, align 16 
         127:  %44 = getelementptr inbounds nuw i8, ptr %x, i64 704 
         128:  %45 = getelementptr inbounds nuw i8, ptr %x, i64 720 
         129:  store <4 x float> splat (float 3.000000e+00), ptr %44, align 16 
         130:  store <4 x float> splat (float 3.000000e+00), ptr %45, align 16 
         131:  %46 = getelementptr inbounds nuw i8, ptr %x, i64 736 
         132:  %47 = getelementptr inbounds nuw i8, ptr %x, i64 752 
         133:  store <4 x float> splat (float 3.000000e+00), ptr %46, align 16 
         134:  store <4 x float> splat (float 3.000000e+00), ptr %47, align 16 
         135:  %48 = getelementptr inbounds nuw i8, ptr %x, i64 768 
         136:  %49 = getelementptr inbounds nuw i8, ptr %x, i64 784 
         137:  store <4 x float> splat (float 3.000000e+00), ptr %48, align 16 
         138:  store <4 x float> splat (float 3.000000e+00), ptr %49, align 16 
         139:  %50 = getelementptr inbounds nuw i8, ptr %x, i64 800 
         140:  %51 = getelementptr inbounds nuw i8, ptr %x, i64 816 
         141:  store <4 x float> splat (float 3.000000e+00), ptr %50, align 16 
         142:  store <4 x float> splat (float 3.000000e+00), ptr %51, align 16 
         143:  %52 = getelementptr inbounds nuw i8, ptr %x, i64 832 
         144:  %53 = getelementptr inbounds nuw i8, ptr %x, i64 848 
         145:  store <4 x float> splat (float 3.000000e+00), ptr %52, align 16 
         146:  store <4 x float> splat (float 3.000000e+00), ptr %53, align 16 
         147:  %54 = getelementptr inbounds nuw i8, ptr %x, i64 864 
         148:  %55 = getelementptr inbounds nuw i8, ptr %x, i64 880 
         149:  store <4 x float> splat (float 3.000000e+00), ptr %54, align 16 
         150:  store <4 x float> splat (float 3.000000e+00), ptr %55, align 16 
         151:  %56 = getelementptr inbounds nuw i8, ptr %x, i64 896 
         152:  %57 = getelementptr inbounds nuw i8, ptr %x, i64 912 
         153:  store <4 x float> splat (float 3.000000e+00), ptr %56, align 16 
         154:  store <4 x float> splat (float 3.000000e+00), ptr %57, align 16 
         155:  %58 = getelementptr inbounds nuw i8, ptr %x, i64 928 
         156:  %59 = getelementptr inbounds nuw i8, ptr %x, i64 944 
         157:  store <4 x float> splat (float 3.000000e+00), ptr %58, align 16 
         158:  store <4 x float> splat (float 3.000000e+00), ptr %59, align 16 
         159:  %60 = getelementptr inbounds nuw i8, ptr %x, i64 960 
         160:  %61 = getelementptr inbounds nuw i8, ptr %x, i64 976 
         161:  store <4 x float> splat (float 3.000000e+00), ptr %60, align 16 
         162:  store <4 x float> splat (float 3.000000e+00), ptr %61, align 16 
         163:  %62 = getelementptr inbounds nuw i8, ptr %x, i64 992 
         164:  %63 = getelementptr inbounds nuw i8, ptr %x, i64 1008 
         165:  store <4 x float> splat (float 3.000000e+00), ptr %62, align 16 
         166:  store <4 x float> splat (float 3.000000e+00), ptr %63, align 16 
         167:  call void @kernel_1(ptr noalias noundef nonnull align 4 dereferenceable(1024) %x) #6 
         168:  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %0) 
         169:  store ptr %x, ptr %0, align 8 
         170:  call void asm sideeffect "", "r,~{memory}"(ptr nonnull %0) #0, !srcloc !3 
         171:  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %0) 
         172:  call void @llvm.lifetime.end.p0(i64 1024, ptr nonnull %x) 
         173:  ret void 
         174: } 
         175:  
         176: ; Function Attrs: noinline uwtable 
         177: define dso_local void @kernel_1(ptr noalias noundef align 4 dereferenceable(1024) %x) unnamed_addr #2 { 
         178: start: 
         179:  %EmptyDesc = alloca %struct.__tgt_bin_desc, align 8 
         180:  %.offload_baseptrs = alloca [1 x ptr], align 8 
         181:  %.offload_ptrs = alloca [1 x ptr], align 8 
         182:  %.offload_sizes = alloca [1 x i64], align 8 
         183:  %kernel_args = alloca %struct.__tgt_kernel_arguments, align 8 
         184:  %dummy = load volatile ptr, ptr @.offload_sizes._kernel_1, align 8 
         185:  %dummy1 = load volatile ptr, ptr @.offloading.entry._kernel_1, align 8 
         186:  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %EmptyDesc, i8 0, i64 32, i1 false) 
         187:  call void @__tgt_register_lib(ptr nonnull %EmptyDesc) 
         188:  call void @__tgt_init_all_rtls() 
         189:  store ptr %x, ptr %.offload_baseptrs, align 8 
         190:  store ptr %x, ptr %.offload_ptrs, align 8 
         191:  store i64 1024, ptr %.offload_sizes, align 8 
         192:  call void @__tgt_target_data_begin_mapper(ptr nonnull @anon.2e1695ebccd657ad49b4a8486e834576.1, i64 -1, i32 1, ptr nonnull %.offload_baseptrs, ptr nonnull %.offload_ptrs, ptr nonnull %.offload_sizes, ptr nonnull @.offload_maptypes._kernel_1, ptr null, ptr null) 
next:80'0                                                                                                                                                                                                                                                                           X error: no match found
         193:  store <2 x i32> <i32 3, i32 1>, ptr %kernel_args, align 8 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
next:80'1                         ?                                       possible intended match
         194:  %0 = getelementptr inbounds nuw i8, ptr %kernel_args, i64 8 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         195:  store ptr %.offload_baseptrs, ptr %0, align 8 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         196:  %1 = getelementptr inbounds nuw i8, ptr %kernel_args, i64 16 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         197:  store ptr %.offload_ptrs, ptr %1, align 8 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         198:  %2 = getelementptr inbounds nuw i8, ptr %kernel_args, i64 24 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         199:  store ptr %.offload_sizes, ptr %2, align 8 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         200:  %3 = getelementptr inbounds nuw i8, ptr %kernel_args, i64 32 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         201:  store ptr @.offload_maptypes._kernel_1, ptr %3, align 8 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         202:  %4 = getelementptr inbounds nuw i8, ptr %kernel_args, i64 40 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         203:  %5 = getelementptr inbounds nuw i8, ptr %kernel_args, i64 72 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         204:  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %4, i8 0, i64 32, i1 false) 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         205:  store <4 x i32> <i32 2097152, i32 0, i32 0, i32 256>, ptr %5, align 8 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         206:  %.fca.1.gep3 = getelementptr inbounds nuw i8, ptr %kernel_args, i64 88 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         207:  store <2 x i32> zeroinitializer, ptr %.fca.1.gep3, align 8 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         208:  %6 = getelementptr inbounds nuw i8, ptr %kernel_args, i64 96 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         209:  store i32 0, ptr %6, align 8 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         210:  %7 = call i32 @__tgt_target_kernel(ptr nonnull @anon.2e1695ebccd657ad49b4a8486e834576.1, i64 -1, i32 2097152, i32 256, ptr nonnull @._kernel_1.region_id, ptr nonnull %kernel_args) 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         211:  call void @__tgt_target_data_end_mapper(ptr nonnull @anon.2e1695ebccd657ad49b4a8486e834576.1, i64 -1, i32 1, ptr nonnull %.offload_baseptrs, ptr nonnull %.offload_ptrs, ptr nonnull %.offload_sizes, ptr nonnull @.offload_maptypes._kernel_1, ptr null, ptr null) 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         212:  call void @__tgt_unregister_lib(ptr nonnull %EmptyDesc) 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         213:  ret void 
next:80'0     ~~~~~~~~~~
         214: } 
next:80'0     ~~
         215:  
next:80'0     ~
         216: ; Function Attrs: mustprogress nofree noinline norecurse nosync nounwind willreturn memory(argmem: write) uwtable 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         217: define dso_local void @_kernel_1(ptr noalias nocapture noundef writeonly align 4 dereferenceable(1024) initializes((0, 1024)) %x) unnamed_addr #3 { 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         218: start: 
next:80'0     ~~~~~~~
         219:  %0 = getelementptr inbounds nuw i8, ptr %x, i64 16 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         220:  store <4 x float> splat (float 2.100000e+01), ptr %x, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         221:  store <4 x float> splat (float 2.100000e+01), ptr %0, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         222:  %1 = getelementptr inbounds nuw i8, ptr %x, i64 32 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         223:  %2 = getelementptr inbounds nuw i8, ptr %x, i64 48 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         224:  store <4 x float> splat (float 2.100000e+01), ptr %1, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         225:  store <4 x float> splat (float 2.100000e+01), ptr %2, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         226:  %3 = getelementptr inbounds nuw i8, ptr %x, i64 64 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         227:  %4 = getelementptr inbounds nuw i8, ptr %x, i64 80 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         228:  store <4 x float> splat (float 2.100000e+01), ptr %3, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         229:  store <4 x float> splat (float 2.100000e+01), ptr %4, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         230:  %5 = getelementptr inbounds nuw i8, ptr %x, i64 96 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         231:  %6 = getelementptr inbounds nuw i8, ptr %x, i64 112 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         232:  store <4 x float> splat (float 2.100000e+01), ptr %5, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         233:  store <4 x float> splat (float 2.100000e+01), ptr %6, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         234:  %7 = getelementptr inbounds nuw i8, ptr %x, i64 128 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         235:  %8 = getelementptr inbounds nuw i8, ptr %x, i64 144 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         236:  store <4 x float> splat (float 2.100000e+01), ptr %7, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         237:  store <4 x float> splat (float 2.100000e+01), ptr %8, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         238:  %9 = getelementptr inbounds nuw i8, ptr %x, i64 160 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         239:  %10 = getelementptr inbounds nuw i8, ptr %x, i64 176 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         240:  store <4 x float> splat (float 2.100000e+01), ptr %9, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         241:  store <4 x float> splat (float 2.100000e+01), ptr %10, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         242:  %11 = getelementptr inbounds nuw i8, ptr %x, i64 192 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         243:  %12 = getelementptr inbounds nuw i8, ptr %x, i64 208 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         244:  store <4 x float> splat (float 2.100000e+01), ptr %11, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         245:  store <4 x float> splat (float 2.100000e+01), ptr %12, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         246:  %13 = getelementptr inbounds nuw i8, ptr %x, i64 224 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         247:  %14 = getelementptr inbounds nuw i8, ptr %x, i64 240 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         248:  store <4 x float> splat (float 2.100000e+01), ptr %13, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         249:  store <4 x float> splat (float 2.100000e+01), ptr %14, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         250:  %15 = getelementptr inbounds nuw i8, ptr %x, i64 256 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         251:  %16 = getelementptr inbounds nuw i8, ptr %x, i64 272 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         252:  store <4 x float> splat (float 2.100000e+01), ptr %15, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         253:  store <4 x float> splat (float 2.100000e+01), ptr %16, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         254:  %17 = getelementptr inbounds nuw i8, ptr %x, i64 288 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         255:  %18 = getelementptr inbounds nuw i8, ptr %x, i64 304 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         256:  store <4 x float> splat (float 2.100000e+01), ptr %17, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         257:  store <4 x float> splat (float 2.100000e+01), ptr %18, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         258:  %19 = getelementptr inbounds nuw i8, ptr %x, i64 320 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         259:  %20 = getelementptr inbounds nuw i8, ptr %x, i64 336 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         260:  store <4 x float> splat (float 2.100000e+01), ptr %19, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         261:  store <4 x float> splat (float 2.100000e+01), ptr %20, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         262:  %21 = getelementptr inbounds nuw i8, ptr %x, i64 352 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         263:  %22 = getelementptr inbounds nuw i8, ptr %x, i64 368 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         264:  store <4 x float> splat (float 2.100000e+01), ptr %21, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         265:  store <4 x float> splat (float 2.100000e+01), ptr %22, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         266:  %23 = getelementptr inbounds nuw i8, ptr %x, i64 384 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         267:  %24 = getelementptr inbounds nuw i8, ptr %x, i64 400 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         268:  store <4 x float> splat (float 2.100000e+01), ptr %23, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         269:  store <4 x float> splat (float 2.100000e+01), ptr %24, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         270:  %25 = getelementptr inbounds nuw i8, ptr %x, i64 416 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         271:  %26 = getelementptr inbounds nuw i8, ptr %x, i64 432 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         272:  store <4 x float> splat (float 2.100000e+01), ptr %25, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         273:  store <4 x float> splat (float 2.100000e+01), ptr %26, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         274:  %27 = getelementptr inbounds nuw i8, ptr %x, i64 448 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         275:  %28 = getelementptr inbounds nuw i8, ptr %x, i64 464 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         276:  store <4 x float> splat (float 2.100000e+01), ptr %27, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         277:  store <4 x float> splat (float 2.100000e+01), ptr %28, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         278:  %29 = getelementptr inbounds nuw i8, ptr %x, i64 480 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         279:  %30 = getelementptr inbounds nuw i8, ptr %x, i64 496 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         280:  store <4 x float> splat (float 2.100000e+01), ptr %29, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         281:  store <4 x float> splat (float 2.100000e+01), ptr %30, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         282:  %31 = getelementptr inbounds nuw i8, ptr %x, i64 512 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         283:  %32 = getelementptr inbounds nuw i8, ptr %x, i64 528 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         284:  store <4 x float> splat (float 2.100000e+01), ptr %31, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         285:  store <4 x float> splat (float 2.100000e+01), ptr %32, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         286:  %33 = getelementptr inbounds nuw i8, ptr %x, i64 544 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         287:  %34 = getelementptr inbounds nuw i8, ptr %x, i64 560 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         288:  store <4 x float> splat (float 2.100000e+01), ptr %33, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         289:  store <4 x float> splat (float 2.100000e+01), ptr %34, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         290:  %35 = getelementptr inbounds nuw i8, ptr %x, i64 576 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         291:  %36 = getelementptr inbounds nuw i8, ptr %x, i64 592 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         292:  store <4 x float> splat (float 2.100000e+01), ptr %35, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         293:  store <4 x float> splat (float 2.100000e+01), ptr %36, align 4 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           .
           .
           .
>>>>>>

------------------------------------------

error: verification with 'FileCheck' failed
status: exit status: 1
command: "/usr/lib/llvm-20/bin/FileCheck" "--input-file" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/codegen-llvm/gpu_offload/gpu_host/gpu_host.ll" "/checkout/tests/codegen-llvm/gpu_offload/gpu_host.rs" "--check-prefix=CHECK" "--allow-unused-prefixes" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/checkout/tests/codegen-llvm/gpu_offload/gpu_host.rs:80:16: error: CHECK-NEXT: expected string not found in input
// CHECK-NEXT: store i32 3, ptr %kernel_args, align 8
               ^
/checkout/obj/build/aarch64-unknown-linux-gnu/test/codegen-llvm/gpu_offload/gpu_host/gpu_host.ll:192:263: note: scanning from here
 call void @__tgt_target_data_begin_mapper(ptr nonnull @anon.2e1695ebccd657ad49b4a8486e834576.1, i64 -1, i32 1, ptr nonnull %.offload_baseptrs, ptr nonnull %.offload_ptrs, ptr nonnull %.offload_sizes, ptr nonnull @.offload_maptypes._kernel_1, ptr null, ptr null)
                                                                                                                                                                                                                                                                      ^
/checkout/obj/build/aarch64-unknown-linux-gnu/test/codegen-llvm/gpu_offload/gpu_host/gpu_host.ll:193:21: note: possible intended match here
 store <2 x i32> <i32 3, i32 1>, ptr %kernel_args, align 8
                    ^

Input file: /checkout/obj/build/aarch64-unknown-linux-gnu/test/codegen-llvm/gpu_offload/gpu_host/gpu_host.ll
Check file: /checkout/tests/codegen-llvm/gpu_offload/gpu_host.rs

-dump-input=help explains the following input dump.

Input was:
<<<<<<
           .
           .
           .
          92:  %27 = getelementptr inbounds nuw i8, ptr %x, i64 432 
          93:  store <4 x float> splat (float 3.000000e+00), ptr %26, align 16 
          94:  store <4 x float> splat (float 3.000000e+00), ptr %27, align 16 
          95:  %28 = getelementptr inbounds nuw i8, ptr %x, i64 448 
          96:  %29 = getelementptr inbounds nuw i8, ptr %x, i64 464 
          97:  store <4 x float> splat (float 3.000000e+00), ptr %28, align 16 
          98:  store <4 x float> splat (float 3.000000e+00), ptr %29, align 16 
          99:  %30 = getelementptr inbounds nuw i8, ptr %x, i64 480 
         100:  %31 = getelementptr inbounds nuw i8, ptr %x, i64 496 
         101:  store <4 x float> splat (float 3.000000e+00), ptr %30, align 16 
         102:  store <4 x float> splat (float 3.000000e+00), ptr %31, align 16 
         103:  %32 = getelementptr inbounds nuw i8, ptr %x, i64 512 
         104:  %33 = getelementptr inbounds nuw i8, ptr %x, i64 528 
         105:  store <4 x float> splat (float 3.000000e+00), ptr %32, align 16 
         106:  store <4 x float> splat (float 3.000000e+00), ptr %33, align 16 
         107:  %34 = getelementptr inbounds nuw i8, ptr %x, i64 544 
         108:  %35 = getelementptr inbounds nuw i8, ptr %x, i64 560 
         109:  store <4 x float> splat (float 3.000000e+00), ptr %34, align 16 
         110:  store <4 x float> splat (float 3.000000e+00), ptr %35, align 16 
         111:  %36 = getelementptr inbounds nuw i8, ptr %x, i64 576 
         112:  %37 = getelementptr inbounds nuw i8, ptr %x, i64 592 
         113:  store <4 x float> splat (float 3.000000e+00), ptr %36, align 16 
         114:  store <4 x float> splat (float 3.000000e+00), ptr %37, align 16 
         115:  %38 = getelementptr inbounds nuw i8, ptr %x, i64 608 
         116:  %39 = getelementptr inbounds nuw i8, ptr %x, i64 624 
         117:  store <4 x float> splat (float 3.000000e+00), ptr %38, align 16 
         118:  store <4 x float> splat (float 3.000000e+00), ptr %39, align 16 
         119:  %40 = getelementptr inbounds nuw i8, ptr %x, i64 640 
         120:  %41 = getelementptr inbounds nuw i8, ptr %x, i64 656 
         121:  store <4 x float> splat (float 3.000000e+00), ptr %40, align 16 
         122:  store <4 x float> splat (float 3.000000e+00), ptr %41, align 16 
         123:  %42 = getelementptr inbounds nuw i8, ptr %x, i64 672 
         124:  %43 = getelementptr inbounds nuw i8, ptr %x, i64 688 
         125:  store <4 x float> splat (float 3.000000e+00), ptr %42, align 16 
         126:  store <4 x float> splat (float 3.000000e+00), ptr %43, align 16 
         127:  %44 = getelementptr inbounds nuw i8, ptr %x, i64 704 
         128:  %45 = getelementptr inbounds nuw i8, ptr %x, i64 720 
         129:  store <4 x float> splat (float 3.000000e+00), ptr %44, align 16 
         130:  store <4 x float> splat (float 3.000000e+00), ptr %45, align 16 
         131:  %46 = getelementptr inbounds nuw i8, ptr %x, i64 736 
         132:  %47 = getelementptr inbounds nuw i8, ptr %x, i64 752 
         133:  store <4 x float> splat (float 3.000000e+00), ptr %46, align 16 
         134:  store <4 x float> splat (float 3.000000e+00), ptr %47, align 16 
         135:  %48 = getelementptr inbounds nuw i8, ptr %x, i64 768 
         136:  %49 = getelementptr inbounds nuw i8, ptr %x, i64 784 
         137:  store <4 x float> splat (float 3.000000e+00), ptr %48, align 16 
         138:  store <4 x float> splat (float 3.000000e+00), ptr %49, align 16 
         139:  %50 = getelementptr inbounds nuw i8, ptr %x, i64 800 
         140:  %51 = getelementptr inbounds nuw i8, ptr %x, i64 816 
         141:  store <4 x float> splat (float 3.000000e+00), ptr %50, align 16 
         142:  store <4 x float> splat (float 3.000000e+00), ptr %51, align 16 
         143:  %52 = getelementptr inbounds nuw i8, ptr %x, i64 832 
         144:  %53 = getelementptr inbounds nuw i8, ptr %x, i64 848 
         145:  store <4 x float> splat (float 3.000000e+00), ptr %52, align 16 
         146:  store <4 x float> splat (float 3.000000e+00), ptr %53, align 16 
         147:  %54 = getelementptr inbounds nuw i8, ptr %x, i64 864 
         148:  %55 = getelementptr inbounds nuw i8, ptr %x, i64 880 
         149:  store <4 x float> splat (float 3.000000e+00), ptr %54, align 16 
         150:  store <4 x float> splat (float 3.000000e+00), ptr %55, align 16 
         151:  %56 = getelementptr inbounds nuw i8, ptr %x, i64 896 
         152:  %57 = getelementptr inbounds nuw i8, ptr %x, i64 912 
         153:  store <4 x float> splat (float 3.000000e+00), ptr %56, align 16 
         154:  store <4 x float> splat (float 3.000000e+00), ptr %57, align 16 
         155:  %58 = getelementptr inbounds nuw i8, ptr %x, i64 928 
         156:  %59 = getelementptr inbounds nuw i8, ptr %x, i64 944 
         157:  store <4 x float> splat (float 3.000000e+00), ptr %58, align 16 
         158:  store <4 x float> splat (float 3.000000e+00), ptr %59, align 16 
         159:  %60 = getelementptr inbounds nuw i8, ptr %x, i64 960 
         160:  %61 = getelementptr inbounds nuw i8, ptr %x, i64 976 
         161:  store <4 x float> splat (float 3.000000e+00), ptr %60, align 16 
         162:  store <4 x float> splat (float 3.000000e+00), ptr %61, align 16 
         163:  %62 = getelementptr inbounds nuw i8, ptr %x, i64 992 
         164:  %63 = getelementptr inbounds nuw i8, ptr %x, i64 1008 
         165:  store <4 x float> splat (float 3.000000e+00), ptr %62, align 16 
         166:  store <4 x float> splat (float 3.000000e+00), ptr %63, align 16 
         167:  call void @kernel_1(ptr noalias noundef nonnull align 4 dereferenceable(1024) %x) #6 
         168:  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %0) 
         169:  store ptr %x, ptr %0, align 8 
         170:  call void asm sideeffect "", "r,~{memory}"(ptr nonnull %0) #0, !srcloc !3 
         171:  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %0) 
         172:  call void @llvm.lifetime.end.p0(i64 1024, ptr nonnull %x) 
         173:  ret void 
         174: } 
         175:  
         176: ; Function Attrs: noinline uwtable 
         177: define dso_local void @kernel_1(ptr noalias noundef align 4 dereferenceable(1024) %x) unnamed_addr #2 { 
         178: start: 
         179:  %EmptyDesc = alloca %struct.__tgt_bin_desc, align 8 
         180:  %.offload_baseptrs = alloca [1 x ptr], align 8 
         181:  %.offload_ptrs = alloca [1 x ptr], align 8 
         182:  %.offload_sizes = alloca [1 x i64], align 8 
         183:  %kernel_args = alloca %struct.__tgt_kernel_arguments, align 8 
         184:  %dummy = load volatile ptr, ptr @.offload_sizes._kernel_1, align 8 
         185:  %dummy1 = load volatile ptr, ptr @.offloading.entry._kernel_1, align 8 
         186:  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %EmptyDesc, i8 0, i64 32, i1 false) 
         187:  call void @__tgt_register_lib(ptr nonnull %EmptyDesc) 
         188:  call void @__tgt_init_all_rtls() 
         189:  store ptr %x, ptr %.offload_baseptrs, align 8 
         190:  store ptr %x, ptr %.offload_ptrs, align 8 
         191:  store i64 1024, ptr %.offload_sizes, align 8 
         192:  call void @__tgt_target_data_begin_mapper(ptr nonnull @anon.2e1695ebccd657ad49b4a8486e834576.1, i64 -1, i32 1, ptr nonnull %.offload_baseptrs, ptr nonnull %.offload_ptrs, ptr nonnull %.offload_sizes, ptr nonnull @.offload_maptypes._kernel_1, ptr null, ptr null) 
next:80'0                                                                                                                                                                                                                                                                           X error: no match found
         193:  store <2 x i32> <i32 3, i32 1>, ptr %kernel_args, align 8 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
next:80'1                         ?                                       possible intended match
         194:  %0 = getelementptr inbounds nuw i8, ptr %kernel_args, i64 8 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         195:  store ptr %.offload_baseptrs, ptr %0, align 8 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         196:  %1 = getelementptr inbounds nuw i8, ptr %kernel_args, i64 16 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         197:  store ptr %.offload_ptrs, ptr %1, align 8 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         198:  %2 = getelementptr inbounds nuw i8, ptr %kernel_args, i64 24 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         199:  store ptr %.offload_sizes, ptr %2, align 8 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         200:  %3 = getelementptr inbounds nuw i8, ptr %kernel_args, i64 32 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         201:  store ptr @.offload_maptypes._kernel_1, ptr %3, align 8 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         202:  %4 = getelementptr inbounds nuw i8, ptr %kernel_args, i64 40 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         203:  %5 = getelementptr inbounds nuw i8, ptr %kernel_args, i64 72 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         204:  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %4, i8 0, i64 32, i1 false) 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         205:  store <4 x i32> <i32 2097152, i32 0, i32 0, i32 256>, ptr %5, align 8 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         206:  %.fca.1.gep3 = getelementptr inbounds nuw i8, ptr %kernel_args, i64 88 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         207:  store <2 x i32> zeroinitializer, ptr %.fca.1.gep3, align 8 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         208:  %6 = getelementptr inbounds nuw i8, ptr %kernel_args, i64 96 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         209:  store i32 0, ptr %6, align 8 
next:80'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         210:  %7 = call i32 @__tgt_target_kernel(ptr nonnull @anon.2e1695ebccd657ad49b4a8486e834576.1, i64 -1, i32 2097152, i32 256, ptr nonnull @._kernel_1.region_id, ptr nonnull %kernel_args) 

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Offload generates wrong declarations for LLVM target routines

3 participants