1. A method of data prefetching, comprising: calculating whether each of at least one irregular memory loads in a loop has a predictable access pattern; and executing conditional adaptive prefetch code including a prefetch instruction if one of the at least one irregular memory loads in the loop has the predictable access pattern.