[PATCH] D24577: [RFC] Move synchronization scope and atomic orderings from SDNode to MachineMemOperand

Konstantin Zhuravlyov via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 14 08:57:07 PDT 2016


kzhuravl added a comment.

In https://reviews.llvm.org/D24577#570534, @tstellarAMD wrote:

> In https://reviews.llvm.org/D24577#557734, @jlebar wrote:
>
> > In https://reviews.llvm.org/D24577#548365, @kzhuravl wrote:
> >
> > > Currently machine memory operand's member layout has a 4 byte hole between `BaseAlignLog2` and `AAInfo`.
> >
> >
> > Only on 64-bit platforms, right?  Are we willing to bite a 4-byte increase to MMO size on 32-bit?
>
>
> This would be 4-bytes per MachineInstr with an MMO, that doesn't see too bad to me.


Alternatively, we can introduce a new class, which will describe atomic information and will be derived from MachineMemOperand (MachineAtomicOperand?). Make atomic accessor functions in MachineMemOperand virtual, and override them in the derived class. This way only 4 byte increase for atomic operations. Any thoughts on this?


https://reviews.llvm.org/D24577





More information about the llvm-commits mailing list