Skip to content
  • 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
Loading