llvm-project/llvm/test
Andrea Di Biagio c74ad502ce [MC][Tablegen] Allow models to describe the retire control unit for llvm-mca.
This patch adds the ability to describe properties of the hardware retire
control unit.

Tablegen class RetireControlUnit has been added for this purpose (see
TargetSchedule.td).

A RetireControlUnit specifies the size of the reorder buffer, as well as the
maximum number of opcodes that can be retired every cycle.

A zero (or negative) value for the reorder buffer size means: "the size is
unknown". If the size is unknown, then llvm-mca defaults it to the value of
field SchedMachineModel::MicroOpBufferSize.  A zero or negative number of
opcodes retired per cycle means: "there is no restriction on the number of
instructions that can be retired every cycle".

Models can optionally specify an instance of RetireControlUnit. There can only
be up-to one RetireControlUnit definition per scheduling model.

Information related to the RCU (RetireControlUnit) is stored in (two new fields
of) MCExtraProcessorInfo.  llvm-mca loads that information when it initializes
the DispatchUnit / RetireControlUnit (see Dispatch.h/Dispatch.cpp).

This patch fixes PR36661.

Differential Revision: https://reviews.llvm.org/D45259

llvm-svn: 329304
2018-04-05 15:41:41 +00:00
..
Analysis [X86][CostModel] Use generic SSE levels instead of particular CPUs for shuffle costs 2018-04-04 11:14:12 +00:00
Assembler Make the LLParser accept call instructions of variables in the program AS 2018-02-27 11:15:11 +00:00
Bindings Add C API bindings for DIBuilder 'Type' APIs 2018-04-02 00:17:40 +00:00
Bitcode [IR] Upgrade comment token in objc retain release marker 2018-04-05 02:44:46 +00:00
BugPoint
CodeGen ARM: Do not spill CSR to stack on entry to noreturn functions 2018-04-05 14:26:06 +00:00
DebugInfo Re-commit r329179 after fixing build&test issues 2018-04-04 14:42:14 +00:00
Examples
ExecutionEngine [RuntimeDyld][MachO] Fix assertion in encodeAddend, add missing directive to 2018-03-01 01:44:33 +00:00
Feature Remove the LoopInstSimplify pass (-loop-instsimplify) 2018-03-12 20:49:42 +00:00
FileCheck
Instrumentation hwasan: add -hwasan-match-all-tag flag 2018-04-04 20:44:59 +00:00
Integer
JitListener
LTO Object: Fix handling of @@@ in .symver directive 2018-03-20 00:45:03 +00:00
Linker [DebugInfo] Add remaining files to r325970 2018-02-23 23:13:18 +00:00
MC [WebAssembly] Only write 32-bits for WebAssembly::OPERAND_OFFSET32 2018-04-04 22:27:58 +00:00
Object Disable a test using environment variables that requires a real shell 2018-04-03 18:19:52 +00:00
ObjectYAML [WebAssembly] Disallow weak undefined globals in the object format 2018-03-09 16:30:44 +00:00
Other [PM][FunctionAttrs] add NoUnwind attribute inference to PostOrderFunctionAttrs pass 2018-03-23 21:46:16 +00:00
SafepointIRVerifier
SymbolRewriter
TableGen TableGen: Support Intrinsic values in SearchableTable 2018-04-01 17:08:58 +00:00
ThinLTO/X86 [ThinLTO] Clear dllimport when setting dso_local. 2018-03-13 15:24:51 +00:00
Transforms [PatternMatch] define m_FNeg using m_FSub 2018-04-05 15:36:55 +00:00
Unit
Verifier [DebugInfo] Add verifier for DICompositeType vector 2018-03-08 19:31:37 +00:00
YAMLParser
tools [MC][Tablegen] Allow models to describe the retire control unit for llvm-mca. 2018-04-05 15:41:41 +00:00
.clang-format
CMakeLists.txt Remove llvm-mcmarkup. 2018-04-02 23:17:55 +00:00
TestRunner.sh
lit.cfg.py Remove llvm-mcmarkup. 2018-04-02 23:17:55 +00:00
lit.site.cfg.py.in