diff options
author | Arthur Eubanks <aeubanks@google.com> | 2022-06-18 19:36:00 -0700 |
---|---|---|
committer | Arthur Eubanks <aeubanks@google.com> | 2022-06-18 19:36:48 -0700 |
commit | 213d4897078b78faa33c9bedd01edb39c77d0aa3 (patch) | |
tree | 42fd790799a1f805b19b18fa5ae947efa26e7fe5 | |
parent | 54b45afb599ab81355170f00f9ffe41a88a2cea5 (diff) | |
download | llvm-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.ll | 33 |
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 +} |