[llvm] r241473 - AMDGPU: Run SIInsertWaits as pre-emit pass

Matt Arsenault Matthew.Arsenault at amd.com
Mon Jul 6 10:02:20 PDT 2015


Author: arsenm
Date: Mon Jul  6 12:02:20 2015
New Revision: 241473

URL: http://llvm.org/viewvc/llvm-project?rev=241473&view=rev
Log:
AMDGPU: Run SIInsertWaits as pre-emit pass

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.

Modified:
    llvm/trunk/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp

Modified: llvm/trunk/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp?rev=241473&r1=241472&r2=241473&view=diff
==============================================================================
--- llvm/trunk/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp (original)
+++ llvm/trunk/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp Mon Jul  6 12:02:20 2015
@@ -280,10 +280,10 @@ void GCNPassConfig::addPostRegAlloc() {
 }
 
 void GCNPassConfig::addPreSched2() {
-  addPass(createSIInsertWaits(*TM), false);
 }
 
 void GCNPassConfig::addPreEmitPass() {
+  addPass(createSIInsertWaits(*TM), false);
   addPass(createSILowerControlFlowPass(*TM), false);
 }
 





More information about the llvm-commits mailing list