Many applications contain loops with an undetermined number of iterations. These loops have to be parallelized in order to increase the throughput when executed on an embedded multiprocessor platform. This paper presents a method to automatically extract a parallel task graph based on function level parallelism from a sequential nested loop program with while loops. In the parallelized task graph loop iterations can overlap during execution. The authors introduce the notion of a single assignment section such that they can exploit single assignment to overlap iterations of the while loop during the execution of the parallel task graph.