Skip to content
  1. Apr 01, 2008
  2. Mar 25, 2008
  3. Mar 11, 2008
  4. Feb 29, 2008
  5. Feb 13, 2008
  6. Jan 14, 2008
  7. Jan 07, 2008
  8. Jan 05, 2008
  9. Jan 04, 2008
    • Bill Wendling's avatar
      Move option to enable machine LICM into LLVMTargetMachine.cpp. · 66470d02
      Bill Wendling authored
      llvm-svn: 45572
      66470d02
    • Chris Lattner's avatar
      Add a really quick hack at a machine code sinking pass, enabled with --enable-sinking. · f3edc09f
      Chris Lattner authored
      It is missing validity checks, so it is known broken.  However, it is powerful enough
      to compile this contrived code:
      
      void test1(int C, double A, double B, double *P) {
        double Tmp = A*A+B*B;
        *P = C ? Tmp : A;
      }
      
      into:
      
      _test1:
      	movsd	8(%esp), %xmm0
      	cmpl	$0, 4(%esp)
      	je	LBB1_2	# entry
      LBB1_1:	# entry
      	movsd	16(%esp), %xmm1
      	mulsd	%xmm1, %xmm1
      	mulsd	%xmm0, %xmm0
      	addsd	%xmm1, %xmm0
      LBB1_2:	# entry
      	movl	24(%esp), %eax
      	movsd	%xmm0, (%eax)
      	ret
      
      instead of:
      
      _test1:
      	movsd	16(%esp), %xmm0
      	mulsd	%xmm0, %xmm0
      	movsd	8(%esp), %xmm1
      	movapd	%xmm1, %xmm2
      	mulsd	%xmm2, %xmm2
      	addsd	%xmm0, %xmm2
      	cmpl	$0, 4(%esp)
      	je	LBB1_2	# entry
      LBB1_1:	# entry
      	movapd	%xmm2, %xmm1
      LBB1_2:	# entry
      	movl	24(%esp), %eax
      	movsd	%xmm1, (%eax)
      	ret
      
      woo.
      
      llvm-svn: 45570
      f3edc09f
  10. Dec 29, 2007
  11. Dec 07, 2007
    • Bill Wendling's avatar
      Initial commit of the machine code LICM pass. It successfully hoists this: · fb706bc5
      Bill Wendling authored
      _foo:
              li r2, 0
      LBB1_1: ; bb
              li r5, 0
              stw r5, 0(r3)
              addi r2, r2, 1
              addi r3, r3, 4
              cmplw cr0, r2, r4
              bne cr0, LBB1_1 ; bb
      LBB1_2: ; return
              blr 
      
      to:
      
      _foo:
              li r2, 0
              li r5, 0
      LBB1_1: ; bb
              stw r5, 0(r3)
              addi r2, r2, 1
              addi r3, r3, 4
              cmplw cr0, r2, r4
              bne cr0, LBB1_1 ; bb
      LBB1_2: ; return
              blr
      
      ZOMG!! :-)
      
      Moar to come...
      
      llvm-svn: 44687
      fb706bc5
  12. Jul 27, 2007
  13. Jul 26, 2007
  14. Jul 20, 2007
  15. Jul 13, 2007
  16. Jul 11, 2007
  17. Jun 19, 2007
  18. May 22, 2007
  19. Mar 31, 2007
  20. Mar 06, 2007
  21. Feb 22, 2007
  22. Feb 08, 2007
  23. Dec 07, 2006
  24. Nov 16, 2006
  25. Nov 07, 2006
  26. Oct 24, 2006
  27. Oct 13, 2006
  28. Sep 04, 2006
Loading