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

Tim Northover t.p.northover at gmail.com
Wed Sep 11 06:21:40 PDT 2013


Hi Artyom,

> I don't know why it was like this, but if I remove "mayLoad = 1,
>mayStore = 1" from the 64-bit ops, everything continues to work,
> so probably, they should not be there at all.

That doesn't necessarily follow. Those fields won't prevent anything
from compiling, but end up in ARMGenInstrInfo.inc and are checked by
various later MachineInstr passes. TableGen tries to infer them from
patterns attached to the instruction, but if there aren't any (and I
don't think Pats count (anotherFIXME)) the flags won't be set.

Anyway, I wouldn't expect mistakes to be noticed in any simple
examples. It'll strike when something decides it can CSE your atomic
operation or something equally nasty.

Cheers.

Tim.



More information about the llvm-commits mailing list