Skip to content

Commit 72781f5

Browse files
committed
[InstCombine] Add pre-commit tests. NFC.
1 parent 28002dd commit 72781f5

File tree

1 file changed

+32
-0
lines changed
  • llvm/test/Transforms/InstCombine

1 file changed

+32
-0
lines changed

llvm/test/Transforms/InstCombine/load.ll

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -451,3 +451,35 @@ define i32 @load_select_with_null_gep(i1 %cond, ptr %p, i64 %off) {
451451
%res = load i32, ptr %gep, align 4
452452
ret i32 %res
453453
}
454+
455+
define i16 @load_select_with_null_gep2(i1 %cond, ptr %p, i64 %x) {
456+
; CHECK-LABEL: @load_select_with_null_gep2(
457+
; CHECK-NEXT: [[SEL:%.*]] = select i1 [[COND:%.*]], ptr [[P:%.*]], ptr null
458+
; CHECK-NEXT: [[INVARIANT_GEP:%.*]] = getelementptr i8, ptr [[SEL]], i64 -2
459+
; CHECK-NEXT: [[GEP:%.*]] = getelementptr i16, ptr [[INVARIANT_GEP]], i64 [[X:%.*]]
460+
; CHECK-NEXT: [[RES:%.*]] = load i16, ptr [[GEP]], align 2
461+
; CHECK-NEXT: ret i16 [[RES]]
462+
;
463+
%sel = select i1 %cond, ptr %p, ptr null
464+
%invariant.gep = getelementptr i8, ptr %sel, i64 -2
465+
%gep = getelementptr i16, ptr %invariant.gep, i64 %x
466+
%res = load i16, ptr %gep, align 2
467+
ret i16 %res
468+
}
469+
470+
define i16 @load_select_with_null_ge3(i1 %cond, ptr %p, i64 %x, i64 %y) {
471+
; CHECK-LABEL: @load_select_with_null_ge3(
472+
; CHECK-NEXT: [[SEL:%.*]] = select i1 [[COND:%.*]], ptr [[P:%.*]], ptr null
473+
; CHECK-NEXT: [[INVARIANT_GEP:%.*]] = getelementptr i8, ptr [[SEL]], i64 -2
474+
; CHECK-NEXT: [[GEP:%.*]] = getelementptr i16, ptr [[INVARIANT_GEP]], i64 [[X:%.*]]
475+
; CHECK-NEXT: [[GEP2:%.*]] = getelementptr i16, ptr [[GEP]], i64 [[Y:%.*]]
476+
; CHECK-NEXT: [[RES:%.*]] = load i16, ptr [[GEP2]], align 2
477+
; CHECK-NEXT: ret i16 [[RES]]
478+
;
479+
%sel = select i1 %cond, ptr %p, ptr null
480+
%invariant.gep = getelementptr i8, ptr %sel, i64 -2
481+
%gep = getelementptr i16, ptr %invariant.gep, i64 %x
482+
%gep2 = getelementptr i16, ptr %gep, i64 %y
483+
%res = load i16, ptr %gep2, align 2
484+
ret i16 %res
485+
}

0 commit comments

Comments
 (0)