| Line | 
    Hotness | 
    Pass | 
    Source | 
    Function / Inlining Chain | 
  
  
    | 1 | 
     | 
     | 
    // Taken from Adam Nemet's November 2016 LLVM talk  | 
     | 
  
  
    | 2 | 
     | 
     | 
     | 
     | 
  
  
    | 3 | 
     | 
     | 
     | 
     | 
  
  
    | 4 | 
     | 
     | 
     | 
     | 
  
  
    | 5 | 
     | 
     | 
    int compute_sum_without_inlining (int arr[], int n)  | 
     | 
  
  
    | 6 | 
     | 
     | 
     | 
     | 
  
  
    | 7 | 
     | 
     | 
     | 
     | 
  
  
    | 8 | 
     | 
     | 
      for (int i = 0; i < n; ++i)  | 
     | 
  
  
     | 
    
100.00     | 
    
cunrolli     | 
      ^loop 1 iterates at most 2147483647 times
    | 
    
  compute_sum_without_inlining 
      | 
  
  
     | 
    
99.61     | 
    
ivcanon     | 
      ^loop 1 iterates at most 2147483646 times
    | 
    
  compute_sum_without_inlining 
      | 
  
  
     | 
    
99.61     | 
    
vect     | 
      ^=== analyzing loop ===
    === analyze_loop_nest ===
      === vect_analyze_loop_form ===
        === get_loop_niters ===
      symbolic number of iterations is (unsigned int) n_9(D)
      not vectorized: loop contains function calls or data references that cannot be analyzed
   | 
    
  compute_sum_without_inlining 
      | 
  
  
     | 
    
99.61     | 
    
vect     | 
      ^vectorized 0 loops in function
    | 
    
  compute_sum_without_inlining 
      | 
  
  
     | 
    
99.61     | 
    
cunroll     | 
      ^loop 1 iterates at most 2147483646 times
    | 
    
  compute_sum_without_inlining 
      | 
  
  
    | 9 | 
     | 
     | 
        accumulate (arr[i], &sum);  | 
     | 
  
  
     | 
    
99.61     | 
    
inline     | 
        ^not inlinable: compute_sum_without_inlining/0 -> accumulate/1, function body not available
     | 
    
  compute_sum_without_inlining 
      | 
  
  
    | 10 | 
     | 
     | 
     | 
     | 
  
  
    | 11 | 
     | 
     | 
     | 
     |