[llvm] r213831 - R600: Implement enableClusterLoads()
Matt Arsenault
arsenm2 at gmail.com
Thu Jul 24 10:03:49 PDT 2014
On Jul 24, 2014, at 6:46 AM, Tom Stellard <tom at stellard.net> wrote:
> On Thu, Jul 24, 2014 at 02:10:17AM -0000, Matt Arsenault wrote:
>> Author: arsenm
>> Date: Wed Jul 23 21:10:17 2014
>> New Revision: 213831
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=213831&view=rev
>> Log:
>> R600: Implement enableClusterLoads()
>>
>> Modified:
>> llvm/trunk/lib/Target/R600/AMDGPUInstrInfo.cpp
>> llvm/trunk/lib/Target/R600/AMDGPUInstrInfo.h
>>
>> Modified: llvm/trunk/lib/Target/R600/AMDGPUInstrInfo.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/R600/AMDGPUInstrInfo.cpp?rev=213831&r1=213830&r2=213831&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Target/R600/AMDGPUInstrInfo.cpp (original)
>> +++ llvm/trunk/lib/Target/R600/AMDGPUInstrInfo.cpp Wed Jul 23 21:10:17 2014
>> @@ -215,6 +215,10 @@ AMDGPUInstrInfo::getOpcodeAfterMemoryUnf
>> return 0;
>> }
>>
>> +bool AMDGPUInstrInfo::enableClusterLoads() const {
>> + return true;
>> +}
>> +
>
> What is this callback used for?
>
> -Tom
It’s the missing enabler to make the already implemented shouldScheduleLoadsNear, which should enable some load clustering in the DAG scheduler
>
>> bool AMDGPUInstrInfo::shouldScheduleLoadsNear(SDNode *Load1, SDNode *Load2,
>> int64_t Offset1, int64_t Offset2,
>> unsigned NumLoads) const {
>>
>> Modified: llvm/trunk/lib/Target/R600/AMDGPUInstrInfo.h
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/R600/AMDGPUInstrInfo.h?rev=213831&r1=213830&r2=213831&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Target/R600/AMDGPUInstrInfo.h (original)
>> +++ llvm/trunk/lib/Target/R600/AMDGPUInstrInfo.h Wed Jul 23 21:10:17 2014
>> @@ -120,6 +120,9 @@ public:
>> unsigned getOpcodeAfterMemoryUnfold(unsigned Opc,
>> bool UnfoldLoad, bool UnfoldStore,
>> unsigned *LoadRegIndex = nullptr) const override;
>> +
>> + bool enableClusterLoads() const override;
>> +
>> bool shouldScheduleLoadsNear(SDNode *Load1, SDNode *Load2,
>> int64_t Offset1, int64_t Offset2,
>> unsigned NumLoads) const override;
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140724/ef1e53ee/attachment.html>
More information about the llvm-commits
mailing list