[llvm] be21932 - [GlobalOpt] Add test for SRA with i8 array type (NFC)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 14 01:23:42 PST 2022
Author: Nikita Popov
Date: 2022-01-14T10:18:02+01:00
New Revision: be219323a2fef6173059d40c7bb921b6ff253909
URL: https://github.com/llvm/llvm-project/commit/be219323a2fef6173059d40c7bb921b6ff253909
DIFF: https://github.com/llvm/llvm-project/commit/be219323a2fef6173059d40c7bb921b6ff253909.diff
LOG: [GlobalOpt] Add test for SRA with i8 array type (NFC)
Added:
llvm/test/Transforms/GlobalOpt/globalsra-generic-type.ll
Modified:
Removed:
################################################################################
diff --git a/llvm/test/Transforms/GlobalOpt/globalsra-generic-type.ll b/llvm/test/Transforms/GlobalOpt/globalsra-generic-type.ll
new file mode 100644
index 0000000000000..1eed9d4ebc04e
--- /dev/null
+++ b/llvm/test/Transforms/GlobalOpt/globalsra-generic-type.ll
@@ -0,0 +1,33 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
+; RUN: opt -S -globalopt < %s | FileCheck %s
+
+ at g = internal global [8 x i8] undef
+
+define void @test() {
+; CHECK-LABEL: @test(
+; CHECK-NEXT: store i32 1, i32* bitcast ([8 x i8]* @g to i32*), align 4
+; CHECK-NEXT: store i32 2, i32* getelementptr (i32, i32* bitcast ([8 x i8]* @g to i32*), i64 1), align 4
+; CHECK-NEXT: ret void
+;
+ store i32 1, i32* bitcast ([8 x i8]* @g to i32*)
+ store i32 2, i32* getelementptr (i32, i32* bitcast ([8 x i8]* @g to i32*), i64 1)
+ ret void
+}
+
+define i32 @load1() {
+; CHECK-LABEL: @load1(
+; CHECK-NEXT: [[V:%.*]] = load i32, i32* bitcast ([8 x i8]* @g to i32*), align 4
+; CHECK-NEXT: ret i32 [[V]]
+;
+ %v = load i32, i32* bitcast ([8 x i8]* @g to i32*)
+ ret i32 %v
+}
+
+define i32 @load2() {
+; CHECK-LABEL: @load2(
+; CHECK-NEXT: [[V:%.*]] = load i32, i32* getelementptr (i32, i32* bitcast ([8 x i8]* @g to i32*), i64 1), align 4
+; CHECK-NEXT: ret i32 [[V]]
+;
+ %v = load i32, i32* getelementptr (i32, i32* bitcast ([8 x i8]* @g to i32*), i64 1)
+ ret i32 %v
+}
More information about the llvm-commits
mailing list