<div dir="ltr"><div class="gmail_default" style="font-size:small">Hi all,</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Gollvm does not support the sanitizers at the moment. There is some support for PGO (driver <a href="https://go.googlesource.com/gollvm/+/38c6bf20a3878c8715962b122b13426ee7b9fffa">plumbing</a> and such) but it is in a fairly rudimentary state, mainly there to allow running experiments. It would need a good deal more work to make it production-quality.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Thanks, Than</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Oct 1, 2021 at 1:54 PM Xinliang David Li <<a href="mailto:davidxl@google.com">davidxl@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Fri, Oct 1, 2021 at 10:32 AM Teresa Johnson <<a href="mailto:tejohnson@google.com" target="_blank">tejohnson@google.com</a>> wrote:<br>
><br>
> I was going to respond similarly, and add a note that it isn't clear that gollvm (LLVM-based Go compiler) supports either PGO or the sanitizers, so that may be more difficult than Rust which does. As Snehasish notes, we are focused on C/C++, but this will all be done in the LLVM IR level and should be language independent in theory.<br>
<br>
+Than McIntosh to comment more on PGO and sanitizer support for gollvm.<br>
<br>
David<br>
<br>
<br>
> Teresa<br>
><br>
> On Fri, Oct 1, 2021 at 10:25 AM Snehasish Kumar <<a href="mailto:snehasishk@google.com" target="_blank">snehasishk@google.com</a>> wrote:<br>
>><br>
>> Hi Andrey,<br>
>><br>
>> The serialization format is language independent, though our focus is C/C++. Note that our instrumentation is based on the LLVM sanitizer infrastructure and should work for Rust (supports building with sanitizers [1]). We have not considered using the data profile for non-C/C++ codes.<br>
>><br>
>> Regards,<br>
>> Snehasish<br>
>><br>
>> [1] <a href="https://doc.rust-lang.org/beta/unstable-book/compiler-flags/sanitizer.html" rel="noreferrer" target="_blank">https://doc.rust-lang.org/beta/unstable-book/compiler-flags/sanitizer.html</a><br>
>><br>
>> On Fri, Oct 1, 2021 at 9:14 AM Andrey Bokhanko <<a href="mailto:andreybokhanko@gmail.com" target="_blank">andreybokhanko@gmail.com</a>> wrote:<br>
>>><br>
>>> Hi Snehasish, David and Theresa,<br>
>>><br>
>>> I'm really glad to see the steady progress in this area!<br>
>>><br>
>>> It looks like the format is pretty much language independent<br>
>>> (correct?) -- so it can be applied not only to C/C++, but other<br>
>>> languages (Rust) and even toolchains (Go) as well? If you have already<br>
>>> considered using data profile for non-C/C++, may I kindly ask you to<br>
>>> share your thoughts on this?<br>
>>><br>
>>> Yours,<br>
>>> Andrey<br>
>>> ===<br>
>>> Advanced Software Technology Lab<br>
>>> Huawei<br>
>>><br>
>>> On Thu, Sep 30, 2021 at 1:17 AM Snehasish Kumar <<a href="mailto:snehasishk@google.com" target="_blank">snehasishk@google.com</a>> wrote:<br>
>>> ><br>
><br>
><br>
><br>
> --<br>
> Teresa Johnson | Software Engineer | <a href="mailto:tejohnson@google.com" target="_blank">tejohnson@google.com</a> |<br>
</blockquote></div>