[llvm-dev] RFC: System (cache, etc.) model for LLVM

Michael Kruse via llvm-dev llvm-dev at lists.llvm.org
Fri Nov 9 14:31:52 PST 2018


Am Do., 8. Nov. 2018 um 10:36 Uhr schrieb David Greene <dag at cray.com>:
> What about load prefetching vs. non-temporal stores on X86?  There's a
> limited number of write-combining buffers but prefetches "just" use the
> regular load paths.  Yes, there's a limited number of load buffers but I
> would expect the the number of independent prefetch streams one would
> want could differ substantially from the number of independent
> non-tempooral store streams one would want and you wouldn't want the
> minimum to apply to the other.
>
> I like the idea of abstracting the hardware resource for the compiler's
> needs, though I think we will in general want multiple such things.
> Maybe one for load and one for store to start?  For more harware-y
> things like llvm-mca more detail may be desired.

Your RFC already has getNumStoreBuffers, getNumLoadBuffers and
getNumLoadStoreBuffers, no? As far I understand, write-combining only
applies to getNumStoreBuffers(). Prefetch streams would limit
getNumLoadBuffers.

Michael


More information about the llvm-dev mailing list