Skip to content
  1. Dec 08, 2010
  2. Apr 20, 2010
  3. Mar 29, 2010
  4. Mar 28, 2010
  5. Mar 24, 2010
  6. Mar 19, 2010
  7. Mar 15, 2010
    • Chris Lattner's avatar
      Completely rewrite tblgen's type inference mechanism, · cabe037b
      Chris Lattner authored
      changing the primary datastructure from being a 
      "std::vector<unsigned char>" to being a new TypeSet class
      that actually has (gasp) invariants!
      
      This changes more things than I remember, but one major
      innovation here is that it enforces that named input 
      values agree in type with their output values.
      
      This also eliminates code that transparently assumes (in 
      some cases) that SDNodeXForm input/output types are the
      same, because this is wrong in many case.
      
      This also eliminates a bug which caused a lot of ambiguous
      patterns to go undetected, where a register class would
      sometimes pick the first possible type, causing an
      ambiguous pattern to get arbitrary results.
      
      With all the recent target changes, this causes no 
      functionality change!
      
      llvm-svn: 98534
      cabe037b
  8. Mar 01, 2010
    • Chris Lattner's avatar
      Fix PR2590 by making PatternSortingPredicate actually be · d39f75ba
      Chris Lattner authored
      ordered correctly.  Previously it would get in trouble when
      two patterns were too similar and give them nondet ordering.
      We force this by using the record ID order as a fallback.
      
      The testsuite diff is due to alpha patterns being ordered
      slightly differently, the change is a semantic noop afaict:
      
      < 	lda $0,-100($16)
      ---
      > 	subq $16,100,$0
      
      llvm-svn: 97509
      d39f75ba
  9. Feb 28, 2010
  10. Feb 23, 2010
  11. Feb 18, 2010
  12. Feb 16, 2010
  13. Feb 14, 2010
  14. Dec 09, 2009
  15. Oct 15, 2009
  16. Aug 29, 2009
    • Bob Wilson's avatar
      PR4795: Remove EEVT::isFP, isInt and isVec types used by TableGen's type · 57b946c9
      Bob Wilson authored
      inferencing.  As far as I can tell, these are equivalent to the existing
      MVT::fAny, iAny and vAny types, and having both of them makes it harder
      to reason about and modify the type inferencing code.
      
      The specific problem in PR4795 occurs when updating a vAny type to be fAny
      or iAny, or vice versa.  Both iAny and fAny include vector types -- they
      intersect with the set of types represented by vAny.  When merging them,
      choose fAny/iAny to represent the intersection.  This is not perfect, since
      fAny/iAny also include scalar types, but it is good enough for TableGen's
      type inferencing.
      
      llvm-svn: 80423
      57b946c9
  17. Aug 23, 2009
    • Benjamin Kramer's avatar
      Try to fix MSVC build after r79846. · c2dbd5d6
      Benjamin Kramer authored
      llvm-svn: 79850
      c2dbd5d6
    • Daniel Dunbar's avatar
      Fix non-determinism in DAGISel emitter. · ced00815
      Daniel Dunbar authored
       - This manifested as non-determinism in the .inc output in rare cases (when two
         distinct patterns ended up being equivalent, which is rather rare). That
         meant the pattern matching was non-deterministic, which could eventually mean
         the code generator selected different instructions based on the arch.
      
       - It's probably worth making the DAGISel ensure a total ordering (or force the
         user to), but the simple fix here is to totally order the Record* maps based
         on a unique ID.
      
       - PR4672, PR4711.
      
      Yay:
      --
      ddunbar@giles:~$ cat ~/llvm.obj.64/lib/Target/*/*.inc | shasum
      d1099ff34b21459a5a3e7021c225c080e6017ece  -
      ddunbar@giles:~$ cat ~/llvm.obj.ppc/lib/Target/*/*.inc | shasum
      d1099ff34b21459a5a3e7021c225c080e6017ece  -
      --
      
      llvm-svn: 79846
      ced00815
  18. Aug 13, 2009
  19. Aug 11, 2009
  20. Jul 03, 2009
  21. Apr 27, 2009
    • Nate Begeman's avatar
      2nd attempt, fixing SSE4.1 issues and implementing feedback from duncan. · 8d6d4b92
      Nate Begeman authored
      PR2957
      
      ISD::VECTOR_SHUFFLE now stores an array of integers representing the shuffle
      mask internal to the node, rather than taking a BUILD_VECTOR of ConstantSDNodes
      as the shuffle mask.  A value of -1 represents UNDEF.
      
      In addition to eliminating the creation of illegal BUILD_VECTORS just to 
      represent shuffle masks, we are better about canonicalizing the shuffle mask,
      resulting in substantially better code for some classes of shuffles.
      
      llvm-svn: 70225
      8d6d4b92
  22. Apr 24, 2009
    • Rafael Espindola's avatar
      Revert 69952. Causes testsuite failures on linux x86-64. · b93db668
      Rafael Espindola authored
      llvm-svn: 69967
      b93db668
    • Nate Begeman's avatar
      PR2957 · bb881d66
      Nate Begeman authored
      ISD::VECTOR_SHUFFLE now stores an array of integers representing the shuffle
      mask internal to the node, rather than taking a BUILD_VECTOR of ConstantSDNodes
      as the shuffle mask.  A value of -1 represents UNDEF.
      
      In addition to eliminating the creation of illegal BUILD_VECTORS just to 
      represent shuffle masks, we are better about canonicalizing the shuffle mask,
      resulting in substantially better code for some classes of shuffles.
      
      A clean up of x86 shuffle code, and some canonicalizing in DAGCombiner is next.
      
      llvm-svn: 69952
      bb881d66
  23. Mar 31, 2009
  24. Mar 26, 2009
  25. Feb 09, 2009
  26. Feb 05, 2009
Loading