[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 09:35:04 PST 2018

Am Mi., 12. Dez. 2018 um 11:11 Uhr schrieb Finkel, Hal J. <hfinkel at anl.gov>:
> On 12/12/18 10:29 AM, Michael Kruse wrote:
> > Am Mi., 12. Dez. 2018 um 10:10 Uhr schrieb Finkel, Hal J. <hfinkel at anl.gov>:
> >>> As we have seen,
> >>> there are other reasons for loops to have identical LoopIDs. With
> >>> patches [3,4], llvm.loop metadata can be collapsed (unlike access
> >>> groups), thus the 'distinct' is not necessary anymore. Unfortunately,
> >>> there is code in LLVM (and maybe elsewhere) that depends on LoopIDs'
> >>> first item, i.e. we cannot get rid of it that easily.
> >> I don't think it's worth changing this first element, unless we have
> >> some other reason to do so.
> > Would it be worthwhile to update the metadata uniquing algorithm to
> > consider shallow self-references?
> What benefit would that bring?

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.


More information about the llvm-dev mailing list