[llvm] 00686ab - [ConstantFold] Add additional load from uniform value tests (NFC)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 5 03:30:55 PST 2022
Author: Nikita Popov
Date: 2022-01-05T12:30:46+01:00
New Revision: 00686ab4afd967fb3c10127a48096d72e4f218b5
URL: https://github.com/llvm/llvm-project/commit/00686ab4afd967fb3c10127a48096d72e4f218b5
DIFF: https://github.com/llvm/llvm-project/commit/00686ab4afd967fb3c10127a48096d72e4f218b5.diff
LOG: [ConstantFold] Add additional load from uniform value tests (NFC)
Added:
Modified:
llvm/test/Transforms/InstSimplify/ConstProp/loads.ll
Removed:
################################################################################
diff --git a/llvm/test/Transforms/InstSimplify/ConstProp/loads.ll b/llvm/test/Transforms/InstSimplify/ConstProp/loads.ll
index a825ff66377fa..3f5ea96df04e9 100644
--- a/llvm/test/Transforms/InstSimplify/ConstProp/loads.ll
+++ b/llvm/test/Transforms/InstSimplify/ConstProp/loads.ll
@@ -253,13 +253,23 @@ define i64 @test_array_of_zero_size_array() {
ret i64 %v
}
- at g10 = constant {i128} {i128 undef}
+ at g_undef = constant { i128 } undef
define i32* @test_undef_aggregate() {
; CHECK-LABEL: @test_undef_aggregate(
; CHECK-NEXT: ret i32* undef
;
- %v = load i32*, i32** bitcast ({i128}* @g10 to i32**)
+ %v = load i32*, i32** bitcast ({i128}* @g_undef to i32**)
+ ret i32* %v
+}
+
+ at g_poison = constant { i128 } poison
+
+define i32* @test_poison_aggregate() {
+; CHECK-LABEL: @test_poison_aggregate(
+; CHECK-NEXT: ret i32* undef
+;
+ %v = load i32*, i32** bitcast ({i128}* @g_poison to i32**)
ret i32* %v
}
@@ -293,3 +303,16 @@ define x86_mmx @load_mmx() {
%temp = load x86_mmx, x86_mmx* bitcast (i64* getelementptr ([2 x i64], [2 x i64]* @m64, i64 0, i64 ptrtoint (i32* @idx to i64)) to x86_mmx*)
ret x86_mmx %temp
}
+
+ at g_offset = external global i64
+
+ at g_neg_one_vec = constant <4 x i8> <i8 -1, i8 -1, i8 -1, i8 -1>
+
+define i8 @load_neg_one_at_unknown_offset() {
+; CHECK-LABEL: @load_neg_one_at_unknown_offset(
+; CHECK-NEXT: [[V:%.*]] = load i8, i8* getelementptr (<4 x i8>, <4 x i8>* @g_neg_one_vec, i64 0, i64 ptrtoint (i64* @g_offset to i64)), align 1
+; CHECK-NEXT: ret i8 [[V]]
+;
+ %v = load i8, i8* getelementptr (<4 x i8>, <4 x i8>* @g_neg_one_vec, i64 0, i64 ptrtoint (i64* @g_offset to i64))
+ ret i8 %v
+}
More information about the llvm-commits
mailing list