Skip to content
  • 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
Loading