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

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.

Michael



More information about the llvm-dev mailing list