brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.5 KiB · 83ae4d1 Raw
46 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt < %s -S -passes="print<assumptions>,gvn-sink,loop-unroll" -unroll-count=3 | FileCheck %s3;4; This crashed because the cached assumption was replaced and the replacement5; was then in the cache twice.6;7; PR490438 9@g = external global i3210 11define void @main() {12; CHECK-LABEL: @main(13; CHECK-NEXT:  bb:14; CHECK-NEXT:    br label [[BB4_I:%.*]]15; CHECK:       bb4.i:16; CHECK-NEXT:    [[I1_I:%.*]] = load volatile i32, ptr @g, align 417; CHECK-NEXT:    [[I32_I:%.*]] = icmp eq i32 [[I1_I]], 018; CHECK-NEXT:    call void @llvm.assume(i1 [[I32_I]])19; CHECK-NEXT:    [[I1_I_1:%.*]] = load volatile i32, ptr @g, align 420; CHECK-NEXT:    [[I32_I_1:%.*]] = icmp eq i32 [[I1_I_1]], 021; CHECK-NEXT:    call void @llvm.assume(i1 [[I32_I_1]])22; CHECK-NEXT:    [[I1_I_2:%.*]] = load volatile i32, ptr @g, align 423; CHECK-NEXT:    [[I32_I_2:%.*]] = icmp eq i32 [[I1_I_2]], 024; CHECK-NEXT:    call void @llvm.assume(i1 [[I32_I_2]])25; CHECK-NEXT:    br label [[BB4_I]], !llvm.loop [[LOOP0:![0-9]+]]26; CHECK:       func_1.exit:27; CHECK-NEXT:    unreachable28;29bb:30  %i1.i = load volatile i32, ptr @g31  %i32.i = icmp eq i32 %i1.i, 032  call void @llvm.assume(i1 %i32.i) #333  br label %bb4.i34 35bb4.i:                                            ; preds = %bb4.i, %bb36  %i.i = load volatile i32, ptr @g37  %i3.i = icmp eq i32 %i.i, 038  call void @llvm.assume(i1 %i3.i) #339  br label %bb4.i40 41func_1.exit:                                      ; No predecessors!42  unreachable43}44 45declare void @llvm.assume(i1)46