Skip to content
  1. Sep 03, 2010
  2. Sep 01, 2010
  3. Aug 31, 2010
  4. Aug 21, 2010
  5. Aug 06, 2010
  6. Aug 04, 2010
  7. Jul 29, 2010
    • Jakob Stoklund Olesen's avatar
      Fix a bug in the -regalloc=fast handling of exotic two-address instruction with · 36cf1190
      Jakob Stoklund Olesen authored
      multiple defs, like t2LDRSB_POST.
      
      The first def could accidentally steal the physreg that the second, tied def was
      required to be allocated to.
      
      Now, the tied use-def is treated more like an early clobber, and the physreg is
      reserved before allocating the other defs.
      
      This would never be a problem when the tied def was the only def which is the
      usual case.
      
      This fixes MallocBench/gs for thumb2 -O0.
      
      llvm-svn: 109715
      36cf1190
  8. Jul 20, 2010
  9. Jul 16, 2010
  10. Jul 09, 2010
  11. Jul 03, 2010
  12. Jun 29, 2010
    • Jakob Stoklund Olesen's avatar
      Fix the handling of partial redefines in the fast register allocator. · dadea5b1
      Jakob Stoklund Olesen authored
      A partial redefine needs to be treated like a tied operand, and the register
      must be reloaded while processing use operands.
      
      This fixes a bug where partially redefined registers were processed as normal
      defs with a reload added. The reload could clobber another use operand if it was
      a kill that allowed register reuse.
      
      llvm-svn: 107193
      dadea5b1
  13. Jun 28, 2010
    • Jakob Stoklund Olesen's avatar
      Add more special treatment for inline asm in RegAllocFast. · 0d94d7af
      Jakob Stoklund Olesen authored
      When an instruction has tied operands and physreg defines, we must take extra
      care that the tied operands conflict with neither physreg defs nor uses.
      
      The special treatment is given to inline asm and instructions with tied operands
      / early clobbers and physreg defines.
      
      This fixes PR7509.
      
      llvm-svn: 107043
      0d94d7af
  14. Jun 15, 2010
  15. Jun 04, 2010
  16. May 19, 2010
  17. May 18, 2010
    • Jakob Stoklund Olesen's avatar
      Properly handle multiple definitions of a virtual register in the same · 663543b4
      Jakob Stoklund Olesen authored
      instruction.
      
      This can happen on ARM:
      
      >> %reg1035:5<def>, %reg1035:6<def> = VLD1q16 %reg1028, 0, pred:14, pred:%reg0
      Regs: Q0=%reg1032* R0=%reg1028* R1=%reg1029* R2 R3=%reg1031*
      Killing last use: %reg1028
      Allocating %reg1035 from QPR
      Assigning %reg1035 to Q1
      << %D2<def>, %D3<def> = VLD1q16 %R0<kill>, 0, pred:14, pred:%reg0, %Q1<imp-def>
      
      llvm-svn: 104056
      663543b4
  18. May 17, 2010
  19. May 15, 2010
  20. May 14, 2010
Loading