diff options
| author | Tom Stellard <thomas.stellard@amd.com> | 2013-06-28 15:46:59 +0000 |
|---|---|---|
| committer | Tom Stellard <thomas.stellard@amd.com> | 2013-06-28 15:46:59 +0000 |
| commit | ce540330df0d0cd29a302839c7c75100b1b1d136 (patch) | |
| tree | 4920e746ffcd34943c455cddd6f657887f40c945 /llvm/lib/Target/R600/R600EmitClauseMarkers.cpp | |
| parent | 5eb903d9c5c7bfc413f1f925c7c396dbcf932d33 (diff) | |
| download | bcm5719-llvm-ce540330df0d0cd29a302839c7c75100b1b1d136.tar.gz bcm5719-llvm-ce540330df0d0cd29a302839c7c75100b1b1d136.zip | |
R600: Add support for GROUP_BARRIER instruction
Reviewed-by: Vincent Lejeune<vljn at ovi.com>
llvm-svn: 185161
Diffstat (limited to 'llvm/lib/Target/R600/R600EmitClauseMarkers.cpp')
| -rw-r--r-- | llvm/lib/Target/R600/R600EmitClauseMarkers.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/llvm/lib/Target/R600/R600EmitClauseMarkers.cpp b/llvm/lib/Target/R600/R600EmitClauseMarkers.cpp index ff5ce5a2dd7..0aea2d7c030 100644 --- a/llvm/lib/Target/R600/R600EmitClauseMarkers.cpp +++ b/llvm/lib/Target/R600/R600EmitClauseMarkers.cpp @@ -177,7 +177,14 @@ private: AluInstCount ++; continue; } - if (I->getOpcode() == AMDGPU::KILLGT) { + // XXX: GROUP_BARRIER instructions cannot be in the same ALU clause as: + // + // * KILL or INTERP instructions + // * Any instruction that sets UPDATE_EXEC_MASK or UPDATE_PRED bits + // * Uses waterfalling (i.e. INDEX_MODE = AR.X) + // + // XXX: These checks have not been implemented yet. + if (TII->mustBeLastInClause(I->getOpcode())) { I++; break; } |

