Skip to content
  1. Jun 15, 2009
  2. Jun 13, 2009
    • Dan Gohman's avatar
      Teach SCEVExpander's visitAddRecExpr to reuse an existing canonical · 426901aa
      Dan Gohman authored
      induction variable when the addrec to be expanded does not require
      a wider type. This eliminates the need for IndVarSimplify to
      micro-manage SCEV expansions, because SCEVExpander now
      automatically expands them in the form that IndVarSimplify considers
      to be canonical. (LSR still micro-manages its SCEV expansions,
      because it's optimizing for the target, rather than for
      other optimizations.)
      
      Also, this uses the new getAnyExtendExpr, which has more clever
      expression simplification logic than the IndVarSimplify code it
      replaces, and this cleans up some ugly expansions in code such as
      the included masked-iv.ll testcase.
      
      llvm-svn: 73294
      426901aa
  3. Jun 12, 2009
  4. Jun 11, 2009
  5. Jun 07, 2009
  6. Jun 06, 2009
  7. Jun 05, 2009
  8. Jun 04, 2009
  9. Jun 03, 2009
  10. Jun 02, 2009
  11. Jun 01, 2009
  12. May 31, 2009
  13. May 30, 2009
  14. May 29, 2009
  15. May 28, 2009
  16. May 27, 2009
  17. May 25, 2009
  18. May 24, 2009
  19. May 23, 2009
  20. May 22, 2009
  21. May 21, 2009
  22. May 20, 2009
  23. May 19, 2009
    • Dan Gohman's avatar
      Remove an irrelevant comment. · 67587ce2
      Dan Gohman authored
      llvm-svn: 72132
      67587ce2
    • Dan Gohman's avatar
      Add some more comments to the top of this file. · 97f70add
      Dan Gohman authored
      llvm-svn: 72131
      97f70add
    • Dan Gohman's avatar
      Trim unneeded #includes. · adc70d68
      Dan Gohman authored
      llvm-svn: 72130
      adc70d68
    • Dan Gohman's avatar
      Teach SCEVExpander to expand arithmetic involving pointers into GEP · 2649491f
      Dan Gohman authored
      instructions. It attempts to create high-level multi-operand GEPs,
      though in cases where this isn't possible it falls back to casting
      the pointer to i8* and emitting a GEP with that. Using GEP instructions
      instead of ptrtoint+arithmetic+inttoptr helps pointer analyses that
      don't use ScalarEvolution, such as BasicAliasAnalysis.
      
      Also, make the AddrModeMatcher more aggressive in handling GEPs.
      Previously it assumed that operand 0 of a GEP would require a register
      in almost all cases. It now does extra checking and can do more
      matching if operand 0 of the GEP is foldable. This fixes a problem
      that was exposed by SCEVExpander using GEPs.
      
      llvm-svn: 72093
      2649491f
Loading