Skip to content
  1. May 06, 2011
  2. Apr 15, 2011
  3. Mar 31, 2011
  4. Mar 04, 2011
  5. Jan 18, 2011
  6. Dec 07, 2010
  7. Oct 29, 2010
  8. Jul 07, 2010
  9. May 01, 2010
  10. Apr 17, 2010
  11. Feb 06, 2010
  12. Feb 03, 2010
  13. Feb 02, 2010
  14. 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
  15. Oct 28, 2009
  16. Oct 27, 2009
  17. Sep 18, 2009
  18. Sep 02, 2009
  19. Aug 13, 2009
  20. Aug 11, 2009
  21. Aug 10, 2009
  22. 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
  23. Jul 24, 2009
  24. 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
  25. Jul 01, 2009
  26. May 27, 2009
  27. Feb 07, 2009
  28. 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
  29. 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
  30. Sep 23, 2008
  31. 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
  32. 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
Loading