Skip to content

Commit

Permalink
[EarlyCSE] Add metadata preservation tests (NFC)
Browse files Browse the repository at this point in the history
  • Loading branch information
nikic committed Apr 3, 2023
1 parent 26ff268 commit 2ead232
Showing 1 changed file with 43 additions and 0 deletions.
43 changes: 43 additions & 0 deletions llvm/test/Transforms/EarlyCSE/flags.ll
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
; RUN: opt -passes='early-cse<memssa>' -S < %s | FileCheck %s

declare void @use(i1)
declare void @use.ptr(ptr) memory(read)

define void @test1(float %x, float %y) {
; CHECK-LABEL: @test1(
Expand Down Expand Up @@ -47,3 +48,45 @@ define void @test_inbounds_program_not_ub_if_first_gep_poison(ptr %ptr, i64 %n)
call void @use.i8(ptr %add.ptr.2)
ret void
}

define void @load_both_nonnull(ptr %p) {
; CHECK-LABEL: @load_both_nonnull(
; CHECK-NEXT: [[V1:%.*]] = load ptr, ptr [[P:%.*]], align 8, !nonnull !0
; CHECK-NEXT: call void @use.ptr(ptr [[V1]])
; CHECK-NEXT: call void @use.ptr(ptr [[V1]])
; CHECK-NEXT: ret void
;
%v1 = load ptr, ptr %p, !nonnull !{}
call void @use.ptr(ptr %v1)
%v2 = load ptr, ptr %p, !nonnull !{}
call void @use.ptr(ptr %v2)
ret void
}

define void @load_first_nonnull(ptr %p) {
; CHECK-LABEL: @load_first_nonnull(
; CHECK-NEXT: [[V1:%.*]] = load ptr, ptr [[P:%.*]], align 8, !nonnull !0
; CHECK-NEXT: call void @use.ptr(ptr [[V1]])
; CHECK-NEXT: call void @use.ptr(ptr [[V1]])
; CHECK-NEXT: ret void
;
%v1 = load ptr, ptr %p, !nonnull !{}
call void @use.ptr(ptr %v1)
%v2 = load ptr, ptr %p
call void @use.ptr(ptr %v2)
ret void
}

define void @load_first_nonnull_noundef(ptr %p) {
; CHECK-LABEL: @load_first_nonnull_noundef(
; CHECK-NEXT: [[V1:%.*]] = load ptr, ptr [[P:%.*]], align 8, !nonnull !0, !noundef !0
; CHECK-NEXT: call void @use.ptr(ptr [[V1]])
; CHECK-NEXT: call void @use.ptr(ptr [[V1]])
; CHECK-NEXT: ret void
;
%v1 = load ptr, ptr %p, !nonnull !{}, !noundef !{}
call void @use.ptr(ptr %v1)
%v2 = load ptr, ptr %p
call void @use.ptr(ptr %v2)
ret void
}

0 comments on commit 2ead232

Please sign in to comment.