Skip to content
  1. Oct 20, 2008
    • Duncan Sands's avatar
      Have X86 custom lowering for LegalizeTypes use · 1d20ab57
      Duncan Sands authored
      LowerOperation if it doesn't know what else to do.
      This methods should probably be factorized some,
      but this is good enough for the moment.  Have
      LowerATOMIC_BINARY_64 use EXTRACT_ELEMENT rather
      than assuming the operand is a BUILD_PAIR (if it
      is then getNode will automagically simplify the
      EXTRACT_ELEMENT).  This way LowerATOMIC_BINARY_64
      usable from LegalizeTypes.
      
      llvm-svn: 57831
      1d20ab57
  2. 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
  3. Oct 17, 2008
  4. Oct 16, 2008
  5. Oct 15, 2008
  6. Oct 14, 2008
  7. Oct 13, 2008
    • Dan Gohman's avatar
      When doing the very-late shift-and address-mode optimization, · 56b68851
      Dan Gohman authored
      create a new DAG node to represent the new shift to keep the
      DAG consistent, even though it'll almost always be folded into
      the address.
      
      If a user of the resulting address has multiple uses, the
      nodes may get revisited by a later MatchAddress call, in which
      case DAG inconsistencies do matter.
      
      This fixes PR2849.
      
      llvm-svn: 57465
      56b68851
  8. Oct 12, 2008
  9. Oct 11, 2008
Loading