Skip to content
  1. Jul 30, 2012
  2. Jul 27, 2012
    • Craig Topper's avatar
      Clean up includes. · b6350139
      Craig Topper authored
      llvm-svn: 160852
      b6350139
    • Jakob Stoklund Olesen's avatar
      Eliminate the large XXXSubRegTable constant arrays. · 4914cced
      Jakob Stoklund Olesen authored
      These tables were indexed by [register][subreg index] which made them,
      very large and sparse.
      
      Replace them with lists of sub-register indexes that match the existing
      lists of sub-registers. MCRI::getSubReg() becomes a very short linear
      search, like getSubRegIndex() already was.
      
      llvm-svn: 160843
      4914cced
    • Jakob Stoklund Olesen's avatar
      Remove support for 'CompositeIndices' and sub-register cycles. · 59959363
      Jakob Stoklund Olesen authored
      Now that the weird X86 sub_ss and sub_sd sub-register indexes are gone,
      there is no longer a need for the CompositeIndices construct in .td
      files. Sub-register index composition can be specified on the
      SubRegIndex itself using the ComposedOf field.
      
      Also enforce unique names for sub-registers in TableGen. The same
      sub-register cannot be available with multiple sub-register indexes.
      
      llvm-svn: 160842
      59959363
  3. Jul 26, 2012
  4. Jul 25, 2012
  5. Jul 23, 2012
  6. Jul 19, 2012
  7. Jul 18, 2012
  8. Jul 17, 2012
    • Jim Grosbach's avatar
      TableGen: Pattern<> references to null_frag are a nop. · ab27c5e9
      Jim Grosbach authored
      A standalone pattern defined in a multiclass expansion should handle
      null_frag references just like patterns on instructions. Follow-up to
      r160333.
      
      llvm-svn: 160384
      ab27c5e9
    • Jim Grosbach's avatar
      TableGen: Allow conditional instruction pattern in multiclass. · 514410ba
      Jim Grosbach authored
      Define a 'null_frag' SDPatternOperator node, which if referenced in an
      instruction Pattern, results in the pattern being collapsed to be as-if
      '[]' had been specified instead. This allows supporting a multiclass
      definition where some instaniations have ISel patterns associated and
      others do not.
      
      For example,
      multiclass myMulti<RegisterClass rc, SDPatternOperator OpNode = null_frag> {
        def _x : myI<(outs rc:), (ins rc:), []>;
        def _r : myI<(outs rc:), (ins rc:), [(set rc:, (OpNode rc:))]>;
      }
      
      defm foo : myMulti<GRa, not>;
      defm bar : myMulti<GRb>;
      
      llvm-svn: 160333
      514410ba
    • Owen Anderson's avatar
      Defer checking for registers in the MC AsmMatcher until the after user-defined... · 8a503f2d
      Owen Anderson authored
      Defer checking for registers in the MC AsmMatcher until the after user-defined match classes have been checked.  This allows the creation of MatchClass's that are supersets of a register class.
      
      llvm-svn: 160327
      8a503f2d
  9. Jul 12, 2012
  10. Jul 09, 2012
  11. Jul 07, 2012
    • 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
    • Andrew Trick's avatar
      whitespace · 91118a61
      Andrew Trick authored
      llvm-svn: 159890
      91118a61
    • Andrew Trick's avatar
      Tweak spelling. · 030e2f8f
      Andrew Trick authored
      llvm-svn: 159889
      030e2f8f
  12. Jul 02, 2012
  13. Jun 29, 2012
  14. Jun 28, 2012
  15. Jun 27, 2012
  16. Jun 26, 2012
    • Manman Ren's avatar
      X86: add GATHER intrinsics (AVX2) in LLVM · a0982041
      Manman Ren authored
      Support the following intrinsics:
      llvm.x86.avx2.gather.d.pd, llvm.x86.avx2.gather.q.pd
      llvm.x86.avx2.gather.d.pd.256, llvm.x86.avx2.gather.q.pd.256
      llvm.x86.avx2.gather.d.ps, llvm.x86.avx2.gather.q.ps
      llvm.x86.avx2.gather.d.ps.256, llvm.x86.avx2.gather.q.ps.256
      
      Modified Disassembler to handle VSIB addressing mode.
      
      llvm-svn: 159221
      a0982041
    • Tim Northover's avatar
      Teach TableGen to put chains on more instructions · e5629966
      Tim Northover authored
      When generating selection tables for Pat instances, TableGen relied on
      an output Instruction's Pattern field being set to infer whether a
      chain should be added.
      
      This patch adds additional logic to check various flag fields so that
      correct code can be generated even if Pattern is unset.
      
      llvm-svn: 159217
      e5629966
  17. Jun 23, 2012
    • Jim Grosbach's avatar
      TableGen: AsmMatcher support for better operand diagnostics. · 3a8a0fa8
      Jim Grosbach authored
      "Invalid operand" may be a completely correct diagnostic, but it's often
      insufficiently specific to really help identify and fix the problem in
      assembly source. Allow a target to specify a more-specific diagnostic kind
      for each AsmOperandClass derived definition and use that to provide
      more detailed diagnostics when an operant of that class resulted in a
      match failure.
      
      rdar://8987109
      
      llvm-svn: 159050
      3a8a0fa8
  18. Jun 22, 2012
  19. Jun 18, 2012
  20. Jun 12, 2012
  21. Jun 11, 2012
  22. Jun 08, 2012
Loading