[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