<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jul 1, 2022 at 10:01 AM Arthur Eubanks via Phabricator <<a href="mailto:reviews@reviews.llvm.org">reviews@reviews.llvm.org</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">aeubanks added a comment.<br>
<br>
this doesn't seem very principled, it's seemingly adding checks in random places hoping that passes won't look too much at assumes/type tests<br>
is there anything wrong with making the instrumented build use -fwhole-program-vtables?<br></blockquote><div>These instructions are like annotations. I don't think they should count as real instructions in the heuristics. </div><div>I agree that we might need a better interface. But I do think they need to be handled differently.</div><div><br></div><div>-fwhole-pgoram-vtables needs lto. we don't want to build instrumentation binary with lto.</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
<br>
<br>
================<br>
Comment at: llvm/test/Transforms/InstCombine/wpvt.ll:1<br>
+; RUN: opt < %s -passes=instcombine -S | FileCheck %s<br>
+target triple = "x86_64-grtev4-linux-gnu"<br>
----------------<br>
this test is very noisy and doesn't really show what's going on, could you reduce it a bit, and also maybe run it through `-passes=metarenamer` (and maybe convert to opaque pointers to remove some unnecessary pointer bitcasts via `opt -S -opaque-pointers foo.ll`)<br>
<br>
<br>
CHANGES SINCE LAST ACTION<br>
<a href="https://reviews.llvm.org/D129003/new/" rel="noreferrer" target="_blank">https://reviews.llvm.org/D129003/new/</a><br>
<br>
<a href="https://reviews.llvm.org/D129003" rel="noreferrer" target="_blank">https://reviews.llvm.org/D129003</a><br>
<br>
</blockquote></div></div>