Compiler and Runtime Techniques for Automatic Parallelization of Sequential Applications.