Skip to content
  1. Nov 07, 2009
    • Evan Cheng's avatar
      - Add pseudo instructions tLDRpci_pic and t2LDRpci_pic which does a pc-relative · 207b2466
      Evan Cheng authored
        load of a GV from constantpool and then add pc. It allows the code sequence to
        be rematerializable so it would be hoisted by machine licm.
      - Add a late pass to break these pseudo instructions into a number of real
        instructions. Also move the code in Thumb2 IT pass that breaks up t2MOVi32imm
        to this pass. This is done before post regalloc scheduling to allow the
        scheduler to proper schedule these instructions. It also allow them to be
        if-converted and shrunk by later passes.
      
      llvm-svn: 86304
      207b2466
  2. Nov 02, 2009
  3. Aug 04, 2009
  4. Aug 02, 2009
  5. Jul 28, 2009
    • Evan Cheng's avatar
      - More refactoring. This gets rid of all of the getOpcode calls. · 780748d5
      Evan Cheng authored
      - This change also makes it possible to switch between ARM / Thumb on a
        per-function basis.
      - Fixed thumb2 routine which expand reg + arbitrary immediate. It was using
        using ARM so_imm logic.
      - Use movw and movt to do reg + imm when profitable.
      - Other code clean ups and minor optimizations.
      
      llvm-svn: 77300
      780748d5
  6. Jul 24, 2009
  7. Jul 23, 2009
  8. Jul 16, 2009
  9. Jul 08, 2009
  10. Jul 03, 2009
  11. Jul 02, 2009
  12. Jun 30, 2009
  13. Jun 29, 2009
    • Evan Cheng's avatar
      Implement Thumb2 ldr. · b23b50d5
      Evan Cheng authored
      After much back and forth, I decided to deviate from ARM design and split LDR into 4 instructions (r + imm12, r + imm8, r + r << imm12, constantpool). The advantage of this is 1) it follows the latest ARM technical manual, and 2) makes it easier to reduce the width of the instruction later. The down side is this creates more inconsistency between the two sub-targets. We should split ARM LDR instruction in a similar fashion later. I've added a README entry for this.
      
      llvm-svn: 74420
      b23b50d5
  14. Jun 27, 2009
  15. Jun 26, 2009
  16. Jun 23, 2009
  17. Feb 09, 2009
  18. Feb 06, 2009
  19. Jan 20, 2009
  20. Dec 03, 2008
  21. Nov 18, 2008
  22. Nov 14, 2008
  23. Nov 13, 2008
  24. Nov 12, 2008
  25. Nov 11, 2008
  26. Nov 07, 2008
  27. Nov 06, 2008
  28. Nov 05, 2008
  29. Nov 03, 2008
  30. Oct 16, 2008
Loading