Automated Transformation of a Single-Core Pipeline into a Multicore Pipeline for a Given Memory Consistency Model