brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.0 KiB · 7e1622b Raw
47 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; There should be no phi nodes left.3; RUN: opt -S -passes=jump-threading < %s | FileCheck %s4 5declare i32 @f1()6declare i32 @f2()7declare void @f3()8 9define i32 @test(i1 %cond) {10; CHECK-LABEL: @test(11; CHECK-NEXT:    br i1 [[COND:%.*]], label [[MERGE:%.*]], label [[MERGE_THREAD:%.*]]12; CHECK:       Merge.thread:13; CHECK-NEXT:    [[V2:%.*]] = call i32 @f2()14; CHECK-NEXT:    br label [[T2:%.*]]15; CHECK:       Merge:16; CHECK-NEXT:    [[V1:%.*]] = call i32 @f1()17; CHECK-NEXT:    [[A:%.*]] = icmp ne i32 [[V1]], 4218; CHECK-NEXT:    br i1 [[A]], label [[T2]], label [[F2:%.*]]19; CHECK:       T2:20; CHECK-NEXT:    call void @f3()21; CHECK-NEXT:    ret i32 122; CHECK:       F2:23; CHECK-NEXT:    ret i32 024;25  br i1 %cond, label %T1, label %F126 27T1:28  %v1 = call i32 @f1()29  br label %Merge30 31F1:32  %v2 = call i32 @f2()33  br label %Merge34 35Merge:36  %B = phi i32 [%v1, %T1], [12, %F1]37  %A = icmp ne i32 %B, 4238  br i1 %A, label %T2, label %F239 40T2:41  call void @f3()42  ret i32 143 44F2:45  ret i32 046}47