[llvm] r327010 - [llvm-mca] Emit the 'Instruction Info' table before the resource pressure view.
Andrea Di Biagio via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 8 07:34:38 PST 2018
Author: adibiagio
Date: Thu Mar 8 07:34:38 2018
New Revision: 327010
URL: http://llvm.org/viewvc/llvm-project?rev=327010&view=rev
Log:
[llvm-mca] Emit the 'Instruction Info' table before the resource pressure view.
In future, both the summary information and the 'instruction info' table should
be moved into a separate "Summary" view.
Modified:
llvm/trunk/test/tools/llvm-mca/ARM/simple-test-cortex-a9.s
llvm/trunk/test/tools/llvm-mca/X86/BtVer2/dot-product.s
llvm/trunk/test/tools/llvm-mca/X86/BtVer2/load-store-alias.s
llvm/trunk/test/tools/llvm-mca/X86/BtVer2/memcpy-like-test.s
llvm/trunk/test/tools/llvm-mca/X86/BtVer2/simple-test.s
llvm/trunk/tools/llvm-mca/BackendPrinter.cpp
Modified: llvm/trunk/test/tools/llvm-mca/ARM/simple-test-cortex-a9.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/ARM/simple-test-cortex-a9.s?rev=327010&r1=327009&r2=327010&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/ARM/simple-test-cortex-a9.s (original)
+++ llvm/trunk/test/tools/llvm-mca/ARM/simple-test-cortex-a9.s Thu Mar 8 07:34:38 2018
@@ -8,6 +8,18 @@ vadd.f32 s0, s2, s2
# CHECK-NEXT: Dispatch Width: 2
# CHECK-NEXT: IPC: 0.95
+# 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
+
+# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
+# CHECK-NEXT: 1 4 1.00 vadd.f32 s0, s2, s2
+
+
# CHECK: Resources:
# CHECK-NEXT: [0] - A9UnitAGU
# CHECK-NEXT: [1.0] - A9UnitALU
@@ -24,14 +36,3 @@ vadd.f32 s0, s2, s2
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1.0] [1.1] [2] [3] [4] [5] Instructions:
# CHECK-NEXT: 1.00 - - - 1.00 - - vadd.f32 s0, s2, s2
-
-# 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
-
-# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 4 1.00 vadd.f32 s0, s2, s2
Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/dot-product.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/dot-product.s?rev=327010&r1=327009&r2=327010&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/dot-product.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/dot-product.s Thu Mar 8 07:34:38 2018
@@ -10,6 +10,21 @@ vhaddps %xmm3, %xmm3, %xmm4
# CHECK-NEXT: Dispatch Width: 2
# CHECK-NEXT: IPC: 1.48
+
+# 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
+
+# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
+# CHECK-NEXT: 1 2 1.00 vmulps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 3 1.00 vhaddps %xmm2, %xmm2, %xmm3
+# CHECK-NEXT: 1 3 1.00 vhaddps %xmm3, %xmm3, %xmm4
+
+
# CHECK: Resources:
# CHECK-NEXT: [0] - JALU0
# CHECK-NEXT: [1] - JALU1
@@ -36,19 +51,6 @@ vhaddps %xmm3, %xmm3, %xmm4
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vhaddps %xmm2, %xmm2, %xmm3
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - vhaddps %xmm3, %xmm3, %xmm4
-# 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
-
-# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 2 1.00 vmulps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1 3 1.00 vhaddps %xmm2, %xmm2, %xmm3
-# CHECK-NEXT: 1 3 1.00 vhaddps %xmm3, %xmm3, %xmm4
-
# CHECK: Timeline view:
# CHECK-NEXT: 012345
Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/load-store-alias.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/load-store-alias.s?rev=327010&r1=327009&r2=327010&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/load-store-alias.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/load-store-alias.s Thu Mar 8 07:34:38 2018
@@ -16,6 +16,25 @@ vmovaps %xmm0, 48(%rdi)
# CHECK-NEXT: IPC: 0.33
+# 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
+
+# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
+# CHECK-NEXT: 1 5 1.00 * vmovaps (%rsi), %xmm0
+# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, (%rdi)
+# CHECK-NEXT: 1 5 1.00 * vmovaps 16(%rsi), %xmm0
+# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, 16(%rdi)
+# CHECK-NEXT: 1 5 1.00 * vmovaps 32(%rsi), %xmm0
+# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, 32(%rdi)
+# CHECK-NEXT: 1 5 1.00 * vmovaps 48(%rsi), %xmm0
+# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, 48(%rdi)
+
+
# CHECK: Resources:
# CHECK-NEXT: [0] - JALU0
# CHECK-NEXT: [1] - JALU1
@@ -49,24 +68,6 @@ vmovaps %xmm0, 48(%rdi)
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovaps %xmm0, 48(%rdi)
-# 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
-
-# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 5 1.00 * vmovaps (%rsi), %xmm0
-# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, (%rdi)
-# CHECK-NEXT: 1 5 1.00 * vmovaps 16(%rsi), %xmm0
-# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, 16(%rdi)
-# CHECK-NEXT: 1 5 1.00 * vmovaps 32(%rsi), %xmm0
-# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, 32(%rdi)
-# CHECK-NEXT: 1 5 1.00 * vmovaps 48(%rsi), %xmm0
-# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, 48(%rdi)
-
# CHECK: Timeline view:
# CHECK-NEXT: 0123456789
# CHECK-NEXT: Index 0123456789 0123456
Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/memcpy-like-test.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/memcpy-like-test.s?rev=327010&r1=327009&r2=327010&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/memcpy-like-test.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/memcpy-like-test.s Thu Mar 8 07:34:38 2018
@@ -17,6 +17,25 @@ vmovaps %xmm0, 48(%rdi)
# CHECK-NEXT: IPC: 1.96
+# 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
+
+# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
+# CHECK-NEXT: 1 5 1.00 * vmovaps (%rsi), %xmm0
+# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, (%rdi)
+# CHECK-NEXT: 1 5 1.00 * vmovaps 16(%rsi), %xmm0
+# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, 16(%rdi)
+# CHECK-NEXT: 1 5 1.00 * vmovaps 32(%rsi), %xmm0
+# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, 32(%rdi)
+# CHECK-NEXT: 1 5 1.00 * vmovaps 48(%rsi), %xmm0
+# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, 48(%rdi)
+
+
# CHECK: Resources:
# CHECK-NEXT: [0] - JALU0
# CHECK-NEXT: [1] - JALU1
@@ -50,25 +69,6 @@ vmovaps %xmm0, 48(%rdi)
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovaps %xmm0, 48(%rdi)
-# 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
-
-# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 5 1.00 * vmovaps (%rsi), %xmm0
-# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, (%rdi)
-# CHECK-NEXT: 1 5 1.00 * vmovaps 16(%rsi), %xmm0
-# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, 16(%rdi)
-# CHECK-NEXT: 1 5 1.00 * vmovaps 32(%rsi), %xmm0
-# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, 32(%rdi)
-# CHECK-NEXT: 1 5 1.00 * vmovaps 48(%rsi), %xmm0
-# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, 48(%rdi)
-
-
# CHECK: Timeline view:
# CHECK-NEXT: 01
# CHECK-NEXT: Index 0123456789
Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/simple-test.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/simple-test.s?rev=327010&r1=327009&r2=327010&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/simple-test.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/simple-test.s Thu Mar 8 07:34:38 2018
@@ -8,6 +8,19 @@ add %edi, %eax
# CHECK-NEXT: Dispatch Width: 2
# CHECK-NEXT: IPC: 0.97
+
+# 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
+
+# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
+# CHECK-NEXT: 1 1 0.50 addl %edi, %eax
+
+
# CHECK-LABEL: Resources:
# CHECK-NEXT: [0] - JALU0
# CHECK-NEXT: [1] - JALU1
@@ -32,14 +45,3 @@ add %edi, %eax
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - addl %edi, %eax
-
-# 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
-
-# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 1 0.50 addl %edi, %eax
Modified: llvm/trunk/tools/llvm-mca/BackendPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-mca/BackendPrinter.cpp?rev=327010&r1=327009&r2=327010&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-mca/BackendPrinter.cpp (original)
+++ llvm/trunk/tools/llvm-mca/BackendPrinter.cpp Thu Mar 8 07:34:38 2018
@@ -156,6 +156,8 @@ void BackendPrinter::printReport() const
unsigned Cycles = B.getNumCycles();
printGeneralStatistics(B.getNumIterations(), Cycles, B.getNumInstructions(),
B.getDispatchWidth());
+ printInstructionInfo();
+
if (EnableVerboseOutput) {
printDispatchStalls(B.getNumRATStalls(), B.getNumRCUStalls(),
B.getNumSQStalls(), B.getNumLDQStalls(),
@@ -169,10 +171,8 @@ void BackendPrinter::printReport() const
printSchedulerUsage(B.getSchedModel(), Usage);
}
- if (RPV) {
+ if (RPV)
RPV->printResourcePressure(getOStream(), Cycles);
- printInstructionInfo();
- }
if (TV) {
TV->printTimeline(getOStream());
More information about the llvm-commits
mailing list