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

Philip Reames via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 16 17:29:57 PST 2017


I've only caught a bit of this thread, but this sounds like a general 
problem that isn't GlobalISEL specific.  Is the intention to do the same 
thing for all of ISEL or to special case GlobalISEL in some way?

(As someone who probably needs to spend a lot of time looking at atomic 
operations in the x86 backend in the near future, I'd strongly prefer a 
single consistent system throughout.)

Philip


On 02/16/2017 09:56 AM, Ahmed Bougacha via llvm-commits wrote:
> Asserting that a generic memory instruction has one MMO seems reasonable to me.
>
> But beyond making sure we don't drop the MMO, the fact that it's on
> the side makes it easier to introduce bugs that ignore it.  But I
> suppose that's not that different from isVolatile and whatnot in both
> IR and SDAG.
> -Ahmed
>
>
> On Wed, Feb 15, 2017 at 2:41 PM, Tim Northover <tnorthover at apple.com> wrote:
>>> Do we have a way to "stomp on anyone that tries" automatically?
>> Well, dropping a new "MachineMemOperandOperand" would be detected automatically when the verifier checks the instruction has the correct number of operands. Other than that, only code review; but I think it's pretty unlikely someone will break it accidentally.
>>
>> Tim.
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits



More information about the llvm-commits mailing list