[LLVMdev] A question w.r.t fence instruction vs. noalias pointer

Eli Friedman eli.friedman at gmail.com
Wed Jun 12 20:08:00 PDT 2013


On Wed, Jun 12, 2013 at 7:28 PM, Guo, Xiaoyi <Xiaoyi.Guo at amd.com> wrote:

>  So fence only forces ordering of atomic instructions.****
>
> ** **
>
> Let me change my question then.****
>
> ** **
>
> If I have a target-specific intrinsic which forces ordering of ordinary
> load/store instructions. Then should it also force ordering of load/stores
> to noalias pointers in caller functions?
>

So, something like 'asm volatile ("":::"memory")'?

LLVM can and will move noalias loads/stores across an asm statement like
this; it assumes noalias means "nothing inside this function will touch the
memory in question except accesses through this pointer".

-Eli
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130612/4c7fa718/attachment.html>


More information about the llvm-dev mailing list