Skip to content
  1. Nov 20, 2013
    • Chandler Carruth's avatar
      Give SmallPtrSet move semantics when we have R-value references. · 55758e96
      Chandler Carruth authored
      Somehow, this ADT got missed which is moderately terrifying considering
      the efficiency of move for it.
      
      The code to implement move semantics for it is pretty horrible
      currently but was written to reasonably closely match the rest of the
      code. Unittests that cover both copying and moving (at a basic level)
      added.
      
      llvm-svn: 195239
      55758e96
  2. Nov 19, 2013
  3. Nov 18, 2013
  4. Nov 17, 2013
    • Michael Gottesman's avatar
      [block-freq] Add BlockFrequency::scale that returns a remainder from the... · 4d078a3d
      Michael Gottesman authored
      [block-freq] Add BlockFrequency::scale that returns a remainder from the division and make the private scale in BlockFrequency more performant.
      
      This change is the first in a series of changes improving LLVM's Block
      Frequency propogation implementation to not lose probability mass in
      branchy code when propogating block frequency information from a basic
      block to its successors. This patch is a simple infrastructure
      improvement that does not actually modify the block frequency
      algorithm. The specific changes are:
      
      1. Changes the division algorithm used when scaling block frequencies by
      branch probabilities to a short division algorithm. This gives us the
      remainder for free as well as provides a nice speed boost. When I
      benched the old routine and the new routine on a Sandy Bridge iMac with
      disabled turbo mode performing 8192 iterations on an array of length
      32768, I saw ~600% increase in speed in mean/median performance.
      
      2. Exposes a scale method that returns a remainder. This is important so
      we can ensure that when we scale a block frequency by some branch
      probability BP = N/D, the remainder from the division by D can be
      retrieved and propagated to other children to ensure no probability mass
      is lost (more to come on this).
      
      llvm-svn: 194950
      4d078a3d
  5. Nov 16, 2013
  6. Nov 15, 2013
  7. Nov 14, 2013
  8. Nov 13, 2013
  9. Nov 06, 2013
  10. Nov 04, 2013
  11. Nov 03, 2013
  12. Oct 31, 2013
  13. Oct 30, 2013
  14. Oct 28, 2013
  15. Oct 25, 2013
  16. Oct 24, 2013
  17. Oct 22, 2013
  18. Oct 19, 2013
  19. Oct 18, 2013
  20. Oct 17, 2013
    • Filip Pizlo's avatar
      Expose install_fatal_error_handler() through the C API. · a535b141
      Filip Pizlo authored
      I expose the API with some caveats:
      
      - The C++ API involves a traditional void* opaque pointer for the fatal 
      error callback.  The C API doesn’t do this.  I don’t think that the void* 
      opaque pointer makes any sense since this is a global callback - there will 
      only be one of them.  So if you need to pass some data to your callback, 
      just put it in a global variable.
      
      - The bindings will ignore the gen_crash_diag boolean.  I ignore it because 
      (1) I don’t know what it does, (2) it’s not documented AFAIK, and (3) I 
      couldn’t imagine any use for it.  I made the gut call that it probably 
      wasn’t important enough to expose through the C API.
      
      llvm-svn: 192864
      a535b141
  21. Oct 16, 2013
Loading