<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hey Cameron,<div><br></div><div>I reverted this in an attempt to bring the builders back.</div><div><br></div><div>Thanks!</div><div><br></div><div>-eric</div><div><br><div><div>On Feb 9, 2011, at 5:07 PM, Cameron Zwarich wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Author: zwarich<br>Date: Wed Feb  9 19:07:54 2011<br>New Revision: 125254<br><br>URL: <a href="http://llvm.org/viewvc/llvm-project?rev=125254&view=rev">http://llvm.org/viewvc/llvm-project?rev=125254&view=rev</a><br>Log:<br>Turn this pass ordering:<br><br>Natural Loop Information<br> Loop Pass Manager<br>   Canonicalize natural loops<br> Scalar Evolution Analysis<br> Loop Pass Manager<br>   Induction Variable Users<br>   Canonicalize natural loops<br>   Induction Variable Users<br>   Loop Strength Reduction<br><br>into this:<br><br>Scalar Evolution Analysis<br>Loop Pass Manager<br>  Canonicalize natural loops<br>  Induction Variable Users<br>  Loop Strength Reduction<br><br>This fixes <<a href="rdar://problem/8869639">rdar://problem/8869639</a>>. I also filed PR9184 on doing this sort of<br>thing automatically, but it seems easier to just change the ordering of the<br>passes if this is the only case.<br><br>Modified:<br>    llvm/trunk/lib/Transforms/Scalar/LoopStrengthReduce.cpp<br><br>Modified: llvm/trunk/lib/Transforms/Scalar/LoopStrengthReduce.cpp<br>URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/LoopStrengthReduce.cpp?rev=125254&r1=125253&r2=125254&view=diff">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/LoopStrengthReduce.cpp?rev=125254&r1=125253&r2=125254&view=diff</a><br>==============================================================================<br>--- llvm/trunk/lib/Transforms/Scalar/LoopStrengthReduce.cpp (original)<br>+++ llvm/trunk/lib/Transforms/Scalar/LoopStrengthReduce.cpp Wed Feb  9 19:07:54 2011<br>@@ -3815,15 +3815,15 @@<br> void LoopStrengthReduce::getAnalysisUsage(AnalysisUsage &AU) const {<br>   // We split critical edges, so we change the CFG.  However, we do update<br>   // many analyses if they are around.<br>-  AU.addPreservedID(LoopSimplifyID);<br><br>-  AU.addRequired<LoopInfo>();<br>-  AU.addPreserved<LoopInfo>();<br>-  AU.addRequiredID(LoopSimplifyID);<br>   AU.addRequired<DominatorTree>();<br>   AU.addPreserved<DominatorTree>();<br>   AU.addRequired<ScalarEvolution>();<br>   AU.addPreserved<ScalarEvolution>();<br>+  AU.addRequired<LoopInfo>();<br>+  AU.addPreserved<LoopInfo>();<br>+  AU.addRequiredID(LoopSimplifyID);<br>+  AU.addPreservedID(LoopSimplifyID);<br>   AU.addRequired<IVUsers>();<br>   AU.addPreserved<IVUsers>();<br> }<br><br><br>_______________________________________________<br>llvm-commits mailing list<br><a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits<br></div></blockquote></div><br></div></body></html>