Skip to content
  1. Jun 26, 2007
  2. Jun 25, 2007
    • Dan Gohman's avatar
      Generalize MVT::ValueType and associated functions to be able to represent · a8665145
      Dan Gohman authored
      extended vector types. Remove the special SDNode opcodes used for pre-legalize
      vector operations, and the special MVT::Vector type used with them. Adjust
      lowering and legalize to work with the normal SDNode kinds instead, and to
      use the normal MVT functions to work with vector types instead of using the
      two special operands that the pre-legalize nodes held.
      
      This allows pre-legalize and post-legalize DAGs, and the code that operates
      on them, to be more consistent. Pre-legalize vector operators can be handled
      more consistently with scalar operators. And, -view-dag-combine1-dags and
      -view-legalize-dags now look prettier for vector code.
      
      llvm-svn: 37719
      a8665145
  3. Jun 22, 2007
  4. Jun 21, 2007
  5. Jun 19, 2007
  6. Jun 18, 2007
  7. Jun 16, 2007
  8. Jun 15, 2007
  9. Jun 14, 2007
  10. Jun 13, 2007
    • Duncan Sands's avatar
      Only correctly lower exception handing intrinsics if exception handling is · 7413736a
      Duncan Sands authored
      turned on.  Likewise for scanning of invokes to mark landing pads.
      
      llvm-svn: 37570
      7413736a
    • Dan Gohman's avatar
      Introduce new SelectionDAG node opcodes VEXTRACT_SUBVECTOR and · 26455c4a
      Dan Gohman authored
      VCONCAT_VECTORS. Use these for CopyToReg and CopyFromReg legalizing in
      the case that the full register is to be split into subvectors instead
      of scalars. This replaces uses of VBIT_CONVERT to present values as
      vector-of-vector types in order to make whole subvectors accessible via
      BUILD_VECTOR and EXTRACT_VECTOR_ELT.
      
      This is in preparation for adding extended ValueType values, where
      having vector-of-vector types is undesirable.
      
      llvm-svn: 37569
      26455c4a
    • Dan Gohman's avatar
      When creating CopyFromReg nodes, always use legal types. And use the · cbd51c8b
      Dan Gohman authored
      correct types for the result vector, even though it is currently bitcasted
      to a different type immediately.
      
      llvm-svn: 37568
      cbd51c8b
    • Duncan Sands's avatar
      The fix that was applied for PR1224 stops the compiler · 97f7236e
      Duncan Sands authored
      crashing but breaks exception handling.  The problem
      described in PR1224 is that invoke is a terminator that
      can produce a value.  The value may be needed in other
      blocks.  The code that writes to registers values needed
      in other blocks runs before terminators are lowered (in
      this case invoke) so asserted because the value was not
      yet available.  The fix that was applied was to do invoke
      lowering earlier, before writing values to registers.
      
      The problem this causes is that the code to copy values
      to registers can be output after the invoke call.  If
      an exception is raised and control is passed to the
      landing pad then this copy-code will never execute.  If
      the value is needed in some code path reached via the
      landing pad then that code will get something bogus.
      
      So revert the original fix and simply skip invoke values
      in the general copying to registers code.  Instead copy
      the invoke value to a register in the invoke lowering code.
      
      llvm-svn: 37567
      97f7236e
    • Evan Cheng's avatar
      Typo · cbaaff58
      Evan Cheng authored
      llvm-svn: 37566
      cbaaff58
    • Evan Cheng's avatar
      Now if-converting all 4 variants of triangles. · 9acfa7b0
      Evan Cheng authored
      llvm-svn: 37565
      9acfa7b0
  11. Jun 12, 2007
Loading