<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/61015>61015</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [C++20] [Modules] Offer an option to not import function definitions from other module units
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
            ChuanqiXu9
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          ChuanqiXu9
      </td>
    </tr>
</table>

<pre>
    To address https://github.com/llvm/llvm-project/issues/60996

The root cause of issue 60996 is that we will import the function definitions from the imported modules within optimizations. The intention is to enable inlining across module units. Otherwise we will meet the performance regression after we refactor the transitional project into module-based style, which is not accepted to C++ programs. 

But to address from issue 60996, we at least should provide an option for this to give the users a choice.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJykU7ty2zAQ_BqwuTGHAh-SChaWPeoyblykBYEjiQwIKLiDNc7XZwDJsVOkSsMHsLO3u1goIrt4xFH0JyHl05qU_2m_p6OQUvTPlUq8hjh-rldTMO_jawBlTEQiWJkvJNpHIc9CnhfLa5pqHTYhz869fbweLjH8QM1Cni1RQhLyPDTH4yCaZ9E83p6vK0IMgUGrRAhhhoKFAgRLwKtiuCJcrXNgt0uIDLwizMlrtsGDwdl6mz8J5hi2snsDooEtmOSQ4Gp5tR7Che1mf6kCryFPt57RF6Y8LQB6Nbm87Ky3fgGlYyC6E0HylqmGF14xXi3hH2kb4k3YBeMc4qa8Roi45MAyuZoZY0ZHnJXmEAuYo_JUxCsH97yyonCf9zApQgPE7w6FfILravWahfrAoLTGSzbJAZ6EPAl5yhxLVBvV8DXlU-IM-ji_EtOXnAszgmJwqIiB1pCcyVxv1iCoW27Bw1xk33Ja7BsWD4kwEijQa7Aa68qMrTm2R1XhuBv2-244tO1QreM0d91hZ469maU2nZFK6sNgVN_pQU5mruwoG9k2Uu6bVvbtUPe6w6kz2DRaH_f9QXQNbsq6OterDnGpiolx2DW7vnJqQkf3Vnu83hzeSx3HUskpLSS6xlli-mRhy65ch3uKshH9M4j-9O3Wnvz3Ms8Yv0TBoZzBvZH_bmPITfmrPVWKbvyPK5TN_g4AAP__P29IlA">