[PATCH] AMDGPU: Run SIInsertWaits as pre-emit pass

Matt Arsenault Matthew.Arsenault at amd.com
Sat Jun 27 14:40:25 PDT 2015


Running this after the scheduler enables scheduling
waits later so other ALU instructions can run while
this would be waiting.
    
When combined with enabling the post-RA scheduler, this
gives about a ~20% improvement on sgemm.

http://reviews.llvm.org/D10793

Files:
  lib/Target/AMDGPU/AMDGPUTargetMachine.cpp

Index: lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
===================================================================
--- lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
+++ lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
@@ -280,10 +280,10 @@
 }
 
 void GCNPassConfig::addPreSched2() {
-  addPass(createSIInsertWaits(*TM), false);
 }
 
 void GCNPassConfig::addPreEmitPass() {
+  addPass(createSIInsertWaits(*TM), false);
   addPass(createSILowerControlFlowPass(*TM), false);
 }

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D10793.28632.patch
Type: text/x-patch
Size: 468 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150627/ccb9c7e0/attachment.bin>


More information about the llvm-commits mailing list