Skip to content
  • Chris Lattner's avatar
    Implement a new optimization in the inliner: if inlining multiple · d3374e8d
    Chris Lattner authored
    calls into a function and if the calls bring in arrays, try to merge
    them together to reduce stack size.  For example, in the testcase
    we'd previously end up with 4 allocas, now we end up with 2 allocas.
    
    As described in the comments, this is not really the ideal solution
    to this problem, but it is surprisingly effective.  For example, on
    176.gcc, we end up eliminating 67 arrays at "gccas" time and another
    24 at "llvm-ld" time.
    
    One piece of concern that I didn't look into: at -O0 -g with
    forced inlining this will almost certainly result in worse debug
    info.  I think this is acceptable though given that this is a case
    of "debugging optimized code", and we don't want debug info to
    prevent the optimizer from doing things anyway.
    
    llvm-svn: 80215
    d3374e8d
Loading