Fast static analysis for compile-time restructuring of application parallelism on Graphics Processing Units