[llvm-dev] How to solve circular dependency between passes

Jimmy Zhongduo Lin via llvm-dev llvm-dev at lists.llvm.org
Tue Jan 7 14:34:05 PST 2020


Hi,

I am working on a case for loop interchange, and discovered that to enable loop interchange in my case, I have to run it before LICM and after Induction Variable Simplify. So the  good order for me is: Induction Variable Simplify -> Loop Interchange -> LICM. However, I also found cases where Induction Variable Simplify works better after LICM, and running Induction Variable Simplify after LICM again still results in suboptimal result.

Has anyone encountered similar dependency problem when reordering passes? If so, can you kindly share your solution or suggestion?

Thanks,
Jimmy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200107/665cd8a8/attachment.html>


More information about the llvm-dev mailing list