[llvm] fe33bd0 - [test] Precommit test for #116936
Arthur Eubanks via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 20 16:53:23 PST 2024
Author: Arthur Eubanks
Date: 2024-11-21T00:52:03Z
New Revision: fe33bd0617ef4905ad144566bb26b1e177875e1a
URL: https://github.com/llvm/llvm-project/commit/fe33bd0617ef4905ad144566bb26b1e177875e1a
DIFF: https://github.com/llvm/llvm-project/commit/fe33bd0617ef4905ad144566bb26b1e177875e1a.diff
LOG: [test] Precommit test for #116936
Added:
llvm/test/Analysis/MemoryDependenceAnalysis/load-size-cache.ll
Modified:
Removed:
################################################################################
diff --git a/llvm/test/Analysis/MemoryDependenceAnalysis/load-size-cache.ll b/llvm/test/Analysis/MemoryDependenceAnalysis/load-size-cache.ll
new file mode 100644
index 00000000000000..388f0217d200d2
--- /dev/null
+++ b/llvm/test/Analysis/MemoryDependenceAnalysis/load-size-cache.ll
@@ -0,0 +1,65 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
+; RUN: opt -passes=gvn -dom-tree-reachability-max-bbs-to-explore=1 -S < %s | FileCheck %s
+define i8 @f(i1 %arg0, i1 %arg1, i1 %arg2) {
+; CHECK-LABEL: define i8 @f(
+; CHECK-SAME: i1 [[ARG0:%.*]], i1 [[ARG1:%.*]], i1 [[ARG2:%.*]]) {
+; CHECK-NEXT: [[BB:.*:]]
+; CHECK-NEXT: br i1 [[ARG2]], label %[[BB2:.*]], label %[[BB11:.*]]
+; CHECK: [[BB11]]:
+; CHECK-NEXT: br label %[[BB3:.*]]
+; CHECK: [[BB2]]:
+; CHECK-NEXT: br label %[[BB3]]
+; CHECK: [[BB3]]:
+; CHECK-NEXT: [[CALL:%.*]] = tail call noalias ptr @_Znwm(i64 2)
+; CHECK-NEXT: br label %[[BB4:.*]]
+; CHECK: [[BB4]]:
+; CHECK-NEXT: [[PHI:%.*]] = phi ptr [ null, %[[BB4]] ], [ [[CALL]], %[[BB3]] ]
+; CHECK-NEXT: store i8 2, ptr [[PHI]], align 4
+; CHECK-NEXT: br i1 [[ARG0]], label %[[BB5:.*]], label %[[BB4]]
+; CHECK: [[BB5]]:
+; CHECK-NEXT: br i1 [[ARG1]], label %[[BB7:.*]], label %[[BB6:.*]]
+; CHECK: [[BB6]]:
+; CHECK-NEXT: call void @use(i64 undef)
+; CHECK-NEXT: br label %[[BB9:.*]]
+; CHECK: [[BB7]]:
+; CHECK-NEXT: br label %[[BB9]]
+; CHECK: [[BB9]]:
+; CHECK-NEXT: ret i8 4
+;
+bb:
+ br i1 %arg2, label %bb2, label %bb11
+
+bb11:
+ br label %bb3
+
+bb2:
+ br label %bb3
+
+bb3:
+ %call = tail call noalias ptr @_Znwm(i64 2)
+ br label %bb4
+
+bb4:
+ %phi = phi ptr [ null, %bb4 ], [ %call, %bb3 ]
+ store i8 2, ptr %phi, align 4
+ br i1 %arg0, label %bb5, label %bb4
+
+bb5:
+ br i1 %arg1, label %bb7, label %bb6
+
+bb6:
+ %load = load i64, ptr %call, align 4
+ call void @use(i64 %load)
+ br label %bb9
+
+bb7:
+ %load8 = load i8, ptr %call, align 4
+ br label %bb9
+
+bb9:
+ %phi10 = phi i8 [ %load8, %bb7 ], [ 4, %bb6 ]
+ ret i8 %phi10
+}
+
+declare ptr @_Znwm(i64)
+declare void @use(i64)
More information about the llvm-commits
mailing list