[llvm] r320188 - AMDGPU: Set IntrReadMem on memtime intrinsics
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Fri Dec 8 12:01:02 PST 2017
Author: arsenm
Date: Fri Dec 8 12:01:02 2017
New Revision: 320188
URL: http://llvm.org/viewvc/llvm-project?rev=320188&view=rev
Log:
AMDGPU: Set IntrReadMem on memtime intrinsics
Modified:
llvm/trunk/include/llvm/IR/IntrinsicsAMDGPU.td
llvm/trunk/lib/Target/AMDGPU/SMInstructions.td
Modified: llvm/trunk/include/llvm/IR/IntrinsicsAMDGPU.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/IntrinsicsAMDGPU.td?rev=320188&r1=320187&r2=320188&view=diff
==============================================================================
--- llvm/trunk/include/llvm/IR/IntrinsicsAMDGPU.td (original)
+++ llvm/trunk/include/llvm/IR/IntrinsicsAMDGPU.td Fri Dec 8 12:01:02 2017
@@ -570,7 +570,7 @@ def int_amdgcn_s_dcache_inv :
def int_amdgcn_s_memtime :
GCCBuiltin<"__builtin_amdgcn_s_memtime">,
- Intrinsic<[llvm_i64_ty], [], []>;
+ Intrinsic<[llvm_i64_ty], [], [IntrReadMem]>;
def int_amdgcn_s_sleep :
GCCBuiltin<"__builtin_amdgcn_s_sleep">,
@@ -816,7 +816,7 @@ def int_amdgcn_s_dcache_wb_vol :
def int_amdgcn_s_memrealtime :
GCCBuiltin<"__builtin_amdgcn_s_memrealtime">,
- Intrinsic<[llvm_i64_ty], [], []>;
+ Intrinsic<[llvm_i64_ty], [], [IntrReadMem]>;
// llvm.amdgcn.ds.permute <index> <src>
def int_amdgcn_ds_permute :
Modified: llvm/trunk/lib/Target/AMDGPU/SMInstructions.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/SMInstructions.td?rev=320188&r1=320187&r2=320188&view=diff
==============================================================================
--- llvm/trunk/lib/Target/AMDGPU/SMInstructions.td (original)
+++ llvm/trunk/lib/Target/AMDGPU/SMInstructions.td Fri Dec 8 12:01:02 2017
@@ -129,11 +129,8 @@ class SM_Time_Pseudo<string opName, SDPa
opName, (outs SReg_64_XEXEC:$sdst), (ins),
" $sdst", [(set i64:$sdst, (node))]> {
let hasSideEffects = 1;
- // FIXME: mayStore = ? is a workaround for tablegen bug for different
- // inferred mayStore flags for the instruction pattern vs. standalone
- // Pat. Each considers the other contradictory.
- let mayStore = ?;
- let mayLoad = ?;
+ let mayStore = 0;
+ let mayLoad = 1;
let has_sbase = 0;
let has_offset = 0;
}
More information about the llvm-commits
mailing list