compiler controlled data Prefetching

I am looking to do a study for interaction between the hardware prefetching schemes and compiler controlled software prefetches.
Are there any existing algorithm implemented that I can leverage upon and take it as a starting point.

Appreciate any pointers.

Thanks
Mitesh Jain

Hello,

LLVM does not currently have any algorithms for software
prefetching. The ScalarEvolution framework provides some
facilities that can be used to analyze access patterns
of pointers within loops, which you might find useful
as a starting point.

Dan