<div dir="ltr"><p class="MsoNormal" style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN" style="font-size:10pt;font-family:Arial,sans-serif">Hi,</span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN" style="font-size:10pt;font-family:Arial,sans-serif"> </span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN" style="font-size:10pt;font-family:Arial,sans-serif">We are using clang based compiler for our android
build system.</span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN" style="font-size:10pt;font-family:Arial,sans-serif">We plan to enable the PGO (profile guided optimization
) for some of our android modules</span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN" style="font-size:10pt;font-family:Arial,sans-serif"> </span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-IN" style="font-size:10pt;font-family:Arial,sans-serif">I would like to have some understanding on the way
that the PGO profiles are being used by the clang compiler.</span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:10pt;font-family:Arial,sans-serif;color:black;background:rgb(249,250,252)">As I understand Profile guidance enables the
compiler to make better optimization decisions by using knowledge about how the
program actually runs. </span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:10pt;font-family:Arial,sans-serif;color:black;background:rgb(249,250,252)">With this profile information, the compiler can
do a better job of inlining functions, ordering basic blocks, allocating
registers, and so on</span>.</p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:10pt;font-family:Arial,sans-serif;color:black;background:rgb(249,250,252)"> </span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:10pt;font-family:Arial,sans-serif;color:black;background:rgb(249,250,252)">So I would like to know if the clang based
compiler in android will use these profiles for making better decisions on
inlining or register allocations ? </span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:10pt;font-family:Arial,sans-serif;color:black;background:rgb(249,250,252)"> </span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:10pt;font-family:Arial,sans-serif;color:black;background:rgb(249,250,252)">But when I went through the clang documentation,
right now the pgo profiles can be used for block reordering but could not find
reference as to whether it helps the compiler </span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:10pt;font-family:Arial,sans-serif;color:black;background:rgb(249,250,252)">to take any other optimized decision .</span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><a href="https://clang.llvm.org/docs/UsersManual.html#profile-guided-optimization" style="color:rgb(5,99,193)">https://clang.llvm.org/docs/UsersManual.html#profile-guided-optimization</a><span style="font-size:10pt;font-family:Arial,sans-serif;color:black;background:rgb(249,250,252)"></span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:10pt;font-family:Arial,sans-serif;color:black;background:rgb(249,250,252)"> </span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:10pt;font-family:Arial,sans-serif;color:black;background:rgb(249,250,252)">Can you please help me to get this information
if it’s something that clang has yet to support with regards to PGO generated
profiles.</span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:10pt;font-family:Arial,sans-serif;color:black;background:rgb(249,250,252)"> </span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:10pt;font-family:Arial,sans-serif;color:black;background:rgb(249,250,252)">Best Regards</span></p>

<p class="MsoNormal" style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:10pt;font-family:Arial,sans-serif;color:black;background:rgb(249,250,252)">Priyanka</span><span lang="EN-IN" style="font-size:10pt;font-family:Arial,sans-serif"></span></p></div>