[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



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