[Dwarf-Discuss] modeling different address spaces

Metzger, Markus T markus.t.metzger@intel.com
Fri Jul 31 13:42:23 GMT 2020


Hello Michael,

Sorry for the late reply.  I found the email in the spam folder today.

> >>> We'd also want an unbounded piece operator to describe partially
> registerized
> >>> unbounded arrays, but I have not worked that out in detail, yet, and we're a
> bit
> >>> farther away from an implementation.
> >>
> >> Can you describe this more?
> >
> > Consider a large array kept in memory and a for loop iterating over the array.
> If that
> > loop gets vectorized, compilers would load a portion of the array into registers
> at the
> > beginning of the loop body, operate on the registers, and write them back at
> the end
> > of the loop body.
> >
> > The entire array can be split into three pieces:
> > - elements that have already been processed: in memory
> > - elements that are currently being processed: in registers
> > - elements that will be processed in future iterations: in memory
> >
> > For unbounded arrays, the size of the third piece is not known.
> 
> When would you need to know the third piece?
> 
> How is this different from a non-vector processor doing an optimized
> string operation, loading 4 characters into a register at a time?  If
> the string is nul-terminated, the string length might be unknown.

I don't think that this is different from the use-case I sketched above.  We wouldn't
even need to load a sequence of elements.  Loading a single element would produce
the same scenario.

Can this be described in DWARF today?

Markus.

Intel Deutschland GmbH
Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Christin Eisenschmid, Gary Kershaw
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928



More information about the Dwarf-discuss mailing list