<html>
    <head>
      <base href="https://llvm.org/bugs/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Long compile times, high memory usage for function containing large number of inlined functions"
   href="https://llvm.org/bugs/show_bug.cgi?id=25280">25280</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Long compile times, high memory usage for function containing large number of inlined functions
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>clang
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>3.6
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>C++11
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedclangbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>chris.schaf@verizon.net
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>dgregor@apple.com, llvm-bugs@lists.llvm.org
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>I have a function (obj_scan) containing a large computed goto table that calls
a lot of small functions (obj_scan_helper<...>).  The small functions get
inlined in the larger one and the file takes 25 min and 12G to compile.
If compiled with -fno-inline it takes 30 seconds to compile.

The top time consuming passes are:
                     ... Pass execution timing report ...
===-------------------------------------------------------------------------===
  Total Execution Time: 1261.3373 seconds (1262.7082 wall clock)

   ---User Time---   --System Time--   --User+System--   ---Wall Time---  ---
Name ---
  429.6477 ( 35.0%)   0.0040 (  0.0%)  429.6517 ( 34.1%)  429.8509 ( 34.0%) 
Virtual Register Rewriter
  241.7193 ( 19.7%)   0.5819 (  1.8%)  242.3012 ( 19.2%)  242.6868 ( 19.2%) 
Debug Variable Analysis
  113.4798 (  9.2%)   0.0390 (  0.1%)  113.5187 (  9.0%)  113.7074 (  9.0%) 
Global Value Numbering
  65.2541 (  5.3%)  21.0698 ( 65.1%)  86.3239 (  6.8%)  86.3884 (  6.8%)  X86
Assembly / Object Emitter
  41.2397 (  3.4%)   2.9026 (  9.0%)  44.1423 (  3.5%)  44.2051 (  3.5%)  X86
DAG->DAG Instruction Selection
  41.4487 (  3.4%)   1.4438 (  4.5%)  42.8925 (  3.4%)  42.9269 (  3.4%) 
Combine redundant instructions
  34.6877 (  2.8%)   0.7769 (  2.4%)  35.4646 (  2.8%)  35.4935 (  2.8%) 
Combine redundant instructions
  32.9990 (  2.7%)   0.6099 (  1.9%)  33.6089 (  2.7%)  33.6429 (  2.7%) 
Combine redundant instructions
  21.5297 (  1.8%)   0.7679 (  2.4%)  22.2976 (  1.8%)  22.3165 (  1.8%) 
Combine redundant instructions
  20.9568 (  1.7%)   0.7549 (  2.3%)  21.7117 (  1.7%)  21.7295 (  1.7%) 
Combine redundant instructions
  20.7479 (  1.7%)   0.4879 (  1.5%)  21.2358 (  1.7%)  21.2600 (  1.7%) 
Combine redundant instructions
  12.8680 (  1.0%)   0.0030 (  0.0%)  12.8710 (  1.0%)  12.8740 (  1.0%) 
Module Verifier
  12.8340 (  1.0%)   0.0000 (  0.0%)  12.8340 (  1.0%)  12.8522 (  1.0%) 
CodeGen Prepare
  12.6951 (  1.0%)   0.0040 (  0.0%)  12.6991 (  1.0%)  12.7133 (  1.0%) 
Module Verifier
  10.3014 (  0.8%)   0.0010 (  0.0%)  10.3024 (  0.8%)  10.3096 (  0.8%) 
Eliminate PHI nodes for register allocation</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>