diff options
| author | Eric Christopher <echristo@gmail.com> | 2017-03-25 20:20:23 +0000 | 
|---|---|---|
| committer | Eric Christopher <echristo@gmail.com> | 2017-03-25 20:20:23 +0000 | 
| commit | 0935875c40b33e80c17c3fcf489c3aa2aa5ef1d6 (patch) | |
| tree | 931ef8e11f7be234c697c184f4114d6a407721f6 /llvm/include | |
| parent | 6397963c815b88ebe98ed8376bce042862d59fe2 (diff) | |
| download | bcm5719-llvm-0935875c40b33e80c17c3fcf489c3aa2aa5ef1d6.tar.gz bcm5719-llvm-0935875c40b33e80c17c3fcf489c3aa2aa5ef1d6.zip | |
Change the default attributes for llvm.prefetch to inaccessiblemem_or_argmemonly
so that we can perform some optimizations across it.
Fixes PR32365
llvm-svn: 298781
Diffstat (limited to 'llvm/include')
| -rw-r--r-- | llvm/include/llvm/IR/Intrinsics.td | 14 | 
1 files changed, 7 insertions, 7 deletions
| diff --git a/llvm/include/llvm/IR/Intrinsics.td b/llvm/include/llvm/IR/Intrinsics.td index c0305a08d1b..c1a36f1ed48 100644 --- a/llvm/include/llvm/IR/Intrinsics.td +++ b/llvm/include/llvm/IR/Intrinsics.td @@ -331,13 +331,13 @@ def int_get_dynamic_area_offset : Intrinsic<[llvm_anyint_ty]>;  def int_thread_pointer : Intrinsic<[llvm_ptr_ty], [], [IntrNoMem]>,                           GCCBuiltin<"__builtin_thread_pointer">; -// IntrArgMemOnly is more pessimistic than strictly necessary for prefetch, -// however it does conveniently prevent the prefetch from being reordered -// with respect to nearby accesses to the same memory. -def int_prefetch      : Intrinsic<[], -                                  [llvm_ptr_ty, llvm_i32_ty, llvm_i32_ty, -                                   llvm_i32_ty], -                                  [IntrArgMemOnly, NoCapture<0>]>; +// IntrInaccessibleMemOrArgMemOnly is a little more pessimistic than strictly +// necessary for prefetch, however it does conveniently prevent the prefetch +// from being reordered overly much with respect to nearby access to the same +// memory while not impeding optimization. +def int_prefetch +    : Intrinsic<[], [ llvm_ptr_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty ], +                [ IntrInaccessibleMemOrArgMemOnly, ReadOnly<0>, NoCapture<0> ]>;  def int_pcmarker      : Intrinsic<[], [llvm_i32_ty]>;  def int_readcyclecounter : Intrinsic<[llvm_i64_ty]>; | 

