Skip to content
  1. May 08, 2006
    • Evan Cheng's avatar
      Fixing truncate. Previously we were emitting truncate from r16 to r8 as · 9733bde7
      Evan Cheng authored
      movw. That is we promote the destination operand to r16. So
              %CH = TRUNC_R16_R8 %BP
      is emitted as
              movw %bp, %cx.
      
      This is incorrect. If %cl is live, it would be clobbered.
      Ideally we want to do the opposite, that is emitted it as
              movb ??, %ch
      But this is not possible since %bp does not have a r8 sub-register.
      
      We are now defining a new register class R16_ which is a subclass of R16
      containing only those 16-bit registers that have r8 sub-registers (i.e.
      AX - DX). We isel the truncate to two instructions, a MOV16to16_ to copy the
      value to the R16_ class, followed by a TRUNC_R16_R8.
      
      Due to bug 770, the register colaescer is not going to coalesce between R16 and
      R16_. That will be fixed later so we can eliminate the MOV16to16_. Right now, it
      can only be eliminated if we are lucky that source and destination registers are
      the same.
      
      llvm-svn: 28164
      9733bde7
  2. May 05, 2006
  3. Apr 27, 2006
  4. Apr 23, 2006
  5. Apr 22, 2006
  6. Apr 03, 2006
  7. Mar 25, 2006
  8. Mar 23, 2006
  9. Mar 18, 2006
  10. Mar 17, 2006
  11. Mar 08, 2006
  12. Mar 07, 2006
  13. Mar 03, 2006
  14. Feb 25, 2006
  15. Feb 23, 2006
    • Evan Cheng's avatar
      - Clean up the lowering and selection code of ConstantPool, GlobalAddress, · e0ed6ec1
      Evan Cheng authored
        and ExternalSymbol.
      - Use C++ code (rather than tblgen'd selection code) to match the above
        mentioned leaf nodes. Do not mutate and nodes and do not record the
        selection in CodeGenMap. These nodes should be safe to duplicate. This is
        a performance win.
      
      llvm-svn: 26335
      e0ed6ec1
    • Evan Cheng's avatar
      PIC related bug fixes. · 1f342c28
      Evan Cheng authored
      1. Various asm printer bug.
      2. Lowering bug. Now TargetGlobalAddress is wrapped in X86ISD::TGAWrapper.
      
      llvm-svn: 26324
      1f342c28
  16. Feb 22, 2006
  17. Feb 21, 2006
  18. Feb 20, 2006
  19. Feb 18, 2006
  20. Feb 17, 2006
  21. Feb 16, 2006
  22. Feb 15, 2006
  23. Feb 07, 2006
  24. Feb 04, 2006
  25. Feb 02, 2006
  26. Feb 01, 2006
    • Evan Cheng's avatar
      - Use xor to clear integer registers (set R, 0). · 9e350cd6
      Evan Cheng authored
      - Added a new format for instructions where the source register is implied
        and it is same as the destination register. Used for pseudo instructions
        that clear the destination register.
      
      llvm-svn: 25872
      9e350cd6
Loading