Stop using tests with grep, or no output checks at all. Just use FileCheck and generate checks. Also remove unnecessary requires asserts.
56 lines
2.2 KiB
LLVM
56 lines
2.2 KiB
LLVM
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
|
; RUN: opt -S -jump-threading < %s | FileCheck %s
|
|
; PR9446
|
|
; Just check that it doesn't crash
|
|
|
|
define void @int327() nounwind {
|
|
; CHECK-LABEL: @int327(
|
|
; CHECK-NEXT: entry:
|
|
; CHECK-NEXT: unreachable
|
|
; CHECK: for.cond:
|
|
; CHECK-NEXT: [[TOBOOL3:%.*]] = icmp eq i8 undef, 0
|
|
; CHECK-NEXT: br i1 [[TOBOOL3]], label [[FOR_COND23:%.*]], label [[FOR_COND4:%.*]]
|
|
; CHECK: for.cond4:
|
|
; CHECK-NEXT: br label [[FOR_COND:%.*]]
|
|
; CHECK: for.cond23:
|
|
; CHECK-NEXT: [[CONV321:%.*]] = phi i32 [ [[CONV32:%.*]], [[FOR_BODY28:%.*]] ], [ 0, [[FOR_COND]] ], [ [[CONV321]], [[FOR_COND23]] ]
|
|
; CHECK-NEXT: [[L_266_0:%.*]] = phi i32 [ [[PHITMP:%.*]], [[FOR_BODY28]] ], [ 0, [[FOR_COND]] ], [ 0, [[FOR_COND23]] ]
|
|
; CHECK-NEXT: [[CMP26:%.*]] = icmp eq i32 [[L_266_0]], 0
|
|
; CHECK-NEXT: br i1 [[CMP26]], label [[FOR_BODY28]], label [[FOR_COND23]]
|
|
; CHECK: for.body28:
|
|
; CHECK-NEXT: [[AND:%.*]] = and i32 [[CONV321]], 1
|
|
; CHECK-NEXT: [[CONV32]] = zext i8 undef to i32
|
|
; CHECK-NEXT: [[ADD:%.*]] = add nsw i32 [[L_266_0]], 1
|
|
; CHECK-NEXT: [[PHITMP]] = and i32 [[ADD]], 255
|
|
; CHECK-NEXT: br label [[FOR_COND23]]
|
|
; CHECK: if.end43:
|
|
; CHECK-NEXT: ret void
|
|
;
|
|
entry:
|
|
unreachable
|
|
|
|
for.cond: ; preds = %for.cond4
|
|
%tobool3 = icmp eq i8 undef, 0
|
|
br i1 %tobool3, label %for.cond23, label %for.cond4
|
|
|
|
for.cond4: ; preds = %for.cond
|
|
br label %for.cond
|
|
|
|
for.cond23: ; preds = %for.body28, %for.cond23, %for.cond
|
|
%conv321 = phi i32 [ %conv32, %for.body28 ], [ 0, %for.cond ], [ %conv321, %for.cond23 ]
|
|
%l_266.0 = phi i32 [ %phitmp, %for.body28 ], [ 0, %for.cond ], [ 0, %for.cond23 ]
|
|
%cmp26 = icmp eq i32 %l_266.0, 0
|
|
br i1 %cmp26, label %for.body28, label %for.cond23
|
|
|
|
for.body28: ; preds = %for.cond23
|
|
%and = and i32 %conv321, 1
|
|
%conv32 = zext i8 undef to i32
|
|
%add = add nsw i32 %l_266.0, 1
|
|
%phitmp = and i32 %add, 255
|
|
br label %for.cond23
|
|
|
|
if.end43: ; No predecessors!
|
|
ret void
|
|
}
|
|
|