1
1
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2
- ; RUN: opt < %s -passes=instcombine -S -instcombine-infinite-loop-threshold=3 | FileCheck --check-prefixes=CHECK,DEFAULT %s
3
- ; RUN: opt < %s -passes=instcombine --enable-knowledge-retention -S -instcombine-infinite-loop-threshold=3 | FileCheck --check-prefixes=CHECK,BUNDLES %s
2
+ ; RUN: opt < %s -passes=instcombine -S -instcombine-infinite-loop-threshold=2 | FileCheck --check-prefixes=CHECK,DEFAULT %s
3
+ ; RUN: opt < %s -passes=instcombine --enable-knowledge-retention -S -instcombine-infinite-loop-threshold=2 | FileCheck --check-prefixes=CHECK,BUNDLES %s
4
4
5
5
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
6
6
target triple = "x86_64-unknown-linux-gnu"
@@ -383,8 +383,8 @@ define i1 @nonnull5(ptr %a) {
383
383
384
384
define i32 @assumption_conflicts_with_known_bits (i32 %a , i32 %b ) {
385
385
; CHECK-LABEL: @assumption_conflicts_with_known_bits(
386
- ; CHECK-NEXT: tail call void @llvm.assume(i1 false)
387
- ; CHECK-NEXT: ret i32 0
386
+ ; CHECK-NEXT: store i1 true, ptr poison, align 1
387
+ ; CHECK-NEXT: ret i32 poison
388
388
;
389
389
%and1 = and i32 %b , 3
390
390
%B1 = lshr i32 %and1 , %and1
@@ -403,12 +403,8 @@ define i32 @assumption_conflicts_with_known_bits(i32 %a, i32 %b) {
403
403
404
404
define void @debug_interference (i8 %x ) {
405
405
; CHECK-LABEL: @debug_interference(
406
- ; CHECK-NEXT: [[CMP2:%.*]] = icmp ne i8 [[X:%.*]], 0
407
406
; CHECK-NEXT: tail call void @llvm.dbg.value(metadata i32 5, metadata [[META7:![0-9]+]], metadata !DIExpression()), !dbg [[DBG9:![0-9]+]]
408
- ; CHECK-NEXT: tail call void @llvm.assume(i1 false)
409
- ; CHECK-NEXT: tail call void @llvm.dbg.value(metadata i32 5, metadata [[META7]], metadata !DIExpression()), !dbg [[DBG9]]
410
- ; CHECK-NEXT: tail call void @llvm.dbg.value(metadata i32 5, metadata [[META7]], metadata !DIExpression()), !dbg [[DBG9]]
411
- ; CHECK-NEXT: tail call void @llvm.assume(i1 [[CMP2]])
407
+ ; CHECK-NEXT: store i1 true, ptr poison, align 1
412
408
; CHECK-NEXT: ret void
413
409
;
414
410
%cmp1 = icmp eq i8 %x , 0
@@ -575,10 +571,8 @@ define void @always_true_assumption() {
575
571
576
572
define i64 @PR31809 () {
577
573
; CHECK-LABEL: @PR31809(
578
- ; CHECK-NEXT: [[A:%.*]] = alloca i32, align 4
579
- ; CHECK-NEXT: [[T1:%.*]] = ptrtoint ptr [[A]] to i64
580
- ; CHECK-NEXT: call void @llvm.assume(i1 false)
581
- ; CHECK-NEXT: ret i64 [[T1]]
574
+ ; CHECK-NEXT: store i1 true, ptr poison, align 1
575
+ ; CHECK-NEXT: ret i64 poison
582
576
;
583
577
%a = alloca i32
584
578
%t1 = ptrtoint ptr %a to i64
@@ -592,10 +586,8 @@ define i64 @PR31809() {
592
586
593
587
define i8 @conflicting_assumptions (i8 %x ){
594
588
; CHECK-LABEL: @conflicting_assumptions(
595
- ; CHECK-NEXT: call void @llvm.assume(i1 false)
596
- ; CHECK-NEXT: [[COND2:%.*]] = icmp eq i8 [[X:%.*]], 4
597
- ; CHECK-NEXT: call void @llvm.assume(i1 [[COND2]])
598
- ; CHECK-NEXT: ret i8 5
589
+ ; CHECK-NEXT: store i1 true, ptr poison, align 1
590
+ ; CHECK-NEXT: ret i8 poison
599
591
;
600
592
%add = add i8 %x , 1
601
593
%cond1 = icmp eq i8 %x , 3
0 commit comments