Abstract To improve the ability to uncover parallelism in perfect loop nests for the GCC compiler, a method that utilizes the lambda transformation technique to uncover potential parallelism is proposed. Based on data references, dependence distance vectors and dependence direction vectors generated during the GIMPLE phase of the GCC compilation process, the GIMPLE form of perfect loop nests is converted into lambda representation in this paper, and the proposed method implements legal transformations on lambda representation for uncovering parallel loops in arbitrary loop nests. This method is integrated into the dependency analysis pass of the GCC compiler and has been experimentally validated on integer and floating-point benchmarks from the SPEC CPU2006 benchmarks. The results demonstrate that it can effectively enhance the existing loop analysis capabilities, loop transformation abilities, and loop parallelism uncovering capabilities of GCC. This method provides a reference for research on automatic parallelization techniques and holds practical application value within the GCC compiler.
Read full abstract