Skip to content
  1. Sep 30, 2010
  2. Sep 27, 2010
  3. Sep 05, 2010
    • Chris Lattner's avatar
      implement rdar://6653118 - fastisel should fold loads where possible. · eeba0c73
      Chris Lattner authored
      Since mem2reg isn't run at -O0, we get a ton of reloads from the stack,
      for example, before, this code:
      
      int foo(int x, int y, int z) {
        return x+y+z;
      }
      
      used to compile into:
      
      _foo:                                   ## @foo
      	subq	$12, %rsp
      	movl	%edi, 8(%rsp)
      	movl	%esi, 4(%rsp)
      	movl	%edx, (%rsp)
      	movl	8(%rsp), %edx
      	movl	4(%rsp), %esi
      	addl	%edx, %esi
      	movl	(%rsp), %edx
      	addl	%esi, %edx
      	movl	%edx, %eax
      	addq	$12, %rsp
      	ret
      
      Now we produce:
      
      _foo:                                   ## @foo
      	subq	$12, %rsp
      	movl	%edi, 8(%rsp)
      	movl	%esi, 4(%rsp)
      	movl	%edx, (%rsp)
      	movl	8(%rsp), %edx
      	addl	4(%rsp), %edx    ## Folded load
      	addl	(%rsp), %edx     ## Folded load
      	movl	%edx, %eax
      	addq	$12, %rsp
      	ret
      
      Fewer instructions and less register use = faster compiles.
      
      llvm-svn: 113102
      eeba0c73
  4. Aug 21, 2010
  5. Jul 22, 2010
  6. Jul 17, 2010
  7. Jul 15, 2010
  8. Jul 14, 2010
  9. Jul 12, 2010
  10. Jul 11, 2010
  11. Jul 10, 2010
  12. Jul 09, 2010
    • Bob Wilson's avatar
      --- Reverse-merging r107947 into '.': · 6586e9b2
      Bob Wilson authored
      U    utils/TableGen/FastISelEmitter.cpp
      --- Reverse-merging r107943 into '.':
      U    test/CodeGen/X86/fast-isel.ll
      U    test/CodeGen/X86/fast-isel-loads.ll
      U    include/llvm/Target/TargetLowering.h
      U    include/llvm/Support/PassNameParser.h
      U    include/llvm/CodeGen/FunctionLoweringInfo.h
      U    include/llvm/CodeGen/CallingConvLower.h
      U    include/llvm/CodeGen/FastISel.h
      U    include/llvm/CodeGen/SelectionDAGISel.h
      U    lib/CodeGen/LLVMTargetMachine.cpp
      U    lib/CodeGen/CallingConvLower.cpp
      U    lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
      U    lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
      U    lib/CodeGen/SelectionDAG/FastISel.cpp
      U    lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
      U    lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
      U    lib/CodeGen/SelectionDAG/InstrEmitter.cpp
      U    lib/CodeGen/SelectionDAG/TargetLowering.cpp
      U    lib/Target/XCore/XCoreISelLowering.cpp
      U    lib/Target/XCore/XCoreISelLowering.h
      U    lib/Target/X86/X86ISelLowering.cpp
      U    lib/Target/X86/X86FastISel.cpp
      U    lib/Target/X86/X86ISelLowering.h
      
      llvm-svn: 107987
      6586e9b2
    • Dan Gohman's avatar
      Re-apply bottom-up fast-isel, with fixes. Be very careful to avoid emitting · 0b5aa1cd
      Dan Gohman authored
      a DBG_VALUE after a terminator, or emitting any instructions before an EH_LABEL.
      
      llvm-svn: 107943
      0b5aa1cd
    • Chris Lattner's avatar
      Change LEA to have 5 operands for its memory operand, just · f469307c
      Chris Lattner authored
      like all other instructions, even though a segment is not
      allowed.  This resolves a bunch of gross hacks in the 
      encoder and makes LEA more consistent with the rest of the
      instruction set.
      
      No functionality change.
      
      llvm-svn: 107934
      f469307c
  13. Jul 08, 2010
  14. Jul 07, 2010
  15. Jul 01, 2010
  16. Jun 26, 2010
  17. Jun 19, 2010
  18. Jun 18, 2010
  19. Jun 15, 2010
  20. Jun 01, 2010
  21. May 27, 2010
  22. May 24, 2010
  23. May 21, 2010
    • Evan Cheng's avatar
      - Change MachineInstr::findRegisterDefOperandIdx so it can also look for defs · 3858451e
      Evan Cheng authored
      that are aliases of the specified register.
      - Rename modifiesRegister to definesRegister since it's looking a def of the
      specific register or one of its super-registers. It's not looking for def of a
      sub-register or alias that could change the specified register.
      - Added modifiesRegister to look for defs of aliases.
      
      llvm-svn: 104377
      3858451e
  24. May 16, 2010
  25. May 12, 2010
  26. May 06, 2010
  27. Apr 22, 2010
Loading