R600/SI: Add pattern for the AMDGPU.barrier.local intrinsic
authorMichel Danzer <michel.daenzer@amd.com>
Wed, 10 Jul 2013 16:36:57 +0000 (16:36 +0000)
committerMichel Danzer <michel.daenzer@amd.com>
Wed, 10 Jul 2013 16:36:57 +0000 (16:36 +0000)
lit test coverage to follow in the next commit.

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 186011

llvm/lib/Target/R600/SIInstructions.td

index 61755b4..30f2a4a 100644 (file)
@@ -774,8 +774,17 @@ def S_CBRANCH_EXECNZ : SOPP <
 } // End isBranch = 1
 } // End isTerminator = 1
 
-//def S_BARRIER : SOPP_ <0x0000000a, "S_BARRIER", []>;
 let hasSideEffects = 1 in {
+def S_BARRIER : SOPP <0x0000000a, (ins), "S_BARRIER",
+  [(int_AMDGPU_barrier_local)]
+> {
+  let SIMM16 = 0;
+  let isBarrier = 1;
+  let hasCtrlDep = 1;
+  let mayLoad = 1;
+  let mayStore = 1;
+}
+
 def S_WAITCNT : SOPP <0x0000000c, (ins i32imm:$simm16), "S_WAITCNT $simm16",
   []
 >;