Skip to content
  1. Oct 29, 2010
  2. Jul 07, 2010
  3. May 01, 2010
  4. Apr 17, 2010
  5. Feb 06, 2010
  6. Feb 03, 2010
  7. Feb 02, 2010
  8. Jan 27, 2010
    • Evan Cheng's avatar
      Eliminate target hook IsEligibleForTailCallOptimization. · 67a69dd2
      Evan Cheng authored
      Target independent isel should always pass along the "tail call" property. Change
      target hook LowerCall's parameter "isTailCall" into a refernce. If the target
      decides it's impossible to honor the tail call request, it should set isTailCall
      to false to make target independent isel happy.
      
      llvm-svn: 94626
      67a69dd2
  9. Oct 28, 2009
  10. Oct 27, 2009
  11. Sep 18, 2009
  12. Sep 02, 2009
  13. Aug 13, 2009
  14. Aug 11, 2009
  15. Aug 10, 2009
  16. Aug 05, 2009
    • 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
  17. Jul 24, 2009
  18. Jul 03, 2009
    • Tilmann Scheller's avatar
      Small cleanups in the PowerPC backend. · 98bdaaa3
      Tilmann Scheller authored
      Small refactoring in LowerFORMAL_ARGUMENTS().
      Correct minor formatting issues.
      Remove size argument of CreateCopyOfByValArgument().
      Remove dead argument from CalculateStackSlotSize().
      Remove unused variable ReturnAddrIndex from various targets.
      
      llvm-svn: 74763
      98bdaaa3
  19. Jul 01, 2009
  20. May 27, 2009
  21. Feb 07, 2009
  22. Jan 01, 2009
    • Duncan Sands's avatar
      Fix PR3274: when promoting the condition of a BRCOND node, · 8feb694e
      Duncan Sands authored
      promote from i1 all the way up to the canonical SetCC type.
      In order to discover an appropriate type to use, pass
      MVT::Other to getSetCCResultType.  In order to be able to
      do this, change getSetCCResultType to take a type as an
      argument, not a value (this is also more logical).
      
      llvm-svn: 61542
      8feb694e
  23. Oct 18, 2008
    • Dan Gohman's avatar
      Teach DAGCombine to fold constant offsets into GlobalAddress nodes, · 2fe6bee5
      Dan Gohman authored
      and add a TargetLowering hook for it to use to determine when this
      is legal (i.e. not in PIC mode, etc.)
      
      This allows instruction selection to emit folded constant offsets
      in more cases, such as the included testcase, eliminating the need
      for explicit arithmetic instructions.
      
      This eliminates the need for the C++ code in X86ISelDAGToDAG.cpp
      that attempted to achieve the same effect, but wasn't as effective.
      
      Also, fix handling of offsets in GlobalAddressSDNodes in several
      places, including changing GlobalAddressSDNode's offset from
      int to int64_t.
      
      The Mips, Alpha, Sparc, and CellSPU targets appear to be
      unaware of GlobalAddress offsets currently, so set the hook to
      false on those targets.
      
      llvm-svn: 57748
      2fe6bee5
  24. Sep 23, 2008
  25. Sep 13, 2008
    • Dan Gohman's avatar
      Define CallSDNode, an SDNode subclass for use with ISD::CALL. · d3fe174c
      Dan Gohman authored
      Currently it just holds the calling convention and flags
      for isVarArgs and isTailCall.
      
      And it has several utility methods, which eliminate magic
      5+2*i and similar index computations in several places.
      
      CallSDNodes are not CSE'd. Teach UpdateNodeOperands to handle
      nodes that are not CSE'd gracefully.
      
      llvm-svn: 56183
      d3fe174c
  26. Aug 13, 2008
    • Bruno Cardoso Lopes's avatar
      Removed SELECT_CC custom lowering. This is not needed anymore, the SELECT node · 92c64ae2
      Bruno Cardoso Lopes authored
      is lowered properly and covers everything LowerSELECT_CC did.
      Added method printUnsignedImm in AsmPrinter to print uimm16 operands. This
      avoid the ugly instruction by instruction checking in printOperand.
      Added a swap instruction present in the allegrex core.
      Added two conditional instructions present in the allegrex core : MOVZ and MOVN.
      They both allow a more efficient SELECT operation for integers.
      Also added SELECT patterns to optimize MOVZ and MOVN usage.
      The brcond and setcc patterns were cleaned: redundant and suboptimal patterns
      were
      removed. The suboptimals were replaced by more efficient ones.
      Fixed some instructions that were using immZExt16 instead of immSExt16.
      
      llvm-svn: 54724
      92c64ae2
  27. Aug 07, 2008
    • Bruno Cardoso Lopes's avatar
      Added Mips support for DYNAMIC_STACKALLOC · 02ff450f
      Bruno Cardoso Lopes authored
      Fixed bug in adjustMipsStackFrame, which was breaking
      while trying to access a dead stack object index. Also added
      one more alignment before fixing the callee saved registers
      stack offset adjustment.
      
      llvm-svn: 54485
      02ff450f
  28. Aug 04, 2008
  29. Aug 02, 2008
  30. Jul 31, 2008
  31. Jul 29, 2008
  32. Jul 28, 2008
  33. Jul 27, 2008
  34. Jul 23, 2008
  35. Jul 21, 2008
  36. Jul 09, 2008
Loading