Skip to content
  1. Jan 21, 2008
  2. Jan 20, 2008
  3. Jan 19, 2008
  4. Jan 18, 2008
  5. Jan 17, 2008
    • Scott Michel's avatar
      Forward progress: crtbegin.c now compiles successfully! · e4d3e3c0
      Scott Michel authored
      Fixed CellSPU's A-form (local store) address mode, so that all globals,
      externals, constant pool and jump table symbols are now wrapped within
      a SPUISD::AFormAddr pseudo-instruction. This now identifies all local
      store memory addresses, although it requires a bit of legerdemain during
      instruction selection to properly select loads to and stores from local
      store, properly generating "LQA" instructions.
      
      Also added mul_ops.ll test harness for exercising integer multiplication.
      
      llvm-svn: 46142
      e4d3e3c0
    • Chris Lattner's avatar
      This commit changes: · 1ea55cf8
      Chris Lattner authored
      1. Legalize now always promotes truncstore of i1 to i8. 
      2. Remove patterns and gunk related to truncstore i1 from targets.
      3. Rename the StoreXAction stuff to TruncStoreAction in TLI.
      4. Make the TLI TruncStoreAction table a 2d table to handle from/to conversions.
      5. Mark a wide variety of invalid truncstores as such in various targets, e.g.
         X86 currently doesn't support truncstore of any of its integer types.
      6. Add legalize support for truncstores with invalid value input types.
      7. Add a dag combine transform to turn store(truncate) into truncstore when
         safe.
      
      The later allows us to compile CodeGen/X86/storetrunc-fp.ll to:
      
      _foo:
      	fldt	20(%esp)
      	fldt	4(%esp)
      	faddp	%st(1)
      	movl	36(%esp), %eax
      	fstps	(%eax)
      	ret
      
      instead of:
      
      _foo:
      	subl	$4, %esp
      	fldt	24(%esp)
      	fldt	8(%esp)
      	faddp	%st(1)
      	fstps	(%esp)
      	movl	40(%esp), %eax
      	movss	(%esp), %xmm0
      	movss	%xmm0, (%eax)
      	addl	$4, %esp
      	ret
      
      llvm-svn: 46140
      1ea55cf8
    • Chris Lattner's avatar
      new testcase. · 9f7fed1c
      Chris Lattner authored
      llvm-svn: 46139
      9f7fed1c
    • Ted Kremenek's avatar
      Implemented "FIXME" in ImutAVLTree: isEqual() now also compares the *data* value · 2b8b71c1
      Ted Kremenek authored
      and not just the key value when comparing trees. To do this we added data_type
      and data_type_ref to the ImutContainerInfo trait classes. For values stored in
      the tree that do not have separate key and data components, data_type is simply
      a typedef of bool, and isDataEqual() always evaluates to true. This allows us to
      support both ImmutableSet and ImmutableMap using the same underlying logic.
      
      llvm-svn: 46130
      2b8b71c1
    • Chris Lattner's avatar
      add some helper methods. · 686dfe82
      Chris Lattner authored
      llvm-svn: 46128
      686dfe82
    • Evan Cheng's avatar
      Test case for varargs parameter attribute issue I just fixed. · 9a93dc95
      Evan Cheng authored
      llvm-svn: 46127
      9a93dc95
    • Chris Lattner's avatar
      code cleanups, no functionality change. · 7eabed35
      Chris Lattner authored
      llvm-svn: 46126
      7eabed35
    • Chris Lattner's avatar
      * Introduce a new SelectionDAG::getIntPtrConstant method · 72733e57
      Chris Lattner authored
        and switch various codegen pieces and the X86 backend over
        to using it.
      
      * Add some comments to SelectionDAGNodes.h
      
      * Introduce a second argument to FP_ROUND, which indicates
        whether the FP_ROUND changes the value of its input. If
        not it is safe to xform things like fp_extend(fp_round(x)) -> x.
      
      llvm-svn: 46125
      72733e57
Loading