summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/tools/llvm-mca/X86/BtVer2/bottleneck-hints-1.s16
-rw-r--r--llvm/test/tools/llvm-mca/X86/BtVer2/bottleneck-hints-2.s13
-rw-r--r--llvm/test/tools/llvm-mca/X86/BtVer2/bottleneck-hints-3.s20
-rw-r--r--llvm/test/tools/llvm-mca/X86/BtVer2/bottleneck-hints-4.s79
-rw-r--r--llvm/test/tools/llvm-mca/X86/SkylakeClient/bottleneck-analysis.s154
-rw-r--r--llvm/test/tools/llvm-mca/X86/option-all-views-1.s13
-rw-r--r--llvm/test/tools/llvm-mca/X86/option-all-views-2.s13
-rw-r--r--llvm/test/tools/llvm-mca/X86/option-no-stats-1.s13
8 files changed, 321 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/bottleneck-hints-1.s b/llvm/test/tools/llvm-mca/X86/BtVer2/bottleneck-hints-1.s
index 16577cf8b39..4091ad8d715 100644
--- a/llvm/test/tools/llvm-mca/X86/BtVer2/bottleneck-hints-1.s
+++ b/llvm/test/tools/llvm-mca/X86/BtVer2/bottleneck-hints-1.s
@@ -23,6 +23,22 @@ add %edx, %eax
# CHECK-NEXT: - Register Dependencies [ 94.04% ]
# CHECK-NEXT: - Memory Dependencies [ 0.00% ]
+# CHECK: Critical sequence based on the simulation:
+
+# CHECK: Instruction Dependency Information
+# CHECK-NEXT: +----< 3. addl %edx, %eax
+# CHECK-NEXT: |
+# CHECK-NEXT: | < loop carried >
+# CHECK-NEXT: |
+# CHECK-NEXT: +----> 0. addl %eax, %ebx ## REGISTER dependency: %eax
+# CHECK-NEXT: +----> 1. addl %ebx, %ecx ## REGISTER dependency: %ebx
+# CHECK-NEXT: +----> 2. addl %ecx, %edx ## REGISTER dependency: %ecx
+# CHECK-NEXT: +----> 3. addl %edx, %eax ## REGISTER dependency: %edx
+# CHECK-NEXT: |
+# CHECK-NEXT: | < loop carried >
+# CHECK-NEXT: |
+# CHECK-NEXT: +----> 0. addl %eax, %ebx ## REGISTER dependency: %eax
+
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/bottleneck-hints-2.s b/llvm/test/tools/llvm-mca/X86/BtVer2/bottleneck-hints-2.s
index 83444d422ad..4ff19360c92 100644
--- a/llvm/test/tools/llvm-mca/X86/BtVer2/bottleneck-hints-2.s
+++ b/llvm/test/tools/llvm-mca/X86/BtVer2/bottleneck-hints-2.s
@@ -22,6 +22,19 @@ vhaddps %xmm0, %xmm0, %xmm1
# CHECK-NEXT: - Register Dependencies [ 0.00% ]
# CHECK-NEXT: - Memory Dependencies [ 0.00% ]
+# CHECK: Critical sequence based on the simulation:
+
+# CHECK: Instruction Dependency Information
+# CHECK-NEXT: +----< 0. vhaddps %xmm0, %xmm0, %xmm1
+# CHECK-NEXT: |
+# CHECK-NEXT: | < loop carried >
+# CHECK-NEXT: |
+# CHECK-NEXT: +----> 0. vhaddps %xmm0, %xmm0, %xmm1 ## RESOURCE interference: JFPA [ probability: 99% ]
+# CHECK-NEXT: |
+# CHECK-NEXT: | < loop carried >
+# CHECK-NEXT: |
+# CHECK-NEXT: +----> 0. vhaddps %xmm0, %xmm0, %xmm1 ## RESOURCE interference: JFPA [ probability: 99% ]
+
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/bottleneck-hints-3.s b/llvm/test/tools/llvm-mca/X86/BtVer2/bottleneck-hints-3.s
index bedfef1d95f..3b0639a0c5a 100644
--- a/llvm/test/tools/llvm-mca/X86/BtVer2/bottleneck-hints-3.s
+++ b/llvm/test/tools/llvm-mca/X86/BtVer2/bottleneck-hints-3.s
@@ -27,6 +27,26 @@ vmovaps %xmm0, 48(%rdi)
# CHECK-NEXT: - Register Dependencies [ 83.24% ]
# CHECK-NEXT: - Memory Dependencies [ 99.89% ]
+# CHECK: Critical sequence based on the simulation:
+
+# CHECK: Instruction Dependency Information
+# CHECK-NEXT: +----< 7. vmovaps %xmm0, 48(%rdi)
+# CHECK-NEXT: |
+# CHECK-NEXT: | < loop carried >
+# CHECK-NEXT: |
+# CHECK-NEXT: +----> 0. vmovaps (%rsi), %xmm0 ## MEMORY dependency.
+# CHECK-NEXT: +----> 1. vmovaps %xmm0, (%rdi) ## REGISTER dependency: %xmm0
+# CHECK-NEXT: +----> 2. vmovaps 16(%rsi), %xmm0 ## MEMORY dependency.
+# CHECK-NEXT: +----> 3. vmovaps %xmm0, 16(%rdi) ## REGISTER dependency: %xmm0
+# CHECK-NEXT: +----> 4. vmovaps 32(%rsi), %xmm0 ## MEMORY dependency.
+# CHECK-NEXT: +----> 5. vmovaps %xmm0, 32(%rdi) ## REGISTER dependency: %xmm0
+# CHECK-NEXT: +----> 6. vmovaps 48(%rsi), %xmm0 ## MEMORY dependency.
+# CHECK-NEXT: +----> 7. vmovaps %xmm0, 48(%rdi) ## REGISTER dependency: %xmm0
+# CHECK-NEXT: |
+# CHECK-NEXT: | < loop carried >
+# CHECK-NEXT: |
+# CHECK-NEXT: +----> 0. vmovaps (%rsi), %xmm0 ## MEMORY dependency.
+
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/bottleneck-hints-4.s b/llvm/test/tools/llvm-mca/X86/BtVer2/bottleneck-hints-4.s
new file mode 100644
index 00000000000..45f01aaef2c
--- /dev/null
+++ b/llvm/test/tools/llvm-mca/X86/BtVer2/bottleneck-hints-4.s
@@ -0,0 +1,79 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -bottleneck-analysis < %s | FileCheck %s
+
+vmulps %xmm0, %xmm1, %xmm2
+vhaddps %xmm2, %xmm2, %xmm3
+vhaddps %xmm3, %xmm3, %xmm4
+
+# CHECK: Iterations: 100
+# CHECK-NEXT: Instructions: 300
+# CHECK-NEXT: Total Cycles: 211
+# CHECK-NEXT: Total uOps: 300
+
+# CHECK: Dispatch Width: 2
+# CHECK-NEXT: uOps Per Cycle: 1.42
+# CHECK-NEXT: IPC: 1.42
+# CHECK-NEXT: Block RThroughput: 2.0
+
+# CHECK: Cycles with backend pressure increase [ 40.76% ]
+# CHECK-NEXT: Throughput Bottlenecks:
+# CHECK-NEXT: Resource Pressure [ 39.34% ]
+# CHECK-NEXT: - JFPA [ 39.34% ]
+# CHECK-NEXT: - JFPU0 [ 39.34% ]
+# CHECK-NEXT: Data Dependencies: [ 1.42% ]
+# CHECK-NEXT: - Register Dependencies [ 1.42% ]
+# CHECK-NEXT: - Memory Dependencies [ 0.00% ]
+
+# CHECK: Critical sequence based on the simulation:
+
+# CHECK: Instruction Dependency Information
+# CHECK-NEXT: +----< 2. vhaddps %xmm3, %xmm3, %xmm4
+# CHECK-NEXT: |
+# CHECK-NEXT: | < loop carried >
+# CHECK-NEXT: |
+# CHECK-NEXT: | 0. vmulps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: +----> 1. vhaddps %xmm2, %xmm2, %xmm3 ## RESOURCE interference: JFPA [ probability: 73% ]
+# CHECK-NEXT: +----> 2. vhaddps %xmm3, %xmm3, %xmm4 ## REGISTER dependency: %xmm3
+# CHECK-NEXT: |
+# CHECK-NEXT: | < loop carried >
+# CHECK-NEXT: |
+# CHECK-NEXT: +----> 1. vhaddps %xmm2, %xmm2, %xmm3 ## RESOURCE interference: JFPA [ probability: 73% ]
+
+# CHECK: Instruction Info:
+# CHECK-NEXT: [1]: #uOps
+# CHECK-NEXT: [2]: Latency
+# CHECK-NEXT: [3]: RThroughput
+# CHECK-NEXT: [4]: MayLoad
+# CHECK-NEXT: [5]: MayStore
+# CHECK-NEXT: [6]: HasSideEffects (U)
+
+# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
+# CHECK-NEXT: 1 2 1.00 vmulps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 4 1.00 vhaddps %xmm2, %xmm2, %xmm3
+# CHECK-NEXT: 1 4 1.00 vhaddps %xmm3, %xmm3, %xmm4
+
+# CHECK: Resources:
+# CHECK-NEXT: [0] - JALU0
+# CHECK-NEXT: [1] - JALU1
+# CHECK-NEXT: [2] - JDiv
+# CHECK-NEXT: [3] - JFPA
+# CHECK-NEXT: [4] - JFPM
+# CHECK-NEXT: [5] - JFPU0
+# CHECK-NEXT: [6] - JFPU1
+# CHECK-NEXT: [7] - JLAGU
+# CHECK-NEXT: [8] - JMul
+# CHECK-NEXT: [9] - JSAGU
+# CHECK-NEXT: [10] - JSTC
+# CHECK-NEXT: [11] - JVALU0
+# CHECK-NEXT: [12] - JVALU1
+# CHECK-NEXT: [13] - JVIMUL
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
+# CHECK-NEXT: - - - 2.00 1.00 2.00 1.00 - - - - - - -
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
+# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmulps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vhaddps %xmm2, %xmm2, %xmm3
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vhaddps %xmm3, %xmm3, %xmm4
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/bottleneck-analysis.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/bottleneck-analysis.s
new file mode 100644
index 00000000000..6c144005c20
--- /dev/null
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/bottleneck-analysis.s
@@ -0,0 +1,154 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mcpu=skylake -bottleneck-analysis < %s | FileCheck %s
+
+.LBB0_4:
+ vmovups (%rsi,%rax,2), %xmm0
+ vpermilps $255, %xmm0, %xmm7
+ vmulps -24(%rsp), %xmm7, %xmm8
+ vpermilps $170, %xmm0, %xmm6
+ vpermilps $85, %xmm0, %xmm5
+ vbroadcastss %xmm0, %xmm0
+ vfmadd231ps %xmm9, %xmm6, %xmm8
+ vfmadd213ps %xmm8, %xmm10, %xmm5
+ vfmadd213ps %xmm5, %xmm11, %xmm0
+ vfmadd213ps %xmm0, %xmm12, %xmm4
+ vfmadd213ps %xmm4, %xmm13, %xmm1
+ vmovaps %xmm7, %xmm4
+ vfmadd213ps %xmm1, %xmm14, %xmm2
+ vmovaps %xmm6, %xmm1
+ vfmadd213ps %xmm2, %xmm15, %xmm3
+ vpermilps $170, %xmm3, %xmm0
+ vmovups %xmm3, (%rdx,%rax)
+ vpermilps $255, %xmm3, %xmm2
+ addq $16, %rax
+ decl %ecx
+ vmovaps %xmm0, %xmm3
+ jne .LBB0_4
+
+# CHECK: Iterations: 100
+# CHECK-NEXT: Instructions: 2200
+# CHECK-NEXT: Total Cycles: 1039
+# CHECK-NEXT: Total uOps: 2400
+
+# CHECK: Dispatch Width: 6
+# CHECK-NEXT: uOps Per Cycle: 2.31
+# CHECK-NEXT: IPC: 2.12
+# CHECK-NEXT: Block RThroughput: 6.0
+
+# CHECK: Cycles with backend pressure increase [ 92.69% ]
+# CHECK-NEXT: Throughput Bottlenecks:
+# CHECK-NEXT: Resource Pressure [ 46.78% ]
+# CHECK-NEXT: - SKLPort0 [ 14.24% ]
+# CHECK-NEXT: - SKLPort1 [ 14.24% ]
+# CHECK-NEXT: - SKLPort5 [ 46.49% ]
+# CHECK-NEXT: - SKLPort6 [ 8.66% ]
+# CHECK-NEXT: Data Dependencies: [ 64.97% ]
+# CHECK-NEXT: - Register Dependencies [ 64.97% ]
+# CHECK-NEXT: - Memory Dependencies [ 0.00% ]
+
+# CHECK: Critical sequence based on the simulation:
+
+# CHECK: Instruction Dependency Information
+# CHECK-NEXT: +----< 18. addq $16, %rax
+# CHECK-NEXT: |
+# CHECK-NEXT: | < loop carried >
+# CHECK-NEXT: |
+# CHECK-NEXT: +----> 0. vmovups (%rsi,%rax,2), %xmm0 ## REGISTER dependency: %rax
+# CHECK-NEXT: | 1. vpermilps $255, %xmm0, %xmm7
+# CHECK-NEXT: | 2. vmulps -24(%rsp), %xmm7, %xmm8
+# CHECK-NEXT: +----> 3. vpermilps $170, %xmm0, %xmm6 ## REGISTER dependency: %xmm0
+# CHECK-NEXT: | 4. vpermilps $85, %xmm0, %xmm5
+# CHECK-NEXT: | 5. vbroadcastss %xmm0, %xmm0
+# CHECK-NEXT: +----> 6. vfmadd231ps %xmm9, %xmm6, %xmm8 ## REGISTER dependency: %xmm6
+# CHECK-NEXT: +----> 7. vfmadd213ps %xmm8, %xmm10, %xmm5 ## REGISTER dependency: %xmm8
+# CHECK-NEXT: +----> 8. vfmadd213ps %xmm5, %xmm11, %xmm0 ## REGISTER dependency: %xmm5
+# CHECK-NEXT: +----> 9. vfmadd213ps %xmm0, %xmm12, %xmm4 ## REGISTER dependency: %xmm0
+# CHECK-NEXT: +----> 10. vfmadd213ps %xmm4, %xmm13, %xmm1 ## REGISTER dependency: %xmm4
+# CHECK-NEXT: | 11. vmovaps %xmm7, %xmm4
+# CHECK-NEXT: +----> 12. vfmadd213ps %xmm1, %xmm14, %xmm2 ## REGISTER dependency: %xmm1
+# CHECK-NEXT: | 13. vmovaps %xmm6, %xmm1
+# CHECK-NEXT: | 14. vfmadd213ps %xmm2, %xmm15, %xmm3
+# CHECK-NEXT: | 15. vpermilps $170, %xmm3, %xmm0
+# CHECK-NEXT: | 16. vmovups %xmm3, (%rdx,%rax)
+# CHECK-NEXT: | 17. vpermilps $255, %xmm3, %xmm2
+# CHECK-NEXT: | 18. addq $16, %rax
+# CHECK-NEXT: | 19. decl %ecx
+# CHECK-NEXT: | 20. vmovaps %xmm0, %xmm3
+# CHECK-NEXT: | 21. jne .LBB0_4
+# CHECK-NEXT: |
+# CHECK-NEXT: | < loop carried >
+# CHECK-NEXT: |
+# CHECK-NEXT: +----> 2. vmulps -24(%rsp), %xmm7, %xmm8 ## RESOURCE interference: SKLPort1 [ probability: 45% ]
+
+# CHECK: Instruction Info:
+# CHECK-NEXT: [1]: #uOps
+# CHECK-NEXT: [2]: Latency
+# CHECK-NEXT: [3]: RThroughput
+# CHECK-NEXT: [4]: MayLoad
+# CHECK-NEXT: [5]: MayStore
+# CHECK-NEXT: [6]: HasSideEffects (U)
+
+# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
+# CHECK-NEXT: 1 6 0.50 * vmovups (%rsi,%rax,2), %xmm0
+# CHECK-NEXT: 1 1 1.00 vpermilps $255, %xmm0, %xmm7
+# CHECK-NEXT: 2 10 0.50 * vmulps -24(%rsp), %xmm7, %xmm8
+# CHECK-NEXT: 1 1 1.00 vpermilps $170, %xmm0, %xmm6
+# CHECK-NEXT: 1 1 1.00 vpermilps $85, %xmm0, %xmm5
+# CHECK-NEXT: 1 1 1.00 vbroadcastss %xmm0, %xmm0
+# CHECK-NEXT: 1 4 0.50 vfmadd231ps %xmm9, %xmm6, %xmm8
+# CHECK-NEXT: 1 4 0.50 vfmadd213ps %xmm8, %xmm10, %xmm5
+# CHECK-NEXT: 1 4 0.50 vfmadd213ps %xmm5, %xmm11, %xmm0
+# CHECK-NEXT: 1 4 0.50 vfmadd213ps %xmm0, %xmm12, %xmm4
+# CHECK-NEXT: 1 4 0.50 vfmadd213ps %xmm4, %xmm13, %xmm1
+# CHECK-NEXT: 1 1 0.33 vmovaps %xmm7, %xmm4
+# CHECK-NEXT: 1 4 0.50 vfmadd213ps %xmm1, %xmm14, %xmm2
+# CHECK-NEXT: 1 1 0.33 vmovaps %xmm6, %xmm1
+# CHECK-NEXT: 1 4 0.50 vfmadd213ps %xmm2, %xmm15, %xmm3
+# CHECK-NEXT: 1 1 1.00 vpermilps $170, %xmm3, %xmm0
+# CHECK-NEXT: 2 1 1.00 * vmovups %xmm3, (%rdx,%rax)
+# CHECK-NEXT: 1 1 1.00 vpermilps $255, %xmm3, %xmm2
+# CHECK-NEXT: 1 1 0.25 addq $16, %rax
+# CHECK-NEXT: 1 1 0.25 decl %ecx
+# CHECK-NEXT: 1 1 0.33 vmovaps %xmm0, %xmm3
+# CHECK-NEXT: 1 1 0.50 jne .LBB0_4
+
+# CHECK: Resources:
+# CHECK-NEXT: [0] - SKLDivider
+# CHECK-NEXT: [1] - SKLFPDivider
+# CHECK-NEXT: [2] - SKLPort0
+# CHECK-NEXT: [3] - SKLPort1
+# CHECK-NEXT: [4] - SKLPort2
+# CHECK-NEXT: [5] - SKLPort3
+# CHECK-NEXT: [6] - SKLPort4
+# CHECK-NEXT: [7] - SKLPort5
+# CHECK-NEXT: [8] - SKLPort6
+# CHECK-NEXT: [9] - SKLPort7
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
+# CHECK-NEXT: - - 5.52 5.53 1.01 1.03 1.00 6.02 2.93 0.96
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
+# CHECK-NEXT: - - - - 0.04 0.96 - - - - vmovups (%rsi,%rax,2), %xmm0
+# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps $255, %xmm0, %xmm7
+# CHECK-NEXT: - - 0.03 0.97 0.96 0.04 - - - - vmulps -24(%rsp), %xmm7, %xmm8
+# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps $170, %xmm0, %xmm6
+# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps $85, %xmm0, %xmm5
+# CHECK-NEXT: - - - - - - - 1.00 - - vbroadcastss %xmm0, %xmm0
+# CHECK-NEXT: - - 0.95 0.05 - - - - - - vfmadd231ps %xmm9, %xmm6, %xmm8
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd213ps %xmm8, %xmm10, %xmm5
+# CHECK-NEXT: - - 0.92 0.08 - - - - - - vfmadd213ps %xmm5, %xmm11, %xmm0
+# CHECK-NEXT: - - 0.95 0.05 - - - - - - vfmadd213ps %xmm0, %xmm12, %xmm4
+# CHECK-NEXT: - - 0.51 0.49 - - - - - - vfmadd213ps %xmm4, %xmm13, %xmm1
+# CHECK-NEXT: - - 0.52 0.48 - - - - - - vmovaps %xmm7, %xmm4
+# CHECK-NEXT: - - 0.49 0.51 - - - - - - vfmadd213ps %xmm1, %xmm14, %xmm2
+# CHECK-NEXT: - - 0.04 0.95 - - - 0.01 - - vmovaps %xmm6, %xmm1
+# CHECK-NEXT: - - 0.51 0.49 - - - - - - vfmadd213ps %xmm2, %xmm15, %xmm3
+# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps $170, %xmm3, %xmm0
+# CHECK-NEXT: - - - - 0.01 0.03 1.00 - - 0.96 vmovups %xmm3, (%rdx,%rax)
+# CHECK-NEXT: - - - - - - - 1.00 - - vpermilps $255, %xmm3, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 - addq $16, %rax
+# CHECK-NEXT: - - 0.04 0.01 - - - 0.01 0.94 - decl %ecx
+# CHECK-NEXT: - - 0.05 0.95 - - - - - - vmovaps %xmm0, %xmm3
+# CHECK-NEXT: - - 0.01 - - - - - 0.99 - jne .LBB0_4
diff --git a/llvm/test/tools/llvm-mca/X86/option-all-views-1.s b/llvm/test/tools/llvm-mca/X86/option-all-views-1.s
index ed097e70734..27e3a67374c 100644
--- a/llvm/test/tools/llvm-mca/X86/option-all-views-1.s
+++ b/llvm/test/tools/llvm-mca/X86/option-all-views-1.s
@@ -25,6 +25,19 @@ add %eax, %eax
# FULLREPORT-NEXT: - Register Dependencies [ 76.70% ]
# FULLREPORT-NEXT: - Memory Dependencies [ 0.00% ]
+# FULLREPORT: Critical sequence based on the simulation:
+
+# FULLREPORT: Instruction Dependency Information
+# FULLREPORT-NEXT: +----< 0. addl %eax, %eax
+# FULLREPORT-NEXT: |
+# FULLREPORT-NEXT: | < loop carried >
+# FULLREPORT-NEXT: |
+# FULLREPORT-NEXT: +----> 0. addl %eax, %eax ## REGISTER dependency: %eax
+# FULLREPORT-NEXT: |
+# FULLREPORT-NEXT: | < loop carried >
+# FULLREPORT-NEXT: |
+# FULLREPORT-NEXT: +----> 0. addl %eax, %eax ## REGISTER dependency: %eax
+
# DEFAULTREPORT: Instruction Info:
# DEFAULTREPORT-NEXT: [1]: #uOps
# DEFAULTREPORT-NEXT: [2]: Latency
diff --git a/llvm/test/tools/llvm-mca/X86/option-all-views-2.s b/llvm/test/tools/llvm-mca/X86/option-all-views-2.s
index efa66be1fb0..a19da0addba 100644
--- a/llvm/test/tools/llvm-mca/X86/option-all-views-2.s
+++ b/llvm/test/tools/llvm-mca/X86/option-all-views-2.s
@@ -24,6 +24,19 @@ add %eax, %eax
# ALL-NEXT: - Register Dependencies [ 76.70% ]
# ALL-NEXT: - Memory Dependencies [ 0.00% ]
+# ALL: Critical sequence based on the simulation:
+
+# ALL: Instruction Dependency Information
+# ALL-NEXT: +----< 0. addl %eax, %eax
+# ALL-NEXT: |
+# ALL-NEXT: | < loop carried >
+# ALL-NEXT: |
+# ALL-NEXT: +----> 0. addl %eax, %eax ## REGISTER dependency: %eax
+# ALL-NEXT: |
+# ALL-NEXT: | < loop carried >
+# ALL-NEXT: |
+# ALL-NEXT: +----> 0. addl %eax, %eax ## REGISTER dependency: %eax
+
# ALL: Instruction Info:
# ALL-NEXT: [1]: #uOps
# ALL-NEXT: [2]: Latency
diff --git a/llvm/test/tools/llvm-mca/X86/option-no-stats-1.s b/llvm/test/tools/llvm-mca/X86/option-no-stats-1.s
index dc843bb2761..d505dd9bc3e 100644
--- a/llvm/test/tools/llvm-mca/X86/option-no-stats-1.s
+++ b/llvm/test/tools/llvm-mca/X86/option-no-stats-1.s
@@ -22,6 +22,19 @@ add %edi, %eax
# CHECK-NEXT: - Register Dependencies [ 76.70% ]
# CHECK-NEXT: - Memory Dependencies [ 0.00% ]
+# CHECK: Critical sequence based on the simulation:
+
+# CHECK: Instruction Dependency Information
+# CHECK-NEXT: +----< 0. addl %edi, %eax
+# CHECK-NEXT: |
+# CHECK-NEXT: | < loop carried >
+# CHECK-NEXT: |
+# CHECK-NEXT: +----> 0. addl %edi, %eax ## REGISTER dependency: %eax
+# CHECK-NEXT: |
+# CHECK-NEXT: | < loop carried >
+# CHECK-NEXT: |
+# CHECK-NEXT: +----> 0. addl %edi, %eax ## REGISTER dependency: %eax
+
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
OpenPOWER on IntegriCloud