Skip to content
  1. Jul 03, 2013
  2. Jul 02, 2013
    • Manman Ren's avatar
      Debug Info: cleanup · d0e67aa1
      Manman Ren authored
      llvm-svn: 185456
      d0e67aa1
    • Hal Finkel's avatar
      Revert r185257 (InstCombine: Be more agressive optimizing 'udiv' instrs with 'select' denoms) · fdbe161b
      Hal Finkel authored
      I'm reverting this commit because:
      
       1. As discussed during review, it needs to be rewritten (to avoid creating and
      then deleting instructions).
      
       2. This is causing optimizer crashes. Specifically, I'm seeing things like
      this:
      
          While deleting: i1 %
          Use still stuck around after Def is destroyed:  <badref> = select i1 <badref>, i32 0, i32 1
          opt: /src/llvm-trunk/lib/IR/Value.cpp:79: virtual llvm::Value::~Value(): Assertion `use_empty() && "Uses remain when a value is destroyed!"' failed.
      
         I'd guess that these will go away once we're no longer creating/deleting
      instructions here, but just in case, I'm adding a regression test.
      
      Because the code is bring rewritten, I've just XFAIL'd the original regression test. Original commit message:
      
      	InstCombine: Be more agressive optimizing 'udiv' instrs with 'select' denoms
      
      	Real world code sometimes has the denominator of a 'udiv' be a
      	'select'.  LLVM can handle such cases but only when the 'select'
      	operands are symmetric in structure (both select operands are a constant
      	power of two or a left shift, etc.).  This falls apart if we are dealt a
      	'udiv' where the code is not symetric or if the select operands lead us
      	to more select instructions.
      
      	Instead, we should treat the LHS and each select operand as a distinct
      	divide operation and try to optimize them independently.  If we can
      	to simplify each operation, then we can replace the 'udiv' with, say, a
      	'lshr' that has a new select with a bunch of new operands for the
      	select.
      
      llvm-svn: 185415
      fdbe161b
    • Nick Lewycky's avatar
      Add missing break statements. Noticed by inspection. · 26fcc51f
      Nick Lewycky authored
      llvm-svn: 185414
      26fcc51f
  3. Jul 01, 2013
  4. Jun 30, 2013
  5. Jun 29, 2013
  6. Jun 28, 2013
  7. Jun 27, 2013
Loading