[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:35:26 PST 2018


Landed in r326078, ignore this.


On 02/26/2018 11:34 AM, Philip Reames wrote:
> 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