summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/GVN/hoist-pr28933.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/Transforms/GVN/hoist-pr28933.ll')
-rw-r--r--llvm/test/Transforms/GVN/hoist-pr28933.ll21
1 files changed, 21 insertions, 0 deletions
diff --git a/llvm/test/Transforms/GVN/hoist-pr28933.ll b/llvm/test/Transforms/GVN/hoist-pr28933.ll
new file mode 100644
index 00000000000..95df3f220f2
--- /dev/null
+++ b/llvm/test/Transforms/GVN/hoist-pr28933.ll
@@ -0,0 +1,21 @@
+; RUN: opt -S -gvn-hoist -verify-memoryssa < %s | FileCheck %s
+
+; Check that we end up with one load and one store, in the right order
+; CHECK-LABEL: define void @test_it(
+; CHECK: store
+; CHECK-NEXT: load
+; CHECK-NOT: store
+; CHECK-NOT: load
+
+%rec894.0.1.2.3.12 = type { i16 }
+
+@a = external global %rec894.0.1.2.3.12
+
+define void @test_it() {
+bb2:
+ store i16 undef, i16* getelementptr inbounds (%rec894.0.1.2.3.12, %rec894.0.1.2.3.12* @a, i16 0, i32 0), align 1
+ %_tmp61 = load i16, i16* getelementptr inbounds (%rec894.0.1.2.3.12, %rec894.0.1.2.3.12* @a, i16 0, i32 0), align 1
+ store i16 undef, i16* getelementptr inbounds (%rec894.0.1.2.3.12, %rec894.0.1.2.3.12* @a, i16 0, i32 0), align 1
+ %_tmp92 = load i16, i16* getelementptr inbounds (%rec894.0.1.2.3.12, %rec894.0.1.2.3.12* @a, i16 0, i32 0), align 1
+ ret void
+}
OpenPOWER on IntegriCloud