Skip to content
  1. Mar 29, 2010
    • Chris Lattner's avatar
      add a note. · 9bc1ed99
      Chris Lattner authored
      llvm-svn: 99815
      9bc1ed99
    • Chris Lattner's avatar
      Switch pattern sorting predicate from stable sort -> sort, it · f91869b6
      Chris Lattner authored
      doesn't need to be stable because the patterns are fully ordered.
      
      Add a first level sort predicate that orders patterns in this
      order:  1) scalar integer operations 2) scalar floating point 
      3) vector int 4) vector float.  This is a trivial sort on their
      top level pattern type so it is nice and transitive.  The
      benefit of doing this is that simple integer operations are
      much more common than insane vector things and isel was trying
      to match the big complex vector patterns before the simple
      ones because the complexity of the vector operations was much
      higher.  Since they can't both match, it is best (for compile
      time) to try the simple integer ones first.
      
      This cuts down the # failed match attempts on real code by
      quite a bit, for example, this reduces backtracks on crafty
      (as a random example) from 228285 -> 188369.
      
      llvm-svn: 99797
      f91869b6
    • Chris Lattner's avatar
      revert 99795, as mentioned, it is disabled anyway. · 41a15141
      Chris Lattner authored
      llvm-svn: 99796
      41a15141
    • Chris Lattner's avatar
      Check in a (disabled) failed attempt to improve the ordering of · a7926015
      Chris Lattner authored
      patterns within the generated matcher.  This works great except
      that the sort fails because the relation defined isn't 
      transitive.  I have a much simpler solution coming next, but want
      to archive the code.
      
      llvm-svn: 99795
      a7926015
    • Chris Lattner's avatar
      print the complexity of the pattern being matched in the · 05925fe1
      Chris Lattner authored
      comment in the generated table.
      
      llvm-svn: 99794
      05925fe1
    • Johnny Chen's avatar
      Add NVTBLFrm to represent A8.6.406 VTBL, VTBX Vector Table Lookup Instructions. · c86256fa
      Johnny Chen authored
      These instructions use byte index in a control vector (M:Vm) to lookup byte
      values in a table and generate a new vector (D:Vd).  The table is specified via
      a list of vectors, which can be:
      
      {Dn}
      {Dn D<n+1>}
      {Dn D<n+1> D<n+2>}
      {Dn D<n+1> D<n+2> D<n+3>}
      
      llvm-svn: 99789
      c86256fa
  2. Mar 28, 2010
Loading