mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-22 03:28:35 +00:00
b9c8074dcd
subtarget CPU descriptions and support new features of MachineScheduler. MachineModel has three categories of data: 1) Basic properties for coarse grained instruction cost model. 2) Scheduler Read/Write resources for simple per-opcode and operand cost model (TBD). 3) Instruction itineraties for detailed per-cycle reservation tables. These will all live side-by-side. Any subtarget can use any combination of them. Instruction itineraries will not change in the near term. In the long run, I expect them to only be relevant for in-order VLIW machines that have complex contraints and require a precise scheduling/bundling model. Once itineraries are only actively used by VLIW-ish targets, they could be replaced by something more appropriate for those targets. This tablegen backend rewrite sets things up for introducing MachineModel type #2: per opcode/operand cost model. llvm-svn: 159891
38 lines
835 B
CMake
38 lines
835 B
CMake
set(LLVM_REQUIRES_EH 1)
|
|
set(LLVM_REQUIRES_RTTI 1)
|
|
set(LLVM_LINK_COMPONENTS Support)
|
|
|
|
add_tablegen(llvm-tblgen LLVM
|
|
AsmMatcherEmitter.cpp
|
|
AsmWriterEmitter.cpp
|
|
AsmWriterInst.cpp
|
|
CallingConvEmitter.cpp
|
|
CodeEmitterGen.cpp
|
|
CodeGenDAGPatterns.cpp
|
|
CodeGenInstruction.cpp
|
|
CodeGenRegisters.cpp
|
|
CodeGenSchedule.cpp
|
|
CodeGenTarget.cpp
|
|
DAGISelEmitter.cpp
|
|
DAGISelMatcherEmitter.cpp
|
|
DAGISelMatcherGen.cpp
|
|
DAGISelMatcherOpt.cpp
|
|
DAGISelMatcher.cpp
|
|
DFAPacketizerEmitter.cpp
|
|
DisassemblerEmitter.cpp
|
|
EDEmitter.cpp
|
|
FastISelEmitter.cpp
|
|
FixedLenDecoderEmitter.cpp
|
|
InstrInfoEmitter.cpp
|
|
IntrinsicEmitter.cpp
|
|
PseudoLoweringEmitter.cpp
|
|
RegisterInfoEmitter.cpp
|
|
SetTheory.cpp
|
|
SubtargetEmitter.cpp
|
|
TGValueTypes.cpp
|
|
TableGen.cpp
|
|
X86DisassemblerTables.cpp
|
|
X86ModRMFilters.cpp
|
|
X86RecognizableInstr.cpp
|
|
)
|