[LLVMdev] SPMD Autovectorizer

Pekka Jääskeläinen pekka.jaaskelainen at tut.fi
Thu Jul 9 05:28:43 PDT 2015


On 07/09/2015 12:47 PM, Renato Golin wrote:
> Is this an IR pass? I think that'd be interesting...

Right, an IR pass mostly working at the CFG level. In addition to
creating the parallel loops, it modifies the IR mainly to inject 
"context arrays" for temporarily storing variables
of which live range crosses parallel regions (loops).

> Maybe we should discuss a builtin with the larger community. Probably
> best if in a different thread, as this one's stale. :)

Yes. Simply an intrisics "llvm.spmd_barrier" or similar with
"all threads or none reach me" semantics might do for starters.

-- 
--Pekka



More information about the llvm-dev mailing list