[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