[PATCH] D114701: [MCA] Remove the warning about experimental support for in-order CPU

Andrew Savonichev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 29 05:36:48 PST 2021


asavonic created this revision.
asavonic added a reviewer: andreadb.
Herald added a subscriber: gbedwell.
asavonic requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

There are not a lot of bug reports for this feature, so let's mark it
as stable.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D114701

Files:
  llvm/test/tools/llvm-mca/X86/in-order-cpu.s
  llvm/tools/llvm-mca/llvm-mca.cpp


Index: llvm/tools/llvm-mca/llvm-mca.cpp
===================================================================
--- llvm/tools/llvm-mca/llvm-mca.cpp
+++ llvm/tools/llvm-mca/llvm-mca.cpp
@@ -347,12 +347,6 @@
   if (!STI->isCPUStringValid(MCPU))
     return 1;
 
-  bool IsOutOfOrder = STI->getSchedModel().isOutOfOrder();
-  if (!PrintInstructionTables && !IsOutOfOrder) {
-    WithColor::warning() << "support for in-order CPU '" << MCPU
-                         << "' is experimental.\n";
-  }
-
   if (!STI->getSchedModel().hasInstrSchedModel()) {
     WithColor::error()
         << "unable to find instruction-level scheduling information for"
@@ -367,6 +361,7 @@
   }
 
   // Apply overrides to llvm-mca specific options.
+  bool IsOutOfOrder = STI->getSchedModel().isOutOfOrder();
   processViewOptions(IsOutOfOrder);
 
   std::unique_ptr<MCRegisterInfo> MRI(TheTarget->createMCRegInfo(TripleName));
Index: llvm/test/tools/llvm-mca/X86/in-order-cpu.s
===================================================================
--- llvm/test/tools/llvm-mca/X86/in-order-cpu.s
+++ llvm/test/tools/llvm-mca/X86/in-order-cpu.s
@@ -1,5 +1,36 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=atom -o /dev/null 2>&1 | FileCheck %s
+# RUN: llvm-mca %s -mtriple=x86_64-unknown-unknown -mcpu=atom | FileCheck %s
 movsbw	%al, %di
 
-# CHECK:      warning: support for in-order CPU 'atom' is experimental.
+# CHECK:      Iterations:        100
+# CHECK-NEXT: Instructions:      100
+# CHECK-NEXT: Total Cycles:      101
+# CHECK-NEXT: Total uOps:        100
+
+# CHECK:      Dispatch Width:    2
+# CHECK-NEXT: uOps Per Cycle:    0.99
+# CHECK-NEXT: IPC:               0.99
+# CHECK-NEXT: Block RThroughput: 1.0
+
+# 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                        movsbw	%al, %di
+
+# CHECK:      Resources:
+# CHECK-NEXT: [0]   - AtomPort0
+# CHECK-NEXT: [1]   - AtomPort1
+
+# CHECK:      Resource pressure per iteration:
+# CHECK-NEXT: [0]    [1]
+# CHECK-NEXT: 1.00   1.00
+
+# CHECK:      Resource pressure by instruction:
+# CHECK-NEXT: [0]    [1]    Instructions:
+# CHECK-NEXT: 1.00   1.00   movsbw	%al, %di


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D114701.390313.patch
Type: text/x-patch
Size: 2485 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211129/54e1fa04/attachment.bin>


More information about the llvm-commits mailing list