
Stop using tests with grep, or no output checks at all. Just use FileCheck and generate checks. Also remove unnecessary requires asserts.
63 lines
1.8 KiB
LLVM
63 lines
1.8 KiB
LLVM
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
|
; RUN: opt -S -passes=jump-threading < %s | FileCheck %s
|
|
|
|
%struct.aaa = type { i8 }
|
|
|
|
define void @chrome(ptr noalias sret(%struct.aaa) %arg) local_unnamed_addr #0 align 2 personality ptr @chrome2 {
|
|
; CHECK-LABEL: @chrome(
|
|
; CHECK-NEXT: bb:
|
|
; CHECK-NEXT: [[TMP:%.*]] = load i32, ptr undef, align 4
|
|
; CHECK-NEXT: [[TMP1:%.*]] = icmp eq i32 [[TMP]], 0
|
|
; CHECK-NEXT: br i1 [[TMP1]], label [[BB2:%.*]], label [[BB13:%.*]]
|
|
; CHECK: bb2:
|
|
; CHECK-NEXT: [[TMP4:%.*]] = load i8, ptr [[ARG:%.*]], align 1
|
|
; CHECK-NEXT: [[TMP5:%.*]] = icmp eq i8 [[TMP4]], 0
|
|
; CHECK-NEXT: br i1 [[TMP5]], label [[BB7:%.*]], label [[BB14:%.*]]
|
|
; CHECK: bb7:
|
|
; CHECK-NEXT: store i8 0, ptr [[ARG]], align 1
|
|
; CHECK-NEXT: [[TMP9:%.*]] = icmp ne i8 0, 0
|
|
; CHECK-NEXT: [[TMP10:%.*]] = select i1 [[TMP9]], i1 true, i1 false
|
|
; CHECK-NEXT: br i1 [[TMP10]], label [[BB12:%.*]], label [[BB12]]
|
|
; CHECK: bb12:
|
|
; CHECK-NEXT: [[TMP94:%.*]] = phi i1 [ [[TMP9]], [[BB7]] ], [ [[TMP9]], [[BB7]] ]
|
|
; CHECK-NEXT: br i1 [[TMP94]], label [[BB14]], label [[BB13]]
|
|
; CHECK: bb13:
|
|
; CHECK-NEXT: unreachable
|
|
; CHECK: bb14:
|
|
; CHECK-NEXT: ret void
|
|
;
|
|
bb:
|
|
%tmp = load i32, ptr undef, align 4
|
|
%tmp1 = icmp eq i32 %tmp, 0
|
|
br i1 %tmp1, label %bb2, label %bb13
|
|
|
|
bb2:
|
|
%tmp4 = load i8, ptr %arg, align 1
|
|
%tmp5 = icmp eq i8 %tmp4, 0
|
|
br i1 %tmp5, label %bb6, label %bb7
|
|
|
|
bb6:
|
|
store i8 0, ptr %arg, align 1
|
|
br label %bb7
|
|
|
|
bb7:
|
|
%tmp8 = load i8, ptr %arg, align 1
|
|
%tmp9 = icmp ne i8 %tmp8, 0
|
|
%tmp10 = select i1 %tmp9, i1 true, i1 false
|
|
br i1 %tmp10, label %bb12, label %bb11
|
|
|
|
bb11:
|
|
br label %bb12
|
|
|
|
bb12:
|
|
br i1 %tmp9, label %bb14, label %bb13
|
|
|
|
bb13:
|
|
unreachable
|
|
|
|
bb14:
|
|
ret void
|
|
}
|
|
|
|
declare i32 @chrome2(...)
|