Skip to content
  1. Jul 11, 2009
  2. Jul 10, 2009
  3. Jul 09, 2009
  4. Jul 08, 2009
  5. Jul 07, 2009
  6. Jul 06, 2009
  7. Jul 04, 2009
  8. Jul 03, 2009
  9. Jul 02, 2009
  10. Jul 01, 2009
  11. Jun 30, 2009
  12. Jun 28, 2009
  13. Jun 27, 2009
    • Dan Gohman's avatar
      Teach LoopSimplify how to merge multiple loop exits into a single exit, · c8ca4965
      Dan Gohman authored
      when one of them can be converted to a trivial icmp and conditional
      branch.
      
      This addresses what is essentially a phase ordering problem.
      SimplifyCFG knows how to do this transformation, but it doesn't do so
      if the primary block has any instructions in it other than an icmp and
      a branch. In the given testcase, the block contains other instructions,
      however they are loop-invariant and can be hoisted. SimplifyCFG doesn't
      have LoopInfo though, so it can't hoist them. And, it's important that
      the blocks be merged before LoopRotation, as it doesn't support
      multiple-exit loops.
      
      llvm-svn: 74396
      c8ca4965
    • Dan Gohman's avatar
      More minor code simplifications. · 8918b481
      Dan Gohman authored
      llvm-svn: 74395
      8918b481
    • Dan Gohman's avatar
      When a value is used multiple times within a single PHI, instructions · fe174b69
      Dan Gohman authored
      inserted to replace that value must dominate all of of the basic
      blocks associated with the uses of the value in the PHI, not just
      one of them.
      
      llvm-svn: 74376
      fe174b69
    • Dan Gohman's avatar
      Incorporate the insertion point into the key of SCEVExpander's CSE map. · daafbe61
      Dan Gohman authored
      This helps it avoid reusing an instruction that doesn't dominate all
      of the users, in cases where the original instruction was inserted
      before all of the users were known.  This may result in redundant
      expansions of sub-expressions that depend on loop-unpredictable values
      in some cases, however this isn't very common, and it primarily impacts
      IndVarSimplify, so GVN can be expected to clean these up.
      
      This eliminates the need for IndVarSimplify's FixUsesBeforeDefs,
      which fixes several bugs.
      
      llvm-svn: 74352
      daafbe61
    • Devang Patel's avatar
      Remove unused routines. · 0f2eb5b9
      Devang Patel authored
      llvm-svn: 74351
      0f2eb5b9
  14. Jun 26, 2009
Loading