[RFC] Abstract Parallel IR Optimizations

Hi Johannes,

It is not an IR (encoding) in the sense that there are no new

instructions, intrinsics, or anything else that is materialized.

If the interface provides a set of functions that query information from the underlying “implementation” (via ParallelRegionInfo, ParallelCommunicationInfo) and modify something in the implementation (via ParallelIR/Builder), that sounds like an IR to me. It may be hiding the implementation details, and different compilers may use different implementations, but the 5 parallel analyses and optimizations don’t care about that: they’re operating through the interface.

I’m still confused about the hooks.

Please take a look at the Google Doc. They’re explained clearly there. We’ll be circulating that soon to the list, once we’ve finished up the more detailed parts.