aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/R600/R600ControlFlowFinalizer.cpp
diff options
context:
space:
mode:
authorVincent Lejeune <vljn@ovi.com>2013-05-17 16:49:55 +0000
committerVincent Lejeune <vljn@ovi.com>2013-05-17 16:49:55 +0000
commitf9f4e1e7db6ea36a449e71f425217e0b3a92c206 (patch)
tree1f5a7660adcd45c3670d7b71e4beea84fd019cc6 /llvm/lib/Target/R600/R600ControlFlowFinalizer.cpp
parent709e01688ddb5f15e6eb12f8fe482d847e2997d6 (diff)
downloadllvm-f9f4e1e7db6ea36a449e71f425217e0b3a92c206.zip
llvm-f9f4e1e7db6ea36a449e71f425217e0b3a92c206.tar.gz
llvm-f9f4e1e7db6ea36a449e71f425217e0b3a92c206.tar.bz2
R600: Factorize Fetch size limit inside AMDGPUSubTarget
llvm-svn: 182122
Diffstat (limited to 'llvm/lib/Target/R600/R600ControlFlowFinalizer.cpp')
-rw-r--r--llvm/lib/Target/R600/R600ControlFlowFinalizer.cpp7
1 files changed, 2 insertions, 5 deletions
diff --git a/llvm/lib/Target/R600/R600ControlFlowFinalizer.cpp b/llvm/lib/Target/R600/R600ControlFlowFinalizer.cpp
index cdda3dab..f1e0732 100644
--- a/llvm/lib/Target/R600/R600ControlFlowFinalizer.cpp
+++ b/llvm/lib/Target/R600/R600ControlFlowFinalizer.cpp
@@ -148,7 +148,7 @@ private:
for (MachineBasicBlock::iterator E = MBB.end(); I != E; ++I) {
if (IsTrivialInst(I))
continue;
- if (AluInstCount > MaxFetchInst)
+ if (AluInstCount >= MaxFetchInst)
break;
if ((IsTex && !TII->usesTextureCache(I)) ||
(!IsTex && !TII->usesVertexCache(I)))
@@ -316,10 +316,7 @@ public:
TRI(TII->getRegisterInfo()),
ST(tm.getSubtarget<AMDGPUSubtarget>()) {
const AMDGPUSubtarget &ST = tm.getSubtarget<AMDGPUSubtarget>();
- if (ST.device()->getGeneration() <= AMDGPUDeviceInfo::HD4XXX)
- MaxFetchInst = 8;
- else
- MaxFetchInst = 16;
+ MaxFetchInst = ST.getTexVTXClauseSize();
}
virtual bool runOnMachineFunction(MachineFunction &MF) {