[PATCH] Implement emitLeading/TrailingFence in the ARM backend

JF Bastien jfb at chromium.org
Wed Aug 20 22:27:53 PDT 2014


Is there documentation for ARM that you can point at to explain why this is correct? Maybe [[ http://infocenter.arm.com/help/topic/com.arm.doc.genc007826/Barrier_Litmus_Tests_and_Cookbook_A08.pdf | the ARM barrier litmus tests and cookboook ]]?

================
Comment at: lib/Target/ARM/ARMISelLowering.cpp:10860
@@ -10859,1 +10859,3 @@
 
+void MakeDMB(IRBuilder<> &Builder, unsigned Domain) {
+  Module *M = Builder.GetInsertBlock()->getParent()->getParent();
----------------
This should be `static`, and the `Domain` parameter an `ARM_MB::MemBOpt`.

================
Comment at: lib/Target/ARM/ARMISelLowering.cpp:10910
@@ +10909,3 @@
+    case AcquireRelease:
+      // FIXME: Too conservative, an isb after a dependent branch is enough
+    case SequentiallyConsistent:
----------------
Link to documentation that explains this.

http://reviews.llvm.org/D4960






More information about the llvm-commits mailing list