diff options
author | Vincent Lejeune <vljn@ovi.com> | 2013-05-17 16:50:37 +0000 |
---|---|---|
committer | Vincent Lejeune <vljn@ovi.com> | 2013-05-17 16:50:37 +0000 |
commit | f63f85affa943d3257f91640b15d4e0d1e4a22d1 (patch) | |
tree | dd157efaf8f9e68c29788361081aa6e8f56e57c9 | |
parent | 4ed9917147b1d1f2616f7c941bbe6999b979f510 (diff) | |
download | llvm-f63f85affa943d3257f91640b15d4e0d1e4a22d1.tar.gz llvm-f63f85affa943d3257f91640b15d4e0d1e4a22d1.tar.bz2 llvm-f63f85affa943d3257f91640b15d4e0d1e4a22d1.tar.xz |
R600: Replace big texture opcode switch in scheduler by usesTC/usesVC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182127 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/R600/R600MachineScheduler.cpp | 26 |
1 files changed, 3 insertions, 23 deletions
diff --git a/lib/Target/R600/R600MachineScheduler.cpp b/lib/Target/R600/R600MachineScheduler.cpp index b1f4541f2a..5bf1e33f40 100644 --- a/lib/Target/R600/R600MachineScheduler.cpp +++ b/lib/Target/R600/R600MachineScheduler.cpp @@ -243,6 +243,9 @@ R600SchedStrategy::AluKind R600SchedStrategy::getAluKind(SUnit *SU) const { int R600SchedStrategy::getInstKind(SUnit* SU) { int Opcode = SU->getInstr()->getOpcode(); + if (TII->usesTextureCache(Opcode) || TII->usesVertexCache(Opcode)) + return IDFetch; + if (TII->isALUInstr(Opcode)) { return IDAlu; } @@ -255,30 +258,7 @@ int R600SchedStrategy::getInstKind(SUnit* SU) { case AMDGPU::INTERP_VEC_LOAD: case AMDGPU::DOT_4: return IDAlu; - case AMDGPU::TEX_VTX_CONSTBUF: - case AMDGPU::TEX_VTX_TEXBUF: - case AMDGPU::TEX_LD: - case AMDGPU::TEX_GET_TEXTURE_RESINFO: - case AMDGPU::TEX_GET_GRADIENTS_H: - case AMDGPU::TEX_GET_GRADIENTS_V: - case AMDGPU::TEX_SET_GRADIENTS_H: - case AMDGPU::TEX_SET_GRADIENTS_V: - case AMDGPU::TEX_SAMPLE: - case AMDGPU::TEX_SAMPLE_C: - case AMDGPU::TEX_SAMPLE_L: - case AMDGPU::TEX_SAMPLE_C_L: - case AMDGPU::TEX_SAMPLE_LB: - case AMDGPU::TEX_SAMPLE_C_LB: - case AMDGPU::TEX_SAMPLE_G: - case AMDGPU::TEX_SAMPLE_C_G: - case AMDGPU::TXD: - case AMDGPU::TXD_SHADOW: - return IDFetch; default: - DEBUG( - dbgs() << "other inst: "; - SU->dump(DAG); - ); return IDOther; } } |