[llvm] r294993 - GlobalISel: represent atomic loads & stores via the MachineMemOperand.

Ahmed Bougacha via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 14 12:41:59 PST 2017


On Mon, Feb 13, 2017 at 2:14 PM, Tim Northover via llvm-commits
<llvm-commits at lists.llvm.org> wrote:
> Author: tnorthover
> Date: Mon Feb 13 16:14:16 2017
> New Revision: 294993
>
> URL: http://llvm.org/viewvc/llvm-project?rev=294993&view=rev
> Log:
> GlobalISel: represent atomic loads & stores via the MachineMemOperand.

In existing Machine passes, it's always correct to drop the MMO,
right?  I'm worried relying on it for semantic meaning could cause
weird miscompiles if we ever try to use them.

-Ahmed


> Also make sure the AArch64 backend doesn't try to convert them into normal
> loads and stores.
>
> Modified:
>     llvm/trunk/lib/CodeGen/GlobalISel/IRTranslator.cpp
>     llvm/trunk/lib/Target/AArch64/AArch64InstructionSelector.cpp
>     llvm/trunk/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll
>     llvm/trunk/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
>


More information about the llvm-commits mailing list