Skip to content
  • Chandler Carruth's avatar
    Add a major missing piece to the new SROA pass: aggressive splitting of · 42cb9cb1
    Chandler Carruth authored
    FCAs. This is essential in order to promote allocas that are used in
    struct returns by frontends like Clang. The FCA load would block the
    rest of the pass from firing, resulting is significant regressions with
    the bullet benchmark in the nightly test suite.
    
    Thanks to Duncan for repeated discussions about how best to do this, and
    to both him and Benjamin for review.
    
    This appears to have blocked many places where the pass tries to fire,
    and so I'm expect somewhat different results with this fix added.
    
    As with the last big patch, I'm including a change to enable the SROA by
    default *temporarily*. Ben is going to remove this as soon as the LNT
    bots pick up the patch. I'm just trying to get a round of LNT numbers
    from the stable machines in the lab.
    
    NOTE: Four clang tests are expected to fail in the brief window where
    this is enabled. Sorry for the noise!
    
    llvm-svn: 164119
    42cb9cb1
Loading