[llvm-dev] RFC: LoopIDs are not identifiers (and better loop-parallel metadata)

Michael Kruse via llvm-dev llvm-dev at lists.llvm.org
Wed Dec 12 10:25:06 PST 2018

Am Mi., 12. Dez. 2018 um 11:44 Uhr schrieb Finkel, Hal J. <hfinkel at anl.gov>:
> > Fewer metadata nodes by uniquing them. I would expect there might be
> > quite a few loops that have identical metadata, e.g. all loops that
> > have "setAlreaduUnrolled()" after loop unrolling.
> Okay. I have no idea how much code this would break (from none to a
> lot). Any thoughts?

My guess: nothing breaks.

I have only seen this kind of nodes with LoopIDs and this RFC would
remove the need for them to be unique (as explained in (a), this
wasn't even a guaranteed property).

Using self-referencing nodes seem to be a workaround when no
'distinct' nodes existed, exploiting that the uniquing is not using a
graph minimization algorithm.

> I think that, in general, you should have a separate
> RFC if you'd like to change them metadata uniquing algorithm.

I am not yet sure myself whether I want this. As a maybe easier
alternative to changing the first element of a loop metadata node
(e.g. to 'null'), it is strongly related to this RFC.


More information about the llvm-dev mailing list