1. A computer-implemented method, comprising: analyzing program instructions comprising a loop to identify one or more load operations in each loop iteration that are data dependent on store operations of another loop iteration; transforming the program instructions for speculative loop execution dependent on results of said analyzing; partitioning loop iterations of the transformed program instructions into two or more threads configured for concurrent execution; and for each of said two or more threads: dispatching the thread for execution on a processor or strand resource; speculatively executing a loop iteration comprised in the thread; determining if a load operation comprised in the loop iteration is dependent on results of a store operation comprised in a different thread that has not yet completed execution; validating preliminary results of said speculatively executing the loop iteration in response to determining that no load operations comprised in the loop iteration are dependent on results of a store operation comprised in a different thread that has not yet completed execution.