Skip to content
  1. Dec 02, 2008
  2. Dec 01, 2008
    • Chris Lattner's avatar
    • Chris Lattner's avatar
      pull the predMap densemap out of the inner loop of performPRE, so · f00aae49
      Chris Lattner authored
      that it isn't reallocated all the time.  This is a tiny speedup for
      GVN: 3.90->3.88s
      
      llvm-svn: 60338
      f00aae49
    • Chris Lattner's avatar
      Make GVN be more intelligent about redundant load · 9ce8995d
      Chris Lattner authored
      elimination: when finding dependent load/stores, realize that
      they are the same if aliasing claims must alias instead of relying
      on the pointers to be exactly equal.  This makes load elimination
      more aggressive.  For example, on 403.gcc, we had:
      
      <     68 gvn    - Number of instructions PRE'd
      < 152718 gvn    - Number of instructions deleted
      <  49699 gvn    - Number of loads deleted
      <   6153 memdep - Number of dirty cached non-local responses
      < 169336 memdep - Number of fully cached non-local responses
      < 162428 memdep - Number of uncached non-local responses
      
      now we have:
      
      >     64 gvn    - Number of instructions PRE'd
      > 153623 gvn    - Number of instructions deleted
      >  49856 gvn    - Number of loads deleted
      >   5022 memdep - Number of dirty cached non-local responses
      > 159030 memdep - Number of fully cached non-local responses
      > 162443 memdep - Number of uncached non-local responses
      
      That's an extra 157 loads deleted and extra 905 other instructions nuked.
      
      This slows down GVN very slightly, from 3.91 to 3.96s.
      
      llvm-svn: 60314
      9ce8995d
    • Chris Lattner's avatar
      Reimplement the non-local dependency data structure in terms of a sorted · 7e61dafc
      Chris Lattner authored
      vector instead of a densemap.  This shrinks the memory usage of this thing
      substantially (the high water mark) as well as making operations like
      scanning it faster.  This speeds up memdep slightly, gvn goes from
      3.9376 to 3.9118s on 403.gcc
      
      This also splits out the statistics for the cached non-local case to
      differentiate between the dirty and clean cached case.  Here's the stats
      for 403.gcc:
      
        6153 memdep - Number of dirty cached non-local responses
      169336 memdep - Number of fully cached non-local responses
      162428 memdep - Number of uncached non-local responses
      
      yay for caching :)
      
      llvm-svn: 60313
      7e61dafc
    • Chris Lattner's avatar
      Cache analyses in ivars and add some useful DEBUG output. · 8541edec
      Chris Lattner authored
      This speeds up GVN from 4.0386s to 3.9376s.
      
      llvm-svn: 60310
      8541edec
    • Chris Lattner's avatar
      improve indentation, do cheap checks before expensive ones, · 80c7d81e
      Chris Lattner authored
      remove some fixme's.  This speeds up GVN very slightly on 403.gcc 
      (4.06->4.03s)
      
      llvm-svn: 60309
      80c7d81e
  3. Nov 30, 2008
  4. Nov 29, 2008
  5. Oct 10, 2008
  6. Oct 08, 2008
  7. Oct 01, 2008
    • Duncan Sands's avatar
      Factorize code: remove variants of "strip off · d65a4dae
      Duncan Sands authored
      pointer bitcasts and GEP's", and centralize the
      logic in Value::getUnderlyingObject.  The
      difference with stripPointerCasts is that
      stripPointerCasts only strips GEPs if all
      indices are zero, while getUnderlyingObject
      strips GEPs no matter what the indices are.
      
      llvm-svn: 56922
      d65a4dae
  8. Sep 04, 2008
  9. Aug 27, 2008
  10. Aug 22, 2008
  11. Jul 18, 2008
  12. Jul 17, 2008
  13. Jul 16, 2008
  14. Jul 15, 2008
  15. Jul 11, 2008
  16. Jul 03, 2008
  17. Jul 02, 2008
  18. Jun 23, 2008
  19. Jun 21, 2008
  20. Jun 20, 2008
  21. Jun 19, 2008
Loading