Skip to content
  1. Apr 07, 2010
  2. Apr 06, 2010
  3. Apr 05, 2010
    • Jakob Stoklund Olesen's avatar
      Replace TSFlagsFields and TSFlagsShifts with a simpler TSFlags field. · b93331f3
      Jakob Stoklund Olesen authored
      When a target instruction wants to set target-specific flags, it should simply
      set bits in the TSFlags bit vector defined in the Instruction TableGen class.
      
      This works well because TableGen resolves member references late:
      
      class I : Instruction {
        AddrMode AM = AddrModeNone;
        let TSFlags{3-0} = AM.Value;
      }
      
      let AM = AddrMode4 in
      def ADD : I;
      
      TSFlags gets the expected bits from AddrMode4 in this example.
      
      llvm-svn: 100384
      b93331f3
  4. Apr 04, 2010
  5. Apr 03, 2010
  6. Mar 31, 2010
  7. Mar 29, 2010
    • 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
  8. Mar 28, 2010
  9. Mar 27, 2010
  10. Mar 25, 2010
  11. Mar 24, 2010
Loading