Changeset View
Changeset View
Standalone View
Standalone View
llvm/test/Transforms/SCCP/conditions-ranges.ll
Show First 20 Lines • Show All 225 Lines • ▼ Show 20 Lines | |||||
; Test with 2 unrelated nested conditions. | ; Test with 2 unrelated nested conditions. | ||||
define void @f7_nested_conds(i32* %a, i32 %b) { | define void @f7_nested_conds(i32* %a, i32 %b) { | ||||
; CHECK-LABEL: @f7_nested_conds( | ; CHECK-LABEL: @f7_nested_conds( | ||||
; CHECK-NEXT: entry: | ; CHECK-NEXT: entry: | ||||
; CHECK-NEXT: [[A_V:%.*]] = load i32, i32* [[A:%.*]], align 4 | ; CHECK-NEXT: [[A_V:%.*]] = load i32, i32* [[A:%.*]], align 4 | ||||
; CHECK-NEXT: [[C_1:%.*]] = icmp ne i32 [[A_V]], 0 | ; CHECK-NEXT: [[C_1:%.*]] = icmp ne i32 [[A_V]], 0 | ||||
; CHECK-NEXT: br i1 [[C_1]], label [[TRUE:%.*]], label [[FALSE:%.*]] | ; CHECK-NEXT: br i1 [[C_1]], label [[TRUE:%.*]], label [[FALSE:%.*]] | ||||
; CHECK: false: | ; CHECK: false: | ||||
; CHECK-NEXT: br i1 true, label [[TRUE_2:%.*]], label [[TRUE]] | ; CHECK-NEXT: br label [[TRUE_2:%.*]] | ||||
; CHECK: true.2: | ; CHECK: true.2: | ||||
; CHECK-NEXT: call void @use(i1 true) | ; CHECK-NEXT: call void @use(i1 true) | ||||
; CHECK-NEXT: ret void | ; CHECK-NEXT: ret void | ||||
; CHECK: true: | ; CHECK: true: | ||||
; CHECK-NEXT: store i32 [[B:%.*]], i32* [[A]] | ; CHECK-NEXT: store i32 [[B:%.*]], i32* [[A]], align 4 | ||||
; CHECK-NEXT: ret void | ; CHECK-NEXT: ret void | ||||
; | ; | ||||
entry: | entry: | ||||
%a.v = load i32, i32* %a | %a.v = load i32, i32* %a | ||||
%c.1 = icmp ne i32 %a.v, 0 | %c.1 = icmp ne i32 %a.v, 0 | ||||
br i1 %c.1, label %true, label %false | br i1 %c.1, label %true, label %false | ||||
false: | false: | ||||
▲ Show 20 Lines • Show All 975 Lines • Show Last 20 Lines |