[PATCH] Implement emitLeading/TrailingFence in the ARM backend

JF Bastien 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,
----------------
morisset wrote:
> 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.

http://reviews.llvm.org/D4960






More information about the llvm-commits mailing list