1 ; RUN: opt < %s -disable-output -instcombine -instcombine -licm -time-passes 2>&1 | FileCheck %s --check-prefix=TIME --check-prefix=TIME-LEGACY
2 ; RUN: opt < %s -disable-output -instcombine -instcombine -licm -licm -time-passes 2>&1 | FileCheck %s --check-prefix=TIME --check-prefix=TIME-LEGACY --check-prefix=TIME-DOUBLE-LICM-LEGACY
3 ; RUN: opt < %s -disable-output -passes='instcombine,instcombine,loop(licm)' -time-passes 2>&1 | FileCheck %s --check-prefix=TIME --check-prefix=TIME-NEW
4 ; RUN: opt < %s -disable-output -passes='instcombine,loop(licm),instcombine,loop(licm)' -time-passes 2>&1 | FileCheck %s --check-prefix=TIME --check-prefix=TIME-NEW -check-prefix=TIME-DOUBLE-LICM-NEW
5 ; RUN: opt < %s -disable-output -passes='default<O2>' -time-passes 2>&1 | FileCheck %s --check-prefix=TIME
7 ; TIME: Pass execution timing report
8 ; TIME: Total Execution Time:
10 ; TIME-LEGACY-DAG: Combine redundant instructions{{$}}
11 ; TIME-LEGACY-DAG: Combine redundant instructions #2
12 ; TIME-LEGACY-DAG: Loop Invariant Code Motion{{$}}
13 ; TIME-DOUBLE-LICM-LEGACY-DAG: Loop Invariant Code Motion #2
14 ; TIME-LEGACY-DAG: Scalar Evolution Analysis
15 ; TIME-LEGACY-DAG: Loop-Closed SSA Form Pass
16 ; TIME-LEGACY-DAG: LCSSA Verifier
17 ; TIME-LEGACY-DAG: Canonicalize natural loops
18 ; TIME-LEGACY-DAG: Natural Loop Information
19 ; TIME-LEGACY-DAG: Dominator Tree Construction
20 ; TIME-LEGACY-DAG: Module Verifier
21 ; TIME-LEGACY-DAG: Target Library Information
22 ; TIME-NEW-DAG: InstCombinePass #1
23 ; TIME-NEW-DAG: InstCombinePass #2
24 ; TIME-NEW-DAG: InstCombinePass #3
25 ; TIME-NEW-DAG: InstCombinePass #4
26 ; TIME-NEW-DAG: LICMPass #1
27 ; TIME-NEW-DAG: LICMPass #2
28 ; TIME-NEW-DAG: LICMPass #3
29 ; TIME-DOUBLE-LICM-NEW-DAG: LICMPass #4
30 ; TIME-DOUBLE-LICM-NEW-DAG: LICMPass #5
31 ; TIME-DOUBLE-LICM-NEW-DAG: LICMPass #6
32 ; TIME-NEW-DAG: LCSSAPass
33 ; TIME-NEW-DAG: LoopSimplifyPass
34 ; TIME-NEW-DAG: ScalarEvolutionAnalysis
35 ; TIME-NEW-DAG: LoopAnalysis
36 ; TIME-NEW-DAG: VerifierPass
37 ; TIME-NEW-DAG: DominatorTreeAnalysis
38 ; TIME-NEW-DAG: TargetLibraryAnalysis
45 br i1 false, label %loop1, label %end
50 define void @bar_with_loops() {
53 br i1 false, label %loop1, label %loop2
55 br i1 true, label %loop2, label %end