<div dir="ltr">I'm seeing some internal asan failures attributed to this change - though don't have a tidy/external reproduction yet (first pass/attempt to reproduce this in an open source checkout did not produce asan failures in the FunctionAttrs/liveness.ll test case that is failing internally). Mentioning this in case it's relevant to you/if you're seeing something similar, etc...</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Aug 4, 2019 at 11:39 AM Johannes Doerfert via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.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">Author: jdoerfert<br>
Date: Sun Aug  4 11:40:01 2019<br>
New Revision: 367793<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=367793&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=367793&view=rev</a><br>
Log:<br>
[Attributor][NFC] Create some attributes earlier<br>
<br>
Modified:<br>
    llvm/trunk/lib/Transforms/IPO/Attributor.cpp<br>
<br>
Modified: llvm/trunk/lib/Transforms/IPO/Attributor.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/Attributor.cpp?rev=367793&r1=367792&r2=367793&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/Attributor.cpp?rev=367793&r1=367792&r2=367793&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Transforms/IPO/Attributor.cpp (original)<br>
+++ llvm/trunk/lib/Transforms/IPO/Attributor.cpp Sun Aug  4 11:40:01 2019<br>
@@ -2488,6 +2488,12 @@ void Attributor::identifyDefaultAbstract<br>
     Function &F, InformationCache &InfoCache,<br>
     DenseSet</* Attribute::AttrKind */ unsigned> *Whitelist) {<br>
<br>
+  // Check for dead BasicBlocks in every function.<br>
+  registerAA(*new AAIsDeadFunction(F, InfoCache));<br>
+<br>
+  // Every function might be "will-return".<br>
+  registerAA(*new AAWillReturnFunction(F, InfoCache));<br>
+<br>
   // Every function can be nounwind.<br>
   registerAA(*new AANoUnwindFunction(F, InfoCache));<br>
<br>
@@ -2542,12 +2548,6 @@ void Attributor::identifyDefaultAbstract<br>
     }<br>
   }<br>
<br>
-  // Every function might be "will-return".<br>
-  registerAA(*new AAWillReturnFunction(F, InfoCache));<br>
-<br>
-  // Check for dead BasicBlocks in every function.<br>
-  registerAA(*new AAIsDeadFunction(F, InfoCache));<br>
-<br>
   // Walk all instructions to find more attribute opportunities and also<br>
   // interesting instructions that might be queried by abstract attributes<br>
   // during their initialization or update.<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote></div>