[PATCH] Implement emitLeading/TrailingFence in the ARM backend
jfb at chromium.org
Wed Sep 3 10:46:27 PDT 2014
Comment at: lib/Target/ARM/ARMISelLowering.cpp:11052-11053
@@ +11051,4 @@
+ case AcquireRelease:
+ // FIXME: Too conservative, an isb after a dependent branch is enough
+ // See http://www.cl.cam.ac.uk/~pes20/cpp/cpp0xmappings.html, confirmed in
+ // http://www0.cs.ucl.ac.uk/staff/j.alglave/papers/toplas14.pdf page 36,
> t.p.northover wrote:
> > By my tests, an ISB is even heavier than a DMB, so we probably don't want to encourage this alternative. I'd just skip the comment entirely.
> Awesome, I was planning on doing benchmarks to evaluate this possibility; thanks for having done them :-)
> I will remove the comment.
I'd remove the comment but I think the benchmark is still good to do: different ARM implementations perform very differently. I assume Tim measured on Apple hardware? We can try out the ones we have on hand here to make sure the results are the same.
More information about the llvm-commits