diff options
Diffstat (limited to 'src/gallium/drivers/radeon/AMDGPUTargetMachine.cpp')
-rw-r--r-- | src/gallium/drivers/radeon/AMDGPUTargetMachine.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeon/AMDGPUTargetMachine.cpp b/src/gallium/drivers/radeon/AMDGPUTargetMachine.cpp index b97c0febfc4..6f15430bd53 100644 --- a/src/gallium/drivers/radeon/AMDGPUTargetMachine.cpp +++ b/src/gallium/drivers/radeon/AMDGPUTargetMachine.cpp @@ -158,6 +158,12 @@ bool AMDGPUPassConfig::addPreEmitPass() { PM->add(createAMDGPUCFGPreparationPass(*TM)); PM->add(createAMDGPUCFGStructurizerPass(*TM)); + const AMDGPUSubtarget &ST = TM->getSubtarget<AMDGPUSubtarget>(); + if (ST.device()->getGeneration() <= AMDGPUDeviceInfo::HD6XXX) { + PM->add(createR600ExpandSpecialInstrsPass(*TM)); + addPass(FinalizeMachineBundlesID); + } + return false; } |