Skip to content
  1. Dec 12, 2009
  2. Dec 11, 2009
  3. Dec 10, 2009
  4. Nov 12, 2009
  5. Nov 11, 2009
  6. Nov 09, 2009
  7. Oct 30, 2009
  8. Oct 28, 2009
  9. Sep 23, 2009
  10. Sep 18, 2009
  11. Sep 02, 2009
  12. Aug 26, 2009
  13. Aug 21, 2009
  14. Aug 19, 2009
  15. Aug 15, 2009
  16. Aug 14, 2009
  17. Aug 13, 2009
  18. Aug 11, 2009
  19. Aug 07, 2009
    • Evan Cheng's avatar
      It turns out most of the thumb2 instructions are not allowed to touch SP. The... · b972e563
      Evan Cheng authored
      It turns out most of the thumb2 instructions are not allowed to touch SP. The semantics of such instructions are unpredictable. We have just been lucky that tests have been passing.
      
      This patch takes pain to ensure all the PEI lowering code does the right thing when lowering frame indices, insert code to manipulate stack pointers, etc. It's also custom lowering dynamic stack alloc into pseudo instructions so we can insert the right instructions at scheduling time.
      
      This fixes PR4659 and PR4682.
      
      llvm-svn: 78361
      b972e563
  20. Aug 06, 2009
  21. Aug 05, 2009
    • Anton Korobeynikov's avatar
      Missed pieces for ARM HardFP ABI. · 22ef7515
      Anton Korobeynikov authored
      Patch by Sandeep Patel!
      
      llvm-svn: 78225
      22ef7515
    • Dan Gohman's avatar
      Major calling convention code refactoring. · f9bbcd1a
      Dan Gohman authored
      Instead of awkwardly encoding calling-convention information with ISD::CALL,
      ISD::FORMAL_ARGUMENTS, ISD::RET, and ISD::ARG_FLAGS nodes, TargetLowering
      provides three virtual functions for targets to override:
      LowerFormalArguments, LowerCall, and LowerRet, which replace the custom
      lowering done on the special nodes. They provide the same information, but
      in a more immediately usable format.
      
      This also reworks much of the target-independent tail call logic. The
      decision of whether or not to perform a tail call is now cleanly split
      between target-independent portions, and the target dependent portion
      in IsEligibleForTailCallOptimization.
      
      This also synchronizes all in-tree targets, to help enable future
      refactoring and feature work.
      
      llvm-svn: 78142
      f9bbcd1a
  22. Aug 04, 2009
  23. Jul 29, 2009
  24. Jul 28, 2009
  25. Jul 26, 2009
  26. Jul 25, 2009
    • Evan Cheng's avatar
      Change Thumb2 jumptable codegen to one that uses two level jumps: · f3a1fce8
      Evan Cheng authored
      Before:
            adr r12, #LJTI3_0_0
            ldr pc, [r12, +r0, lsl #2]
      LJTI3_0_0:
            .long    LBB3_24
            .long    LBB3_30
            .long    LBB3_31
            .long    LBB3_32
      
      After:
            adr r12, #LJTI3_0_0
            add pc, r12, +r0, lsl #2
      LJTI3_0_0:
            b.w    LBB3_24
            b.w    LBB3_30
            b.w    LBB3_31
            b.w    LBB3_32
      
      This has several advantages.
      1. This will make it easier to optimize this to a TBB / TBH instruction +
         (smaller) table.
      2. This eliminate the need for ugly asm printer hack to force the address
         into thumb addresses (bit 0 is one).
      3. Same codegen for pic and non-pic.
      4. This eliminate the need to align the table so constantpool island pass
         won't have to over-estimate the size.
      
      Based on my calculation, the later is probably slightly faster as well since
      ldr pc with shifter address is very slow. That is, it should be a win as long
      as the HW implementation can do a reasonable job of branch predict the second
      branch.
      
      llvm-svn: 77024
      f3a1fce8
  27. Jul 13, 2009
  28. Jul 01, 2009
  29. Jun 29, 2009
Loading