Skip to content
  1. Jul 02, 2009
  2. Jul 01, 2009
  3. Jun 30, 2009
    • Evan Cheng's avatar
      Temporarily restore the scavenger implicit_def checking code. MachineOperand... · dcf1f593
      Evan Cheng authored
      Temporarily restore the scavenger implicit_def checking code. MachineOperand isUndef mark is not being put on implicit_def of physical registers (created for parameter passing, etc.).
      
      llvm-svn: 74519
      dcf1f593
    • Evan Cheng's avatar
      Add a bit IsUndef to MachineOperand. This indicates the def / use register... · 0dc101b8
      Evan Cheng authored
      Add a bit IsUndef to MachineOperand. This indicates the def / use register operand is defined by an implicit_def. That means it can def / use any register and passes (e.g. register scavenger) can feel free to ignore them.
      
      The register allocator, when it allocates a register to a virtual register defined by an implicit_def, can allocate any physical register without worrying about overlapping live ranges. It should mark all of operands of the said virtual register so later passes will do the right thing.
      
      This is not the best solution. But it should be a lot less fragile to having the scavenger try to track what is defined by implicit_def.
      
      llvm-svn: 74518
      0dc101b8
    • Devang Patel's avatar
      Struct types are described using field types only. · 0a9f9759
      Devang Patel authored
      llvm-svn: 74477
      0a9f9759
  4. Jun 29, 2009
  5. Jun 27, 2009
  6. Jun 26, 2009
  7. Jun 25, 2009
  8. Jun 24, 2009
    • Lang Hames's avatar
      Completed basic intra block split implementation. · 6858b7d0
      Lang Hames authored
      llvm-svn: 74114
      6858b7d0
    • David Greene's avatar
      · 30048bdb
      David Greene authored
      This increases the maximum for MVT::LAST_VALUETYPE
      
      This change doubles the allowable value for MVT::LAST_VALUETYPE. It does
      this by doing several things.
      
      1. Introduces MVT::MAX_ALLOWED_LAST_VALUETYPE which in this change has a
      value of 64.  This value contains the current maximum for the
      MVT::LAST_VALUETYPE.
      
      2. Instead of checking "MVT::LAST_VALUETYPE <= 32", all of those uses
      now become "MVT::LAST_VALUETYPE <= MVT::MAX_ALLOWED_LAST_VALUETYPE"
      
      3. Changes the dimension of the ValueTypeActions from 2 elements to four
      elements and adds comments ahead of the declaration indicating the it is
      "(MVT::MAX_ALLOWED_LAST_VALUETYPE/32) * 2".  This at least lets us find
      what is affected if and when MVT::MAX_ALLOWED_LAST_VALUETYPE gets
      changed.
      
      4. Adds initializers for the new elements of ValueTypeActions.
      
      This does NOT add any types in MVT. That would be done separately.
      
      This doubles the size of ValueTypeActions from 64 bits to 128 bits and
      gives us the freedom to add more types for AVX.
      
      llvm-svn: 74110
      30048bdb
Loading