llvm-6502/include/llvm/Target
Andrew Trick 2661b411cc I'm introducing a new machine model to simultaneously allow simple
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159891 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-07 04:00:00 +00:00
..
Mangler.h Prune some includes and forward declarations. 2012-03-25 18:09:44 +00:00
Target.td I'm introducing a new machine model to simultaneously allow simple 2012-07-07 04:00:00 +00:00
TargetCallingConv.h Convert comments to proper Doxygen comments. 2012-06-09 00:01:45 +00:00
TargetCallingConv.td Add TableGen support for callee saved registers. 2012-01-17 22:46:58 +00:00
TargetData.h Convert comments to proper Doxygen comments. 2012-06-09 00:01:45 +00:00
TargetELFWriterInfo.h [Hexagon] Clean up Hexagon ELF definition. 2012-05-17 16:46:46 +00:00
TargetFrameLowering.h Prune some includes and forward declarations. 2012-03-25 18:09:44 +00:00
TargetInstrInfo.h Add an experimental early if-conversion pass, off by default. 2012-07-04 00:09:54 +00:00
TargetIntrinsicInfo.h land David Blaikie's patch to de-constify Type, with a few tweaks. 2011-07-18 04:54:35 +00:00
TargetItinerary.td I'm introducing a new machine model to simultaneously allow simple 2012-07-07 04:00:00 +00:00
TargetJITInfo.h Prune some includes and forward declarations. 2012-03-25 18:09:44 +00:00
TargetLibraryInfo.h fix pr12559: mark unavailable win32 math libcalls 2012-04-17 23:05:54 +00:00
TargetLowering.h Target option DisableJumpTables is a gross hack. Move it to TargetLowering instead. 2012-07-02 22:39:56 +00:00
TargetLoweringObjectFile.h Prune some includes and forward declarations. 2012-03-25 18:09:44 +00:00
TargetMachine.h Extend TargetPassConfig to allow running only a subset of the normal passes. 2012-07-02 19:48:45 +00:00
TargetOpcodes.h First chunk of MachineInstr bundle support. 2011-12-06 22:12:01 +00:00
TargetOptions.h Target option DisableJumpTables is a gross hack. Move it to TargetLowering instead. 2012-07-02 22:39:56 +00:00
TargetRegisterInfo.h Add a PrintRegUnit helper similar to PrintReg. 2012-05-31 17:18:29 +00:00
TargetSchedule.td I'm introducing a new machine model to simultaneously allow simple 2012-07-07 04:00:00 +00:00
TargetSelectionDAG.td Rename @llvm.debugger to @llvm.debugtrap. 2012-05-14 18:58:10 +00:00
TargetSelectionDAGInfo.h reimplement memcpy/memmove/memset lowering to use MachinePointerInfo 2010-09-21 05:40:29 +00:00
TargetSubtargetInfo.h Prune some includes and forward declarations. 2012-03-25 18:09:44 +00:00