Skip to content
  1. Mar 12, 2008
    • Chris Lattner's avatar
      Reimplement the parameter attributes support, phase #1. hilights: · 8a923e7c
      Chris Lattner authored
      1. There is now a "PAListPtr" class, which is a smart pointer around
         the underlying uniqued parameter attribute list object, and manages
         its refcount.  It is now impossible to mess up the refcount.
      2. PAListPtr is now the main interface to the underlying object, and
         the underlying object is now completely opaque.
      3. Implementation details like SmallVector and FoldingSet are now no
         longer part of the interface.
      4. You can create a PAListPtr with an arbitrary sequence of
         ParamAttrsWithIndex's, no need to make a SmallVector of a specific 
         size (you can just use an array or scalar or vector if you wish).
      5. All the client code that had to check for a null pointer before
         dereferencing the pointer is simplified to just access the 
         PAListPtr directly.
      6. The interfaces for adding attrs to a list and removing them is a
         bit simpler.
      
      Phase #2 will rename some stuff (e.g. PAListPtr) and do other less 
      invasive changes.
      
      llvm-svn: 48289
      8a923e7c
  2. Mar 11, 2008
  3. Mar 10, 2008
  4. Mar 09, 2008
  5. Mar 08, 2008
  6. Mar 07, 2008
  7. Mar 05, 2008
  8. Mar 04, 2008
  9. Mar 03, 2008
  10. Mar 01, 2008
  11. Feb 28, 2008
  12. Feb 27, 2008
    • Chris Lattner's avatar
      Make X86TargetLowering::LowerSINT_TO_FP return without creating a dead · 83263b8c
      Chris Lattner authored
      stack slot and store if the  SINT_TO_FP is actually legal.  This allows
      us to compile:
      
      double a(double b) {return (unsigned)b;}
      
      to:
      
      _a:
      	cvttsd2siq	%xmm0, %rax
      	movl	%eax, %eax
      	cvtsi2sdq	%rax, %xmm0
      	ret
      
      instead of:
      
      _a:
      	subq	$8, %rsp
      	cvttsd2siq	%xmm0, %rax
      	movl	%eax, %eax
      	cvtsi2sdq	%rax, %xmm0
      	addq	$8, %rsp
      	ret
      
      crazy.
      
      llvm-svn: 47660
      83263b8c
  13. Feb 26, 2008
  14. Feb 25, 2008
  15. Feb 22, 2008
  16. Feb 20, 2008
  17. Feb 19, 2008
    • Evan Cheng's avatar
      - When DAG combiner is folding a bit convert into a BUILD_VECTOR, it should... · 6200c225
      Evan Cheng authored
      - When DAG combiner is folding a bit convert into a BUILD_VECTOR, it should check if it's essentially a SCALAR_TO_VECTOR. Avoid turning (v8i16) <10, u, u, u> to <10, 0, u, u, u, u, u, u>. Instead, simply convert it to a SCALAR_TO_VECTOR of the proper type.
      - X86 now normalize SCALAR_TO_VECTOR to (BIT_CONVERT (v4i32 SCALAR_TO_VECTOR)). Get rid of X86ISD::S2VEC.
      
      llvm-svn: 47290
      6200c225
  18. Feb 18, 2008
  19. Feb 16, 2008
  20. Feb 14, 2008
    • Duncan Sands's avatar
      In TargetLowering::LowerCallTo, don't assert that · 4c95dbd6
      Duncan Sands authored
      the return value is zero-extended if it isn't
      sign-extended.  It may also be any-extended.
      Also, if a floating point value was returned
      in a larger floating point type, pass 1 as the
      second operand to FP_ROUND, which tells it
      that all the precision is in the original type.
      I think this is right but I could be wrong.
      Finally, when doing libcalls, set isZExt on
      a parameter if it is "unsigned".  Currently
      isSExt is set when signed, and nothing is
      set otherwise.  This should be right for all
      calls to standard library routines.
      
      llvm-svn: 47122
      4c95dbd6
    • Nate Begeman's avatar
      Change how FP immediates are handled. · 53e1b3f9
      Nate Begeman authored
      1) ConstantFP is now expand by default
      2) ConstantFP is not turned into TargetConstantFP during Legalize
         if it is legal.
      
      This allows ConstantFP to be handled like Constant, allowing for 
      targets that can encode FP immediates as MachineOperands.
      
      As a bonus, fix up Itanium FP constants, which now correctly match,
      and match more constants!  Hooray.
      
      llvm-svn: 47121
      53e1b3f9
    • Dan Gohman's avatar
      Assigning an APInt to 0 with plain assignment gives it a one-bit · 9ca025f1
      Dan Gohman authored
      size. Initialize these APInts to properly-sized zero values.
      
      llvm-svn: 47099
      9ca025f1
  21. Feb 13, 2008
Loading