Skip to content
  1. Apr 15, 2011
  2. Apr 14, 2011
    • Chris Lattner's avatar
      rework FoldBranchToCommonDest to exit earlier when there is a bonus · fba5cdfc
      Chris Lattner authored
      instruction around, reducing work.
      
      Greatly simplify handling of debug instructions.  There is no need to
      build up a vector of them and then move them into the one predecessor
      if we're processing a block.  Instead just rescan the block and *copy*
      them into the pred.  If a block gets merged into multiple preds, this
      will retain more debug info.
      
      llvm-svn: 129502
      fba5cdfc
  3. Apr 12, 2011
  4. Apr 11, 2011
  5. Apr 08, 2011
  6. Apr 07, 2011
  7. Apr 04, 2011
  8. Apr 03, 2011
    • Eli Friedman's avatar
      PR9446: RecursivelyDeleteTriviallyDeadInstructions can delete the instruction · 17bf4922
      Eli Friedman authored
      after the given instruction; make sure to handle that case correctly.
      (It's difficult to trigger; the included testcase involves a dead 
      block, but I don't think that's a requirement.) 
      
      While I'm here, get rid of the unnecessary warning about
      SimplifyInstructionsInBlock, since it should work correctly as far as I know.
      
      llvm-svn: 128782
      17bf4922
  9. Mar 30, 2011
  10. Mar 21, 2011
  11. Mar 19, 2011
  12. Mar 17, 2011
  13. Mar 15, 2011
  14. Mar 09, 2011
  15. Mar 04, 2011
  16. Feb 28, 2011
  17. Feb 25, 2011
  18. Feb 24, 2011
  19. Feb 21, 2011
    • Duncan Sands's avatar
      If the phi node was used by an unreachable instruction that ends up using · ecbbf082
      Duncan Sands authored
      itself without going via a phi node then we could return false here in
      spite of making a change.  Also, tweak the comment because this method
      can (and always could) return true without deleting the original phi node.
      For example, if the phi node was used by a read-only invoke instruction
      which is used by another phi node phi2 which is only used by and only uses
      the invoke, then phi2 would be deleted but not the invoke instruction and
      not the original phi node.
      
      llvm-svn: 126129
      ecbbf082
    • Duncan Sands's avatar
      Simplify RecursivelyDeleteDeadPHINode. The only functionality change · 6dcd49bc
      Duncan Sands authored
      should be that if the phi is used by a side-effect free instruction with
      no uses then the phi and the instruction now get zapped (checked by the
      unittest).
      
      llvm-svn: 126124
      6dcd49bc
  20. Feb 20, 2011
  21. Feb 18, 2011
  22. Feb 11, 2011
  23. Feb 07, 2011
  24. Feb 03, 2011
  25. Feb 02, 2011
    • Benjamin Kramer's avatar
      SimplifyCFG: Turn switches into sub+icmp+branch if possible. · f4ea1d5f
      Benjamin Kramer authored
      This makes the job of the later optzn passes easier, allowing the vast amount of
      icmp transforms to chew on it.
      
      We transform 840 switches in gcc.c, leading to a 16k byte shrink of the resulting
      binary on i386-linux.
      
      The testcase from README.txt now compiles into
        decl  %edi
        cmpl  $3, %edi
        sbbl  %eax, %eax
        andl  $1, %eax
        ret
      
      llvm-svn: 124724
      f4ea1d5f
  26. Jan 29, 2011
Loading