Skip to content
  • Chris Lattner's avatar
    Fix a long-standing wart in the code generator: two-address instruction lowering · 13a5dcdd
    Chris Lattner authored
    actually *removes* one of the operands, instead of just assigning both operands
    the same register.  This make reasoning about instructions unnecessarily complex,
    because you need to know if you are before or after register allocation to match
    up operand #'s with the target description file.
    
    Changing this also gets rid of a bunch of hacky code in various places.
    
    This patch also includes changes to fold loads into cmp/test instructions in
    the X86 backend, along with a significant simplification to the X86 spill
    folding code.
    
    llvm-svn: 30108
    13a5dcdd
Loading