AMDGPU/SI: Move post regalloc run of SIShrinkInstructions
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Fri, 29 Apr 2016 20:23:42 +0000 (20:23 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Fri, 29 Apr 2016 20:23:42 +0000 (20:23 +0000)
Move to addPreEmitPass. This is so it runs after post-RA
scheduling so we can merge s_nops emitted by the scheduler
and hazard recognizer.

llvm-svn: 268095

llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp

index 9cd19b8..13abe7f 100644 (file)
@@ -205,7 +205,6 @@ public:
   void addFastRegAlloc(FunctionPass *RegAllocPass) override;
   void addOptimizedRegAlloc(FunctionPass *RegAllocPass) override;
   void addPreRegAlloc() override;
-  void addPostRegAlloc() override;
   void addPreSched2() override;
   void addPreEmitPass() override;
 };
@@ -381,15 +380,12 @@ void GCNPassConfig::addOptimizedRegAlloc(FunctionPass *RegAllocPass) {
   TargetPassConfig::addOptimizedRegAlloc(RegAllocPass);
 }
 
-void GCNPassConfig::addPostRegAlloc() {
-  addPass(createSIShrinkInstructionsPass(), false);
-}
-
 void GCNPassConfig::addPreSched2() {
 }
 
 void GCNPassConfig::addPreEmitPass() {
   addPass(createSIInsertWaitsPass(), false);
+  addPass(createSIShrinkInstructionsPass());
   addPass(createSILowerControlFlowPass(), false);
   addPass(createSIInsertNopsPass(), false);
 }