Skip to content
  1. Mar 15, 2012
  2. Mar 14, 2012
    • Francois Pichet's avatar
      Fixes the MSVC build. · 118bad1a
      Francois Pichet authored
      Commit r152704 exposed a latent MSVC limitation (aka bug). 
      Both ilist and and iplist contains the same function:
        template<class InIt> void insert(iterator where, InIt first, InIt last) {
          for (; first != last; ++first) insert(where, *first);
        }
      
      Also ilist inherits from iplist and ilist contains a "using iplist<NodeTy>::insert".
      MSVC doesn't know which one to pick and complain with an error.
      
      I think it is safe to delete ilist::insert since it is redundant anyway.
      
      llvm-svn: 152746
      118bad1a
    • Chandler Carruth's avatar
      Change where we enable the heuristic that delays inlining into functions · 30b8416d
      Chandler Carruth authored
      which are small enough to themselves be inlined. Delaying in this manner
      can be harmful if the function is inelligible for inlining in some (or
      many) contexts as it pessimizes the code of the function itself in the
      event that inlining does not eventually happen.
      
      Previously the check was written to only do this delaying of inlining
      for static functions in the hope that they could be entirely deleted and
      in the knowledge that all callers of static functions will have the
      opportunity to inline if it is in fact profitable. However, with C++ we
      get two other important sources of functions where the definition is
      always available for inlining: inline functions and templated functions.
      This patch generalizes the inliner to allow linkonce-ODR (the linkage
      such C++ routines receive) to also qualify for this delay-based
      inlining.
      
      Benchmarking across a range of large real-world applications shows
      roughly 2% size increase across the board, but an average speedup of
      about 0.5%. Some benhcmarks improved over 2%, and the 'clang' binary
      itself (when bootstrapped with this feature) shows a 1% -O0 performance
      improvement when run over all Sema, Lex, and Parse source code smashed
      into a single file. A clean re-build of Clang+LLVM with a bootstrapped
      Clang shows approximately 2% improvement, but that measurement is often
      noisy.
      
      llvm-svn: 152737
      30b8416d
    • Eli Bendersky's avatar
      Some typos in lit command guide · f0a1305b
      Eli Bendersky authored
      llvm-svn: 152712
      f0a1305b
    • Benjamin Kramer's avatar
      Silence operator precedence warnings. · 05e7a843
      Benjamin Kramer authored
      llvm-svn: 152711
      05e7a843
    • Bill Wendling's avatar
      Update the "hello world" example to resemble what we currently output. · 21ee0d21
      Bill Wendling authored
      Also do some minor reformatting.
      
      llvm-svn: 152707
      21ee0d21
    • Chandler Carruth's avatar
      Refactor the inline cost bonus calculation for constants to use · a3089559
      Chandler Carruth authored
      a worklist rather than a recursive call.
      
      No functionality changed.
      
      llvm-svn: 152706
      a3089559
    • Bill Wendling's avatar
      Reapply r152486 with a fix for the nightly testers. · d7c0aae4
      Bill Wendling authored
      There were cases where a value could be used and it's both crossing an invoke
      and NOT crossing an invoke. This could happen in the landing pads. In that case,
      we will demote the value to the stack like we did before.
      <rdar://problem/10609139>
      
      llvm-svn: 152705
      d7c0aae4
    • Bill Wendling's avatar
      Insert the debugging instructions in one fell-swoop so that it doesn't call the · 618d5731
      Bill Wendling authored
      expensive "getFirstTerminator" call. This reduces the time of compilation in
      PR12258 from >10 minutes to < 10 seconds.
      
      llvm-svn: 152704
      618d5731
    • Eli Bendersky's avatar
      Clean up removed file after r152620 · c54f63b2
      Eli Bendersky authored
      llvm-svn: 152703
      c54f63b2
    • Eli Bendersky's avatar
      Typo in lit command guide · 28591782
      Eli Bendersky authored
      llvm-svn: 152702
      28591782
Loading