summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2016-04-29 20:23:42 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2016-04-29 20:23:42 +0000
commitcf2744f1c8caafa12d28bf9e5032f78bef65f035 (patch)
tree6289ac5899c2ac3596d37a9168844a6ec1a4ebeb /llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
parentab2232cf73218ff324f4f9d399e9c56e4a240c15 (diff)
downloadbcm5719-llvm-cf2744f1c8caafa12d28bf9e5032f78bef65f035.tar.gz
bcm5719-llvm-cf2744f1c8caafa12d28bf9e5032f78bef65f035.zip
AMDGPU/SI: Move post regalloc run of SIShrinkInstructions
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
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp')
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp6
1 files changed, 1 insertions, 5 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp b/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
index 9cd19b8511f..13abe7f1343 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
@@ -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);
}
OpenPOWER on IntegriCloud