Skip to content
  1. Aug 28, 2009
  2. Aug 27, 2009
    • 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
    • Chris Lattner's avatar
      reduce header #include'age · b9d0a961
      Chris Lattner authored
      llvm-svn: 80204
      b9d0a961
    • Chris Lattner's avatar
      reduce inlining factor some stuff out to a static helper function, · 5eef6ad6
      Chris Lattner authored
      and other code cleanups.  No functionality change.
      
      llvm-svn: 80199
      5eef6ad6
  3. Aug 25, 2009
  4. Jul 31, 2009
  5. Jul 25, 2009
    • Daniel Dunbar's avatar
      More migration to raw_ostream, the water has dried up around the iostream hole. · 0dd5e1ed
      Daniel Dunbar authored
       - Some clients which used DOUT have moved to DEBUG. We are deprecating the
         "magic" DOUT behavior which avoided calling printing functions when the
         statement was disabled. In addition to being unnecessary magic, it had the
         downside of leaving code in -Asserts builds, and of hiding potentially
         unnecessary computations.
      
      llvm-svn: 77019
      0dd5e1ed
  6. Jul 24, 2009
  7. Jul 18, 2009
  8. May 23, 2009
  9. Mar 24, 2009
  10. Mar 19, 2009
    • Dale Johannesen's avatar
      Clear the cached cost when removing a function in · 2050968d
      Dale Johannesen authored
      the inliner; prevents nondeterministic behavior
      when the same address is reallocated.
      Don't build call graph nodes for debug intrinsic calls;
      they're useless, and there were typically a lot of them.
      
      llvm-svn: 67311
      2050968d
  11. Jan 15, 2009
  12. Jan 12, 2009
  13. Jan 09, 2009
  14. Nov 21, 2008
  15. Nov 05, 2008
  16. Oct 30, 2008
  17. Oct 29, 2008
  18. Sep 27, 2008
  19. Sep 25, 2008
    • Devang Patel's avatar
      Large mechanical patch. · 4c758ea3
      Devang Patel authored
      s/ParamAttr/Attribute/g
      s/PAList/AttrList/g
      s/FnAttributeWithIndex/AttributeWithIndex/g
      s/FnAttr/Attribute/g
      
      This sets the stage 
      - to implement function notes as function attributes and 
      - to distinguish between function attributes and return value attributes.
      
      This requires corresponding changes in llvm-gcc and clang.
      
      llvm-svn: 56622
      4c758ea3
  20. Sep 24, 2008
  21. Sep 23, 2008
  22. Sep 05, 2008
  23. Sep 04, 2008
  24. Sep 03, 2008
  25. May 13, 2008
  26. May 06, 2008
  27. Apr 02, 2008
  28. Mar 24, 2008
    • Evan Cheng's avatar
      Increasing the inline limit from (overly conservative) 200 to 300. Given each... · 3471ae8c
      Evan Cheng authored
      Increasing the inline limit from (overly conservative) 200 to 300. Given each BB costs 20 and each instruction costs 5, 200 means a 4 BB function + 24 instructions (actually less because caller's size also contributes to it).
      
      Furthermore, double the limit when more than 10% of the callee instructions are vector instructions. Multimedia kernels tend to love inlining.
      
      llvm-svn: 48725
      3471ae8c
  29. Mar 01, 2008
  30. Jan 12, 2008
Loading