limit checks in FFT
   
    Stephen Weeks
     
    sweeks@research.nj.nec.com
       
    Sat, 13 Feb 1999 22:37:06 -0500
    
    
  
> I  talked  to  Suresh  about  this, but he also can't explain it: why did his
> inliner, which decreased the number of trampolines in FFT from 20,975,390  to
> 904, increase the number of limit checks from 7,888,027 to 13,127,749?
Here is a possibility.  I did not look at the code, but remember that
limit checks are inserted at:
  * function entry
  * continuation/handler entry
  * loop header
  * array allocation
So, if you have the following code:
  if ...
    then ... no allocation ...
  else f(x)
where
  * the body of f does allocation, and hence a limit check
  * the then branch is dynamically the common branch
Then, inlining f will increase the dynamic number of limit checks
because the limit check will be moved in front of the if.