diff options
Diffstat (limited to 'llvm/include')
-rw-r--r-- | llvm/include/llvm/IR/Intrinsics.td | 11 | ||||
-rw-r--r-- | llvm/include/llvm/IR/IntrinsicsAMDGPU.td | 2 |
2 files changed, 12 insertions, 1 deletions
diff --git a/llvm/include/llvm/IR/Intrinsics.td b/llvm/include/llvm/IR/Intrinsics.td index b67dfc4a1fc..aee029c4189 100644 --- a/llvm/include/llvm/IR/Intrinsics.td +++ b/llvm/include/llvm/IR/Intrinsics.td @@ -38,6 +38,17 @@ def IntrReadArgMem : IntrinsicProperty; // deleted if dead. def IntrReadMem : IntrinsicProperty; +// IntrWriteMem - This intrinsic writes to unspecified memory, but does not +// read from memory, and has no other side effects. This means dead stores +// before calls to this intrinsics may be removed. +def IntrWriteMem : IntrinsicProperty; + +// IntrWriteArgMem - This intrinsic writes only to memory that one of its +// arguments points to, but may access an unspecified amount. The intrinsic +// does not read from memory and has no other side effects. This means that +// dead stores before calls to this intrinsics may be removed. +def IntrWriteArgMem : IntrinsicProperty; + // IntrReadWriteArgMem - This intrinsic reads and writes only from memory that // one of its arguments points to, but may access an unspecified amount. The // reads and writes may be volatile, but except for this it has no other side diff --git a/llvm/include/llvm/IR/IntrinsicsAMDGPU.td b/llvm/include/llvm/IR/IntrinsicsAMDGPU.td index 24e8c040287..5c5128c4dc8 100644 --- a/llvm/include/llvm/IR/IntrinsicsAMDGPU.td +++ b/llvm/include/llvm/IR/IntrinsicsAMDGPU.td @@ -243,7 +243,7 @@ class AMDGPUBufferStore : Intrinsic < llvm_i32_ty, // offset(SGPR/VGPR/imm) llvm_i1_ty, // glc(imm) llvm_i1_ty], // slc(imm) - []>; + [IntrWriteMem]>; def int_amdgcn_buffer_store_format : AMDGPUBufferStore; def int_amdgcn_buffer_store : AMDGPUBufferStore; |