<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/154506>154506</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Harden performance of lifetime analysis
</td>
</tr>
<tr>
<th>Labels</th>
<td>
metaissue,
clang:analysis,
clang:temporal-safety
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
usx95
</td>
</tr>
</table>
<pre>
Measure and optimize compile-time performance
* Benchmarking: Measure the analysis's impact on the compiler.
Deliverable: Performance reports on compile-time and memory usage overhead, tested against microbenchmarks, known pathological cases (e.g., cyclic pointer assignments in loops), and real-world codebases like LLVM and SQLite.
* Optimization: Analysis must be efficient enough to be ready for default enablement.
Deliverable: A compile-time overhead targeting a maximum of 5%. This will be achieved through bailout strategies (like capping iterations in the dataflow analysis for overly large functions) and optimizing core data structures (e.g., using persistent maps or tries for loan sets).
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJxsU81u4zYQfhrqMoig0JYTHXTwbmD0kEVbtOh9RI6kafgjkCNn3acvKDv1pliAgADN8PvjDObMUyDqVftFtS8VrjLH1K_5e9dWQ7SX_hthXhMBBgtxEfb8D4GJfmFHD8KeYKE0xuQxGFLNsRx9hC8UzOwxvXGY1O4IHzAyFyh0l8xZ6acM7Bc0AjFspRtwqm9IzfGFHJ8p4eCo4Px2J4NES0ySy91PgopUTz6mC6wZJ4J4pjQTWqW_glAWsoATcsgCnk2Kw4fYXDreQnwPsKDM0cWJDTowmCmD0s9UT3XpMRfj2MASOQgluMboKUgGDuBiXLLSXeksYhKhe3iPyVkw0dKwoTl-I3h9_evb1vLH768sVN8D_PWaNQrHUIwfb6GBX7PAQEDjyIYpCFCI6zSDxPI7EdoLjDGBpRFXV8olvCKu_mmkx8_pfYQFgmki4TABgsfv7FcPcYRW6baGP2fO8M7OFU40M9OZLMicNikDsourQJaEQhNfw9scG1yWgslCaTO3JVbe3qLg6OL7f_OxuShy3AVcEQPjGsx2R-nux4ksgCamK0ZhXY2s6fOTrbl0LZQyZymxeVwyxASSir7C5SIGyCQF_j6B11PZfme7XYcV9Y9PbXt4PjwedDX3tmsbbM2ordVd0zx1WtsGm1GbUeNh31bc60a3zbNuHpvdodG1xRYPh87uhyf7-Nx0at-QR3a1c2dfxzRVnPNK_WO7b5tD5XAgl7cN1dqT4FZVWiv9VWltHG4rdt-q_xWE_BITuoeMI8ml1NuXKvWF7WFYp6z2jeMs-c4vLI76XzBZCj_ud3l_xyPd1uxKWK3J9bPIktXuqPRJ6dPEMq9DbaJX-lRQb5-HJcW_yYjSp81EVvp0c3nu9b8BAAD__0BLjdA">