[llvm] r326077 - [LoopInterchange] Loops with empty dependency matrix are safe.
Philip Reames via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 26 11:34:47 PST 2018
Test case?
On 02/26/2018 02:45 AM, Florian Hahn via llvm-commits wrote:
> Author: fhahn
> Date: Mon Feb 26 02:45:25 2018
> New Revision: 326077
>
> URL: http://llvm.org/viewvc/llvm-project?rev=326077&view=rev
> Log:
> [LoopInterchange] Loops with empty dependency matrix are safe.
>
> The dependency matrix is only empty if no conflicting load/store
> instructions have been found. In that case, it is safe to interchange.
>
> For the LLVM test-suite, after this change around 1900 loops are
> interchanged, whereas it is 15 before this change. On cortex-a57,
> this gives an improvement of -0.57% on the geomean execution
> time of SPEC2006, SPEC2000 and the test-suite. There are a
> few small perf regressions, but I think we can improve on those
> by making the cost model better.
>
> Reviewers: karthikthecool, mcrosier
>
> Reviewed by: karthikthecool
>
> Differential Revision: https://reviews.llvm.org/D43236
>
> Modified:
> llvm/trunk/lib/Transforms/Scalar/LoopInterchange.cpp
>
> Modified: llvm/trunk/lib/Transforms/Scalar/LoopInterchange.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/LoopInterchange.cpp?rev=326077&r1=326076&r2=326077&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/Scalar/LoopInterchange.cpp (original)
> +++ llvm/trunk/lib/Transforms/Scalar/LoopInterchange.cpp Mon Feb 26 02:45:25 2018
> @@ -173,9 +173,6 @@ static bool populateDependencyMatrix(Cha
> }
> }
>
> - // We don't have a DepMatrix to check legality return false.
> - if (DepMatrix.empty())
> - return false;
> return true;
> }
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list