<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/113173>113173</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
CoverageMappingReader behaves O(N^2) slowly with hundreds thousand of Expansions
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
chapuni
</td>
</tr>
</table>
<pre>
For example `RISCVInstructionSelector.cpp` (possibly since #110782):
- NumRegions 892,077
- NumFiles 387,470 (Expansions)
It takes bunch of minutes for me.
`llvm-cov` is not required for reproduction. Just add `-Xclang -dump-coverage-mapping` onto `-profile-instr-generate -fcoverage-mapping`. The dump calls CoverageMappingReader for encoded covmap.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxsks1upDoQhZ_GbEogKH57weLeTpBypZuRktFotsauBs8Ym_FPJ3n7kUlLySIbWPjUp1OnDvdeLYZoZO2_rL3LeAyrdaNY-R6NymYr38bJOqBXvu2agHXl08Pz-ceD8cFFEZQ1z6RJBOsKse-sK4HhsFvv1azfwCsjCBjWVVX2AzI8sfofVt6x8vbN4TFuT7QoazwMJ2R4Lvv-09ukNHmoh57huekP-v3rzo1PE4n3CfYQIPDf5GGORqxgL7ApEwN5uFgHGxWfxawrtb5uubDX5Fp5MDaAoz9ROZLHhKPdWfm-ZQH_RR-AS5kyyH8Kzc0CuYzbnhDk-EL5xvddmSXxrAn2UO7OXpSmXKXE8oUMOR4I8ssXUwV8XwkSEwTX2sP5pvn_XfJEXJI7vJERVpIEYa8b34tMjrU81See0Vj1eGoRu6bO1rHusGlEXQ8dnwfRdZeyacXQlqLtsEGqMzViiU1VYlU1bY9YyJI3cj51XV-fRDPMrClp40oXKa7CuiVT3kcaq6qu-jrTfCbtj_4gGnqB45Uhpjq58ch4jotnTamVD_4DE1TQNH694kwrv5KHbwyHR9bep-qA1_ZFv8GLCius0UhH0kNYbfTcyHTuj2Zk0elxDWH3qXA4MZwWFdY4F8JuDKdk4vZLF_pFIjCcDuue4XTb7Tri3wAAAP__HrMCCQ">