<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
Hello David<br>
<br>
I haven't dug into llvm-dwp performance. What are some of the performance pain points that you know about?<br>
<br>
Thank You<br>
Alex</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Alexander Yermolovich<br>
<b>Sent:</b> Monday, June 21, 2021 6:11 PM<br>
<b>To:</b> llvm-dev@lists.llvm.org <llvm-dev@lists.llvm.org><br>
<b>Cc:</b> dblaikie@gmail.com <dblaikie@gmail.com>; Maksim Panchenko <maks@fb.com><br>
<b>Subject:</b> [RFC] Refactor llvm-dwp in to a library.</font>
<div> </div>
</div>
<style type="text/css" style="display:none">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
</style>
<div dir="ltr">
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
Hello<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
<br>
I am working on adding support for bolt (<a href="https://github.com/facebookincubator/BOLT/tree/rebased" id="LPlnk635887">https://github.com/facebookincubator/BOLT/tree/rebased</a>) to write out DWP directly.  I want to re-use as much llvm-dwp functionality as
 possible. <br>
Plan is to move most of functionality that is now in llvm-dwp in to llvm/lib/DWP, with corresponding header file in llvm/include/llvm/DWP.<br>
In the header files have<br>
getContributionIndex<br>
handleSection<br>
parseCompileUnitHeader<br>
writeStringsAndOffsets<br>
getCUIdentifiers<br>
buildDuplicateError<br>
writeIndex<br>
<br>
<span style="background-color:rgb(255,255,255)">For structs that are passed around define in the header also.</span></div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
<div style="color:rgb(212,212,212); background-color:rgb(30,30,30); font-family:Menlo,Monaco,"Courier New",monospace; font-weight:normal; font-size:12px; line-height:18px">
<span><span style="color:rgb(78,201,176); background-color:rgb(255,255,255)">UnitIndexEntry</span></span></div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
<div style="color:rgb(212,212,212); background-color:rgb(30,30,30); font-family:Menlo,Monaco,"Courier New",monospace; font-weight:normal; font-size:12px; line-height:18px">
<span><span style="color:rgb(78,201,176); background-color:rgb(255,255,255)">CompileUnitHeader</span></span></div>
<div style="color:rgb(212,212,212); background-color:rgb(30,30,30); font-family:Menlo,Monaco,"Courier New",monospace; font-weight:normal; font-size:12px; line-height:18px">
<span><span style="color:rgb(78,201,176); background-color:rgb(255,255,255)">CompileUnitIdentifiers</span></span></div>
<br>
</div>
<br>
Thought I would solicit opinions before I dive too deep into this. <br>
<br>
Thank You<br>
Alex</div>
</div>
</body>
</html>