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

Eli Friedman eli.friedman at gmail.com
Thu Jun 13 11:18:13 PDT 2013


On Thu, Jun 13, 2013 at 10:52 AM, Guo, Xiaoyi <Xiaoyi.Guo at amd.com> wrote:

>  I mean something like a target-specific fence machine instruction which
> forces ordering of all loads/stores. I want to clarify the meaning of
> “noalias” in this case. Is the fence machine instruction considered
> “touching” all memory and thus breaks the “noalias” contract?
>
A fence doesn't modify memory in the sense LLVM cares about.  It's a no-op
in a single-threaded environment, and in a multi-threaded environment it's
just a way to express ordering on memory modifications made by other
threads.

-Eli
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130613/42b9dd40/attachment.html>


More information about the llvm-dev mailing list