[llvm] r223253 - R600/SI: Move SIInsertWaits into AMDGPUPassConfig::addPreSched2()

Tom Stellard thomas.stellard at amd.com
Wed Dec 3 10:27:08 PST 2014


Author: tstellar
Date: Wed Dec  3 12:27:08 2014
New Revision: 223253

URL: http://llvm.org/viewvc/llvm-project?rev=223253&view=rev
Log:
R600/SI: Move SIInsertWaits into AMDGPUPassConfig::addPreSched2()

This pass needs to be run after PrologEpilogInserter, because
that pass may inserter spill code which reads or writes memory.

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

Modified: llvm/trunk/lib/Target/R600/AMDGPUTargetMachine.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/R600/AMDGPUTargetMachine.cpp?rev=223253&r1=223252&r2=223253&view=diff
==============================================================================
--- llvm/trunk/lib/Target/R600/AMDGPUTargetMachine.cpp (original)
+++ llvm/trunk/lib/Target/R600/AMDGPUTargetMachine.cpp Wed Dec  3 12:27:08 2014
@@ -190,7 +190,6 @@ bool AMDGPUPassConfig::addPostRegAlloc()
 
   if (ST.getGeneration() > AMDGPUSubtarget::NORTHERN_ISLANDS) {
     addPass(createSIShrinkInstructionsPass());
-    addPass(createSIInsertWaits(*TM));
   }
   return false;
 }
@@ -204,6 +203,9 @@ bool AMDGPUPassConfig::addPreSched2() {
     addPass(&IfConverterID);
   if (ST.getGeneration() <= AMDGPUSubtarget::NORTHERN_ISLANDS)
     addPass(createR600ClauseMergePass(*TM));
+  if (ST.getGeneration() >= AMDGPUSubtarget::SOUTHERN_ISLANDS) {
+    addPass(createSIInsertWaits(*TM));
+  }
   return false;
 }
 





More information about the llvm-commits mailing list