aboutsummaryrefslogtreecommitdiff
path: root/llvm/test
diff options
context:
space:
mode:
authorMax Kazantsev <mkazantsev@azul.com>2023-02-20 18:38:07 +0700
committerMax Kazantsev <mkazantsev@azul.com>2023-02-20 18:38:07 +0700
commit0cbb8ec030e23c0e13331b5d54155def8c901b36 (patch)
tree0597fc68b3703110cd721de2a3cbb048fccdc1a2 /llvm/test
parent3e84fc857f28479cd9574f72efcba7eb8f60d602 (diff)
downloadllvm-0cbb8ec030e23c0e13331b5d54155def8c901b36.zip
llvm-0cbb8ec030e23c0e13331b5d54155def8c901b36.tar.gz
llvm-0cbb8ec030e23c0e13331b5d54155def8c901b36.tar.bz2
Revert "[AssumptionCache] caches @llvm.experimental.guard's"
This reverts commit f9599bbc7a3f831e1793a549d8a7a19265f3e504. For some reason it caused us a huge compile time regression in downstream workloads. Not sure whether the source of it is in upstream code ir not. Temporarily reverting until investigated. Differential Revision: https://reviews.llvm.org/D142330
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/Analysis/AssumptionCache/basic.ll7
-rw-r--r--llvm/test/Analysis/ScalarEvolution/guards.ll4
-rw-r--r--llvm/test/Transforms/EarlyCSE/guards.ll5
3 files changed, 6 insertions, 10 deletions
diff --git a/llvm/test/Analysis/AssumptionCache/basic.ll b/llvm/test/Analysis/AssumptionCache/basic.ll
index 75eb8f3..bd4e7b6 100644
--- a/llvm/test/Analysis/AssumptionCache/basic.ll
+++ b/llvm/test/Analysis/AssumptionCache/basic.ll
@@ -3,15 +3,12 @@
target datalayout = "e-i64:64-f80:128-n8:16:32:64-S128"
declare void @llvm.assume(i1)
-declare void @llvm.experimental.guard(i1, ...)
define void @test1(i32 %a) {
; CHECK-LABEL: Cached assumptions for function: test1
; CHECK-NEXT: icmp ne i32 %{{.*}}, 0
; CHECK-NEXT: icmp slt i32 %{{.*}}, 0
; CHECK-NEXT: icmp sgt i32 %{{.*}}, 0
-; CHECK-NEXT: icmp ult i32 %{{.*}}, 0
-; CHECK-NEXT: icmp ugt i32 %{{.*}}, 0
entry:
%cond1 = icmp ne i32 %a, 0
@@ -20,10 +17,6 @@ entry:
call void @llvm.assume(i1 %cond2)
%cond3 = icmp sgt i32 %a, 0
call void @llvm.assume(i1 %cond3)
- %cond4 = icmp ult i32 %a, 0
- call void (i1, ...) @llvm.experimental.guard(i1 %cond4) [ "deopt"() ]
- %cond5 = icmp ugt i32 %a, 0
- call void (i1, ...) @llvm.experimental.guard(i1 %cond5) [ "deopt"() ]
ret void
}
diff --git a/llvm/test/Analysis/ScalarEvolution/guards.ll b/llvm/test/Analysis/ScalarEvolution/guards.ll
index 62b387b..3922775 100644
--- a/llvm/test/Analysis/ScalarEvolution/guards.ll
+++ b/llvm/test/Analysis/ScalarEvolution/guards.ll
@@ -86,7 +86,7 @@ entry:
loop:
; CHECK: loop:
; CHECK: call void (i1, ...) @llvm.experimental.guard(i1 true) [ "deopt"() ]
-; CHECK: %iv.inc.cmp = icmp ult i32 %iv.inc, %len
+; CHECK: %iv.inc.cmp = icmp slt i32 %iv.inc, %len
; CHECK: call void (i1, ...) @llvm.experimental.guard(i1 %iv.inc.cmp) [ "deopt"() ]
; CHECK: leave:
%iv = phi i32 [ 0, %entry ], [ %iv.inc, %loop ]
@@ -129,7 +129,7 @@ left:
be:
; CHECK: be:
-; CHECK-NEXT: %iv.cmp = icmp ult i32 %iv, %len
+; CHECK-NEXT: %iv.cmp = icmp slt i32 %iv, %len
; CHECK-NEXT: call void (i1, ...) @llvm.experimental.guard(i1 %iv.cmp) [ "deopt"() ]
; CHECK: leave:
diff --git a/llvm/test/Transforms/EarlyCSE/guards.ll b/llvm/test/Transforms/EarlyCSE/guards.ll
index 64b8a1f..e837b77 100644
--- a/llvm/test/Transforms/EarlyCSE/guards.ll
+++ b/llvm/test/Transforms/EarlyCSE/guards.ll
@@ -83,10 +83,13 @@ define i32 @test3.unhandled(i32 %val) {
; CHECK-LABEL: @test3.unhandled(
; CHECK-NEXT: [[COND0:%.*]] = icmp slt i32 [[VAL:%.*]], 40
; CHECK-NEXT: call void (i1, ...) @llvm.experimental.guard(i1 [[COND0]]) [ "deopt"() ]
-; CHECK-NEXT: call void (i1, ...) @llvm.experimental.guard(i1 false) [ "deopt"() ]
+; CHECK-NEXT: [[COND1:%.*]] = icmp sge i32 [[VAL]], 40
+; CHECK-NEXT: call void (i1, ...) @llvm.experimental.guard(i1 [[COND1]]) [ "deopt"() ]
; CHECK-NEXT: ret i32 0
;
+; Demonstrates a case we do not yet handle (it is legal to fold %cond2
+; to false)
%cond0 = icmp slt i32 %val, 40
call void(i1,...) @llvm.experimental.guard(i1 %cond0) [ "deopt"() ]
%cond1 = icmp sge i32 %val, 40