aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArthur Eubanks <aeubanks@google.com>2022-06-18 19:36:00 -0700
committerArthur Eubanks <aeubanks@google.com>2022-06-18 19:36:48 -0700
commit213d4897078b78faa33c9bedd01edb39c77d0aa3 (patch)
tree42fd790799a1f805b19b18fa5ae947efa26e7fe5
parent54b45afb599ab81355170f00f9ffe41a88a2cea5 (diff)
downloadllvm-213d4897078b78faa33c9bedd01edb39c77d0aa3.zip
llvm-213d4897078b78faa33c9bedd01edb39c77d0aa3.tar.gz
llvm-213d4897078b78faa33c9bedd01edb39c77d0aa3.tar.bz2
[test][GlobalOpt] Precommit more tests
And fix up existing tests to not have so much UB.
-rw-r--r--llvm/test/Transforms/GlobalOpt/stored-once-forward-value.ll33
1 files changed, 29 insertions, 4 deletions
diff --git a/llvm/test/Transforms/GlobalOpt/stored-once-forward-value.ll b/llvm/test/Transforms/GlobalOpt/stored-once-forward-value.ll
index 88cd2a9..e12b550 100644
--- a/llvm/test/Transforms/GlobalOpt/stored-once-forward-value.ll
+++ b/llvm/test/Transforms/GlobalOpt/stored-once-forward-value.ll
@@ -1,10 +1,11 @@
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt -passes=globalopt -S < %s | FileCheck %s
-@g1 = internal unnamed_addr global i1 false
-@g2 = internal unnamed_addr global i1 false
-@g3 = internal unnamed_addr global i1 false
-@g4 = internal unnamed_addr global i1 false
+@g1 = internal unnamed_addr global i32 0
+@g2 = internal unnamed_addr global i32 0
+@g3 = internal unnamed_addr global i32 0
+@g4 = internal unnamed_addr global i32 0
+@g5 = internal unnamed_addr global i32 0
declare void @b()
@@ -67,3 +68,27 @@ end:
%r = load i1, ptr @g4
ret i1 %r
}
+
+define i1 @dom_multiple_function_loads() {
+; CHECK-LABEL: @dom_multiple_function_loads(
+; CHECK-NEXT: store i1 true, ptr @g5, align 1
+; CHECK-NEXT: call void @b()
+; CHECK-NEXT: [[R:%.*]] = load i1, ptr @g5, align 1
+; CHECK-NEXT: ret i1 [[R]]
+;
+ store i1 true, ptr @g5
+ call void @b()
+ %r = load i1, ptr @g5
+ ret i1 %r
+}
+
+define i1 @other() {
+; CHECK-LABEL: @other(
+; CHECK-NEXT: call void @b()
+; CHECK-NEXT: [[R:%.*]] = load i1, ptr @g5, align 1
+; CHECK-NEXT: ret i1 [[R]]
+;
+ call void @b()
+ %r = load i1, ptr @g5
+ ret i1 %r
+}