File tree Expand file tree Collapse file tree 1 file changed +30
-0
lines changed
llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX Expand file tree Collapse file tree 1 file changed +30
-0
lines changed Original file line number Diff line number Diff line change @@ -381,3 +381,33 @@ define ptr @test_21(ptr %p, i32 %i) {
381381 %arrayidx2 = getelementptr nuw nusw i8 , ptr %ptradd , i64 %idx2
382382 ret ptr %arrayidx2
383383}
384+
385+ define ptr @test_rpot (ptr %ptr , i64 %offset1 , i64 %offset2 ) {
386+ ; CHECK-LABEL: define ptr @test_rpot(
387+ ; CHECK-SAME: ptr [[PTR:%.*]], i64 [[OFFSET1:%.*]], i64 [[OFFSET2:%.*]]) {
388+ ; CHECK-NEXT: [[A:.*:]]
389+ ; CHECK-NEXT: br label %[[B:.*]]
390+ ; CHECK: [[C:.*]]:
391+ ; CHECK-NEXT: [[TMP1:%.*]] = getelementptr [[STRUCT_UCHAR4:%.*]], ptr [[TMP0:%.*]], i64 [[OFFSET2]]
392+ ; CHECK-NEXT: [[GEP24:%.*]] = getelementptr i8, ptr [[TMP1]], i64 72
393+ ; CHECK-NEXT: br label %[[D:.*]]
394+ ; CHECK: [[B]]:
395+ ; CHECK-NEXT: [[TMP0]] = getelementptr [[STRUCT_UCHAR4]], ptr [[PTR]], i64 [[OFFSET1]]
396+ ; CHECK-NEXT: br label %[[C]]
397+ ; CHECK: [[D]]:
398+ ; CHECK-NEXT: ret ptr [[GEP24]]
399+ ;
400+ A:
401+ br label %B
402+ C:
403+ %offset4 = add i64 %offset2 , 10
404+ %gep2 = getelementptr %struct.uchar4 , ptr %gep1 , i64 %offset4
405+ br label %D
406+ B:
407+ %offset3 = add i64 %offset1 , 8
408+ %gep1 = getelementptr %struct.uchar4 , ptr %ptr , i64 %offset3
409+ br label %C
410+ D:
411+ ret ptr %gep2
412+ }
413+
You can’t perform that action at this time.
0 commit comments