Skip to content

Commit 9d7b357

Browse files
authored
[ConstraintElim] Add pre-commit tests for PR76299. NFC. (llvm#76512)
This patch adds pre-commit tests for llvm#76299. llvm#76262 caused a regression in [velox/buffer/Buffer.h](https://github.com/facebookincubator/velox/blob/50187434e32bffcbebcd6501898763c56de40065/velox/buffer/Buffer.h#L347-L350). See also dtcxzyw/llvm-opt-benchmark#35 (comment).
1 parent e9bc4aa commit 9d7b357

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 4
2+
; RUN: opt -passes=constraint-elimination -S %s | FileCheck %s
3+
4+
define i32 @f(i64 %a3, i64 %numElements) {
5+
; CHECK-LABEL: define i32 @f(
6+
; CHECK-SAME: i64 [[A3:%.*]], i64 [[NUMELEMENTS:%.*]]) {
7+
; CHECK-NEXT: entry:
8+
; CHECK-NEXT: [[COND:%.*]] = icmp ule i64 [[NUMELEMENTS]], 1152921504606846975
9+
; CHECK-NEXT: call void @llvm.assume(i1 [[COND]])
10+
; CHECK-NEXT: [[A1:%.*]] = shl nuw i64 [[NUMELEMENTS]], 4
11+
; CHECK-NEXT: br label [[IF_END:%.*]]
12+
; CHECK: if.end:
13+
; CHECK-NEXT: [[CMP:%.*]] = icmp ugt i64 [[A1]], [[A3]]
14+
; CHECK-NEXT: br i1 [[CMP]], label [[IF_END_I:%.*]], label [[ABORT:%.*]]
15+
; CHECK: if.end.i:
16+
; CHECK-NEXT: [[CMP2_NOT_I:%.*]] = icmp ult i64 [[A1]], [[A3]]
17+
; CHECK-NEXT: br i1 [[CMP2_NOT_I]], label [[ABORT]], label [[EXIT:%.*]]
18+
; CHECK: abort:
19+
; CHECK-NEXT: ret i32 -1
20+
; CHECK: exit:
21+
; CHECK-NEXT: ret i32 0
22+
;
23+
entry:
24+
%cond = icmp ule i64 %numElements, 1152921504606846975
25+
call void @llvm.assume(i1 %cond)
26+
%a1 = shl nuw i64 %numElements, 4
27+
br label %if.end
28+
if.end:
29+
%cmp = icmp ugt i64 %a1, %a3
30+
br i1 %cmp, label %if.end.i, label %abort
31+
if.end.i:
32+
%cmp2.not.i = icmp ult i64 %a1, %a3
33+
br i1 %cmp2.not.i, label %abort, label %exit
34+
abort:
35+
ret i32 -1
36+
exit:
37+
ret i32 0
38+
}
39+
40+
declare void @llvm.assume(i1)

0 commit comments

Comments
 (0)