[LLVMdev] Loads/Stores and MachineMemOperand
Justin Holewinski
justin.holewinski at gmail.com
Wed Dec 12 17:50:07 PST 2012
Is this documented somewhere?
On Wed, Dec 12, 2012 at 6:54 PM, Jakob Stoklund Olesen <stoklund at 2pi.dk>wrote:
>
> On Dec 11, 2012, at 11:00 AM, Justin Holewinski <
> justin.holewinski at gmail.com> wrote:
>
> > I want to get some clarification on the exact semantics of the
> MachineMemOperand attached to memory-touching instructions. From what I
> understand, a MemSDNode has an associated MachineMemOperand and a
> MachineInstr can have zero or more attached MachineMemOperands.
>
> The MMOs provide extra, optional information that late optimizers may use
> to combine or reorder memory operations.
>
> In particular, stripping all MMOs does not break the semantics of the
> program, it just removes some opportunities for optimization.
>
> A load or store without an MMO should be treated as if it were volatile.
>
> This means you probably can't use MMOs for reliable address space
> information.
>
> /jakob
>
>
--
Thanks,
Justin Holewinski
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20121212/0630de6d/attachment.html>
More information about the llvm-dev
mailing list