<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 21 July 2014 17:08, <a href="mailto:hfinkel@anl.gov">hfinkel@anl.gov</a> <span dir="ltr"><<a href="mailto:hfinkel@anl.gov" target="_blank">hfinkel@anl.gov</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Use isDereferenceablePointer (which checks things like argument's dereferenceable attribute) in addition to using isSafeToLoadUnconditionally (which is mostly useful for its local instruction scan). Also fixed up one of the test cases.<br>

</blockquote><div><br></div><div>The iteration order of the functions within an SCC is non-deterministic and may result in different attributes being added depending on pointer comparison. Consider the case of two leaf functions sharing the same parent, then add call edges between those two "leaf" functions. The df iteration may visit either of those two first, and if one of them depends on the attributes on the other, but the other does not, then you have an order dependence.</div>

<div><br></div><div>Nick</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5"><br>
<a href="http://reviews.llvm.org/D4609" target="_blank">http://reviews.llvm.org/D4609</a><br>
<br>
Files:<br>
  include/llvm-c/Transforms/IPO.h<br>
  include/llvm/InitializePasses.h<br>
  include/llvm/LinkAllPasses.h<br>
  include/llvm/Transforms/IPO.h<br>
  lib/LTO/LTOCodeGenerator.cpp<br>
  lib/Transforms/IPO/CMakeLists.txt<br>
  lib/Transforms/IPO/FunctionAttrsTD.cpp<br>
  lib/Transforms/IPO/IPO.cpp<br>
  lib/Transforms/IPO/PassManagerBuilder.cpp<br>
  test/Transforms/FunctionAttrsTD/large-agg.ll<br>
  test/Transforms/FunctionAttrsTD/malloc.ll<br>
</div></div><br>_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
<br></blockquote></div><br></div></div>