[PATCH] D22399: [LoopDataPrefetch/AArch64] Don't add prefetch intrinsic, when the loop already has InlineAsm prefetch.

Junmo Park via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 2 15:47:46 PDT 2016


flyingforyou added a comment.

Thanks for the comment Tim.

> We have no idea if the prefetch is for the address we're considering.


This is original algorithm's behavior. When you see the comment over the checking routine, there is mentioned likes below.

  // If the loop already has prefetches, then assume that the user knows
  // what they are doing and don't add any more.



> even if it actually exists! (e.g. asm volatile("; We don't want a prfm here\n\t" ...)).


This can be fixed when we make check routine more robust.

> IMO, users should be encouraged to use the ACLE intrinsics instead.


I am not sure that all users will use ACLE intrinsics instead of inline asm. I think using inline asm or intrinsic is still user's choice. Because inline asm has much longer history than intrinsic. And there are so many codes which use inline asm.
If I miss something, please let me know.


https://reviews.llvm.org/D22399





More information about the llvm-commits mailing list