[LLVMdev] Parallel Loop Metadata

Pekka Jääskeläinen pekka.jaaskelainen at tut.fi
Fri Feb 8 15:39:40 PST 2013


On 02/09/2013 12:48 AM, Andrew Trick wrote:
> How is this not a problem for !tbaa?

!tbaa is similar to the !llvm.mem.parallel_loop_access in the proposed patch.

The metadata !tbaa is attached to the memory instructions which points
to the "type metadata". In the proposed MD, it points to the
loop id metadata. This MD gets copied automatically when you copy
the instructions, e.g., in inlining or unrolling.

If I understood Sebastian Pop correctly (did I?), he proposed to refer *to*
the mem instructions from the llvm.loop.parallel metadata. I.e., create
a metadata with the loop's memory instructions as argument values (if that's
possible). This way avoiding the need for llvm.mem.parallel_loop_access MD.

This MD doesn't get copied automatically as you have a MD which points *to*
the original mem instructions which the newly copied instructions know nothing
about. When we copy the loop branch with the loop.parallel metadata, the
copied metadata still refers to the old mem instructions.

-- 
--Pekka




More information about the llvm-dev mailing list