Skip to content
  1. Sep 06, 2009
  2. Sep 05, 2009
  3. Sep 04, 2009
  4. Sep 03, 2009
    • Bob Wilson's avatar
      Overhaul the TwoAddressInstructionPass to simplify the logic, especially · 5c7d9ca5
      Bob Wilson authored
      for the complicated case where one register is tied to multiple destinations.
      This avoids the extra scan of instruction operands that was introduced by
      my recent change.  I also pulled some code out into a separate
      TryInstructionTransform method, added more comments, and renamed some
      variables.
      
      Besides all those changes, this takes care of a FIXME in the code regarding
      an assumption about there being a single tied use of a register when
      converting to a 3-address form.  I'm not aware of cases where that assumption
      is violated, but the code now only attempts to transform an instruction,
      either by commuting its operands or by converting to a 3-address form,
      for the simple case where there is a single pair of tied operands.
      
      llvm-svn: 80945
      5c7d9ca5
    • Dan Gohman's avatar
      Smallvectorize switchExitBlocks. · ed8f3202
      Dan Gohman authored
      llvm-svn: 80942
      ed8f3202
    • Devang Patel's avatar
      There is not any need to copy metadata while merging modules. · 794a40dd
      Devang Patel authored
      llvm-svn: 80941
      794a40dd
    • Dan Gohman's avatar
      Recognize more opportunities to use SSE min and max instructions, · d0d5e685
      Dan Gohman authored
      swapping the operands if necessary.
      
      llvm-svn: 80940
      d0d5e685
    • Mon P Wang's avatar
      Fixed a few problems with vector shifts · 3e821172
      Mon P Wang authored
        - when transforming a vector shift of a non-immediate scalar shift amount, zero
          extend the i32 shift amount to i64 since the vector shift reads 64 bits
        - when transforming i16 vectors to use a vector shift, zero extend i16 shift amount
        - improve the code quality in some cases when transforming vectors to use a vector shift
      
      llvm-svn: 80935
      3e821172
    • Dan Gohman's avatar
      Add a -disable-16bit flag and associated support for experimenting with · 319cc69f
      Dan Gohman authored
      disabling the use of 16-bit operations on x86. This doesn't yet work for
      inline asms with 16-bit constraints, vectors with 16-bit elements,
      trampoline code, and perhaps other obscurities, but it's enough to try
      some experiments.
      
      llvm-svn: 80930
      319cc69f
Loading