39 lines · plain
1; RUN: llc < %s -mtriple=thumbv8 | FileCheck %s2; RUN: llc < %s -mtriple=thumbv7 -arm-restrict-it | FileCheck %s3 4 %struct.quad_struct = type { i32, i32, ptr, ptr, ptr, ptr, ptr }5 6define fastcc i32 @CountTree(ptr %tree) {7entry:8; CHECK-LABEL: CountTree:9; CHECK: bne10; CHECK: cmp11; CHECK: it eq12; CHECK: cmpeq13; CHECK: bne14; CHECK: mov15; CHECK: pop16 br label %tailrecurse17 18tailrecurse: ; preds = %bb, %entry19 %tmp6 = load ptr, ptr null ; <ptr> [#uses=1]20 %tmp9 = load ptr, ptr null ; <ptr> [#uses=2]21 %tmp12 = load ptr, ptr null ; <ptr> [#uses=1]22 %tmp14 = icmp eq ptr null, null ; <i1> [#uses=1]23 %tmp17 = icmp eq ptr %tmp6, null ; <i1> [#uses=1]24 %tmp23 = icmp eq ptr %tmp9, null ; <i1> [#uses=1]25 %tmp29 = icmp eq ptr %tmp12, null ; <i1> [#uses=1]26 %bothcond = and i1 %tmp17, %tmp14 ; <i1> [#uses=1]27 %bothcond1 = and i1 %bothcond, %tmp23 ; <i1> [#uses=1]28 %bothcond2 = and i1 %bothcond1, %tmp29 ; <i1> [#uses=1]29 br i1 %bothcond2, label %return, label %bb30 31bb: ; preds = %tailrecurse32 %tmp41 = tail call fastcc i32 @CountTree( ptr %tmp9 ) ; <i32> [#uses=0]33 br label %tailrecurse34 35return: ; preds = %tailrecurse36 ret i32 037}38 39