Skip to content

Commit 7c9a5e3

Browse files
committed
test: check const-fold-gep with poison, undef, id
For completeness, check poison, undef, and identity folding with GEP.
1 parent 95c0c78 commit 7c9a5e3

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

llvm/test/Other/constant-fold-gep.ll

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,25 +24,37 @@
2424
; PLAIN: @F1 = global ptr getelementptr (i1, ptr inttoptr (i32 1 to ptr), i32 -2)
2525
; PLAIN: @H8 = global ptr getelementptr (i8, ptr null, i32 -1)
2626
; PLAIN: @H1 = global ptr getelementptr (i1, ptr null, i32 -1)
27+
; PLAIN: @U8 = global ptr undef
28+
; PLAIN: @P8 = global ptr poison
29+
; PLAIN: @Z8 = global ptr inttoptr (i32 1 to ptr)
2730
; OPT: @G8 = local_unnamed_addr global ptr null
2831
; OPT: @G1 = local_unnamed_addr global ptr null
2932
; OPT: @F8 = local_unnamed_addr global ptr inttoptr (i64 -1 to ptr)
3033
; OPT: @F1 = local_unnamed_addr global ptr inttoptr (i64 -1 to ptr)
3134
; OPT: @H8 = local_unnamed_addr global ptr inttoptr (i64 -1 to ptr)
3235
; OPT: @H1 = local_unnamed_addr global ptr inttoptr (i64 -1 to ptr)
36+
; OPT: @U8 = local_unnamed_addr global ptr undef
37+
; OPT: @P8 = local_unnamed_addr global ptr poison
38+
; OPT: @Z8 = local_unnamed_addr global ptr inttoptr (i32 1 to ptr)
3339
; TO: @G8 = local_unnamed_addr global ptr null
3440
; TO: @G1 = local_unnamed_addr global ptr null
3541
; TO: @F8 = local_unnamed_addr global ptr inttoptr (i64 -1 to ptr)
3642
; TO: @F1 = local_unnamed_addr global ptr inttoptr (i64 -1 to ptr)
3743
; TO: @H8 = local_unnamed_addr global ptr inttoptr (i64 -1 to ptr)
3844
; TO: @H1 = local_unnamed_addr global ptr inttoptr (i64 -1 to ptr)
45+
; TO: @U8 = local_unnamed_addr global ptr undef
46+
; TO: @P8 = local_unnamed_addr global ptr poison
47+
; TO: @Z8 = local_unnamed_addr global ptr inttoptr (i32 1 to ptr)
3948

4049
@G8 = global ptr getelementptr (i8, ptr inttoptr (i32 1 to ptr), i32 -1)
4150
@G1 = global ptr getelementptr (i1, ptr inttoptr (i32 1 to ptr), i32 -1)
4251
@F8 = global ptr getelementptr (i8, ptr inttoptr (i32 1 to ptr), i32 -2)
4352
@F1 = global ptr getelementptr (i1, ptr inttoptr (i32 1 to ptr), i32 -2)
4453
@H8 = global ptr getelementptr (i8, ptr inttoptr (i32 0 to ptr), i32 -1)
4554
@H1 = global ptr getelementptr (i1, ptr inttoptr (i32 0 to ptr), i32 -1)
55+
@U8 = global ptr getelementptr (i8, ptr undef, i32 -1)
56+
@P8 = global ptr getelementptr (i8, ptr poison, i32 -1)
57+
@Z8 = global ptr getelementptr (i8, ptr inttoptr (i32 1 to ptr), i32 0)
4658

4759
; The target-independent folder should be able to do some clever
4860
; simplifications on sizeof, alignof, and offsetof expressions. The

0 commit comments

Comments
 (0)