[InstSimplify] Add additional load from constant test (NFC)

This case does not get folded, because the GEP indexes too deeply
(to the i8), making the bitcast logic not apply (on the [8 x i8]).
This commit is contained in:
Nikita Popov 2021-10-03 13:26:14 +02:00
parent a834849aac
commit 3be4acbaa3
1 changed files with 11 additions and 0 deletions

View File

@ -261,3 +261,14 @@ define i32* @test_undef_aggregate() {
%v = load i32*, i32** bitcast ({i128}* @g10 to i32**) %v = load i32*, i32** bitcast ({i128}* @g10 to i32**)
ret i32* %v ret i32* %v
} }
@g11 = constant <{ [8 x i8], [8 x i8] }> <{ [8 x i8] undef, [8 x i8] zeroinitializer }>, align 4
define {}* @test_trailing_zero_gep_index() {
; CHECK-LABEL: @test_trailing_zero_gep_index(
; CHECK-NEXT: [[V:%.*]] = load {}*, {}** bitcast (i8* getelementptr inbounds (<{ [8 x i8], [8 x i8] }>, <{ [8 x i8], [8 x i8] }>* @g11, i64 0, i32 1, i64 0) to {}**), align 4
; CHECK-NEXT: ret {}* [[V]]
;
%v = load {}*, {}** bitcast (i8* getelementptr inbounds (<{ [8 x i8], [8 x i8] }>, <{ [8 x i8], [8 x i8] }>* @g11, i32 0, i32 1, i32 0) to {}**), align 4
ret {}* %v
}