[PATCH] Use the load-acquire/store-release instructions optimally in AArch32

Artyom Skrobov Artyom.Skrobov at arm.com
Fri Sep 20 03:56:07 PDT 2013

Thank you for your feedback Owen!


Attaching the revised patch - is it all OK now?


1)      Allocating AtomicSDNode operands dynamically, as Tim suggested

2)      Marking all ATOMIC_xxx instructions as mayLoad = 1, mayStore = 1

3)      Comments added into ISDOpcodes.h on the extended semantics



From: Owen Anderson [mailto:resistor at mac.com] 
Sent: 19 September 2013 23:44
To: Artyom Skrobov
Cc: llvm-commits at cs.uiuc.edu LLVM; Tim Northover
Subject: Re: [PATCH] Use the load-acquire/store-release instructions
optimally in AArch32



On Sep 19, 2013, at 2:53 AM, Artyom Skrobov <Artyom.Skrobov at arm.com> wrote:

1) whether all / some / none of the ATOMIC_xxx insts should explicitly have
mayLoad = 1, mayStore = 1


I would generally err on the side of caution and go ahead and put them.

2) whether the change from getMemIntrinsicNode to getAtomic in
ReplaceATOMIC_OP_64 (in Tim's words, "extending the semantics of a
generic node") is a sensible approach.


I'm not very familiar with this area, but I'm OK with it in principle *if*
you write some documentation into the ISDOpcodes list describing the new
semantics and the operand layout.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130920/74e2f9e1/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ldacq-strel-AArch32-revised.patch
Type: application/octet-stream
Size: 104568 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130920/74e2f9e1/attachment.obj>

More information about the llvm-commits mailing list