Skip to content
  1. Feb 28, 2005
  2. Feb 22, 2005
    • Chris Lattner's avatar
      Fix a bug in the 'store fpimm, ptr' -> 'store intimm, ptr' handling code. · a4743139
      Chris Lattner authored
      Changing 'op' here caused us to not enter the store into a map, causing
      reemission of the code!!  In practice, a simple loop like this:
      
      no_exit:                ; preds = %no_exit, %entry
              %indvar = phi uint [ %indvar.next, %no_exit ], [ 0, %entry ]            ; <uint> [#uses=3]
              %tmp.4 = getelementptr "complex long double"* %P, uint %indvar, uint 0          ; <double*> [#uses=1]
              store double 0.000000e+00, double* %tmp.4
              %indvar.next = add uint %indvar, 1              ; <uint> [#uses=2]
              %exitcond = seteq uint %indvar.next, %N         ; <bool> [#uses=1]
              br bool %exitcond, label %return, label %no_exit
      
      was being code gen'd to:
      
      .LBBtest_1:     # no_exit
              movl %edx, %esi
              shll $4, %esi
              movl $0, 4(%eax,%esi)
              movl $0, (%eax,%esi)
              incl %edx
              movl $0, (%eax,%esi)
              movl $0, 4(%eax,%esi)
              cmpl %ecx, %edx
              jne .LBBtest_1  # no_exit
      
      Note that we are doing 4 32-bit stores instead of 2.  Now we generate:
      
      .LBBtest_1:     # no_exit
              movl %edx, %esi
              incl %esi
              shll $4, %edx
              movl $0, (%eax,%edx)
              movl $0, 4(%eax,%edx)
              cmpl %ecx, %esi
              movl %esi, %edx
              jne .LBBtest_1  # no_exit
      
      This is much happier, though it would be even better if the increment of ESI
      was scheduled after the compare :-/
      
      llvm-svn: 20265
      a4743139
  3. Feb 17, 2005
  4. Feb 14, 2005
  5. Feb 04, 2005
  6. Feb 02, 2005
  7. Feb 01, 2005
  8. Jan 30, 2005
  9. Jan 29, 2005
  10. Jan 28, 2005
  11. Jan 24, 2005
  12. Jan 23, 2005
  13. Jan 22, 2005
  14. Jan 21, 2005
  15. Jan 20, 2005
  16. Jan 19, 2005
Loading