Skip to content
  1. Jul 22, 2009
  2. Jul 21, 2009
  3. Jul 17, 2009
  4. Jul 14, 2009
  5. Jul 11, 2009
  6. Jul 10, 2009
  7. Jul 09, 2009
  8. Jul 08, 2009
  9. Jun 30, 2009
  10. Jun 29, 2009
    • David Goodwin's avatar
      Rename ARMcmpNZ to ARMcmpZ and use it to represent comparisons that set only... · dbf11ba8
      David Goodwin authored
      Rename ARMcmpNZ to ARMcmpZ and use it to represent comparisons that set only the Z flag (i.e. eq and ne). Make ARMcmpZ commutative.
      
      llvm-svn: 74423
      dbf11ba8
    • 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
  11. Jun 27, 2009
  12. Jun 26, 2009
  13. Jun 25, 2009
  14. Jun 23, 2009
  15. Jun 19, 2009
  16. Jun 12, 2009
  17. May 13, 2009
  18. Apr 07, 2009
    • Jim Grosbach's avatar
      PR2985 / <rdar://problem/6584986> · fde2110a
      Jim Grosbach authored
      When compiling in Thumb mode, only the low (R0-R7) registers are available
      for most instructions. Breaking the low registers into a new register class
      handles this. Uses of R12, SP, etc, are handled explicitly where needed
      with copies inserted to move results into low registers where the rest of
      the code generator can deal with them.
      
      llvm-svn: 68545
      fde2110a
  19. Mar 28, 2009
  20. Dec 03, 2008
  21. Sep 12, 2008
  22. Aug 29, 2008
  23. Jan 17, 2008
    • Chris Lattner's avatar
      This commit changes: · 1ea55cf8
      Chris Lattner authored
      1. Legalize now always promotes truncstore of i1 to i8. 
      2. Remove patterns and gunk related to truncstore i1 from targets.
      3. Rename the StoreXAction stuff to TruncStoreAction in TLI.
      4. Make the TLI TruncStoreAction table a 2d table to handle from/to conversions.
      5. Mark a wide variety of invalid truncstores as such in various targets, e.g.
         X86 currently doesn't support truncstore of any of its integer types.
      6. Add legalize support for truncstores with invalid value input types.
      7. Add a dag combine transform to turn store(truncate) into truncstore when
         safe.
      
      The later allows us to compile CodeGen/X86/storetrunc-fp.ll to:
      
      _foo:
      	fldt	20(%esp)
      	fldt	4(%esp)
      	faddp	%st(1)
      	movl	36(%esp), %eax
      	fstps	(%eax)
      	ret
      
      instead of:
      
      _foo:
      	subl	$4, %esp
      	fldt	24(%esp)
      	fldt	8(%esp)
      	faddp	%st(1)
      	fstps	(%esp)
      	movl	40(%esp), %eax
      	movss	(%esp), %xmm0
      	movss	%xmm0, (%eax)
      	addl	$4, %esp
      	ret
      
      llvm-svn: 46140
      1ea55cf8
  24. Jan 10, 2008
  25. Jan 08, 2008
  26. Jan 07, 2008
  27. Jan 06, 2008
  28. Dec 29, 2007
  29. Nov 13, 2007
    • Bill Wendling's avatar
      Unify CALLSEQ_{START,END}. They take 4 parameters: the chain, two stack · f359fed9
      Bill Wendling authored
      adjustment fields, and an optional flag. If there is a "dynamic_stackalloc" in
      the code, make sure that it's bracketed by CALLSEQ_START and CALLSEQ_END. If
      not, then there is the potential for the stack to be changed while the stack's
      being used by another instruction (like a call).
      
      This can only result in tears...
      
      llvm-svn: 44037
      f359fed9
  30. Sep 11, 2007
Loading