[LLVMdev] parallel loop metadata simplification

Pekka Jääskeläinen pekka.jaaskelainen at tut.fi
Tue Mar 5 09:49:28 PST 2013

On 03/05/2013 07:12 PM, Redmond, Paul wrote:
> Attached is my most recent patch for clang. Maybe someone wants to play with
> it or has ideas on how to refine the llvm.mem metadata generation.

+    } else if (I->mayReadOrWriteMemory())
+      I->setMetadata("llvm.mem.parallel_loop_access",
+                     L.GetLoopID(I->getContext()));
+  }

Here we want to not add metadata to load/store
instructions which originate from unsafe allocas
like discussed.

I wonder if there's an easier way to find this out than to follow
the pointer argument until a global or a function argument is found?
Maybe that can be done via a helper method which can be later augmented
with more "safe cases"?


More information about the llvm-dev mailing list