Skip to content
  • Andrew Trick's avatar
    I'm introducing a new machine model to simultaneously allow simple · 87255e34
    Andrew Trick authored
    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
    87255e34
Loading