Skip to content
  1. Aug 19, 2013
    • Paul Redmond's avatar
      Improve the widening of integral binary vector operations · 62f840f4
      Paul Redmond authored
      - split WidenVecRes_Binary into WidenVecRes_Binary and WidenVecRes_BinaryCanTrap
        - WidenVecRes_BinaryCanTrap preserves the original behaviour for operations
          that can trap
        - WidenVecRes_Binary simply widens the operation and improves codegen for
          3-element vectors by allowing widening and promotion on x86 (matches the
          behaviour of unary and ternary operation widening)
      - use WidenVecRes_Binary for operations on integers.
      
      Reviewed by: nrotem
      
      llvm-svn: 188699
      62f840f4
    • Hal Finkel's avatar
      Add ExpandFloatOp_FCOPYSIGN to handle ppcf128-related expansions · e4eb7818
      Hal Finkel authored
      We had previously been asserting when faced with a FCOPYSIGN f64, ppcf128 node
      because there was no way to expand the FCOPYSIGN node. Because ppcf128 is the
      sum of two doubles, and the first double must have the larger magnitude, we
      can take the sign from the first double. As a result, in addition to fixing the
      crash, this is also an optimization.
      
      llvm-svn: 188655
      e4eb7818
    • David Blaikie's avatar
      DebugInfo: don't emit zero-length names for parameters · 715528be
      David Blaikie authored
      We check this in many/all other cases, just missed this one it seems.
      Perhaps it'd be worth unifying this so we never emit zero-length
      DW_AT_names.
      
      llvm-svn: 188649
      715528be
  2. Aug 17, 2013
    • Jim Grosbach's avatar
      ARM: Fix more fast-isel verifier failures. · 06c2a681
      Jim Grosbach authored
      Teach the generic instruction selection helper functions to constrain
      the register classes of their input operands. For non-physical register
      references, the generic code needs to be careful not to mess that up
      when replacing references to result registers. As the comment indicates
      for MachineRegisterInfo::replaceRegWith(), it's important to call
      constrainRegClass() first.
      
      rdar://12594152
      
      llvm-svn: 188593
      06c2a681
  3. Aug 16, 2013
  4. Aug 15, 2013
  5. Aug 14, 2013
  6. Aug 13, 2013
  7. Aug 12, 2013
  8. Aug 09, 2013
    • Michael Gottesman's avatar
      [stackprotector] Simplify SP Pass so that we emit different fail basic blocks... · 8afcf3a4
      Michael Gottesman authored
      [stackprotector] Simplify SP Pass so that we emit different fail basic blocks for each fail condition.
      
      This patch decouples the stack protector pass so that we can support stack
      protector implementations that do not use the IR level generated stack protector
      fail basic block.
      
      No codesize increase is caused by this change since the MI level tail merge pass
      properly merges together the fail condition blocks (see the updated test).
      
      llvm-svn: 188105
      8afcf3a4
    • Benjamin Kramer's avatar
      Make helper static and fix formatting. · df03449a
      Benjamin Kramer authored
      llvm-svn: 188074
      df03449a
    • Craig Topper's avatar
      Change asserts at the top of getVectorShuffle to check that LHS and RHS have... · 0ecb26a7
      Craig Topper authored
      Change asserts at the top of getVectorShuffle to check that LHS and RHS have the same type as the result.
      
      Previously the asserts were only checking that RHS and LHS were the same type and had the same element type as the result. All downstream code for ISD::VECTOR_SHUFFLE requires the types to be the same.
      
      Also removed one unnecessary check of matched element counts that was present in the code.
      
      llvm-svn: 188051
      0ecb26a7
    • Hal Finkel's avatar
      Set ISD::FROUND to Expand by default for all types · 8ec43c6a
      Hal Finkel authored
      For most libm ISD nodes, TargetLoweringBase::initActions sets the default
      scalar-type action to Expand, and leaves the vector-type action default as
      Legal. This is not appropriate for the new ISD::FROUND node (which no backend
      but PowerPC handles explicitly).
      
      Fixes PR16842.
      
      llvm-svn: 188048
      8ec43c6a
Loading