US 11,734,003 B2
Non-transitory computer-readable recording medium, compilation method, and compiler device
Yuta Mukai, Kawasaki (JP)
Assigned to FUJITSU LIMITED, Kawasaki (JP)
Filed by FUJITSU LIMITED, Kawasaki (JP)
Filed on Dec. 16, 2021, as Appl. No. 17/552,358.
Claims priority of application No. 2021-089727 (JP), filed on May 28, 2021.
Prior Publication US 2022/0382548 A1, Dec. 1, 2022
Int. Cl. G06F 9/30 (2018.01); G06F 8/41 (2018.01)
CPC G06F 9/30065 (2013.01) [G06F 8/443 (2013.01); G06F 9/30036 (2013.01); G06F 9/30069 (2013.01)] 6 Claims
OG exemplary drawing
 
1. A non-transitory computer-readable recording medium having stored therein a program for causing a computer to execute a process, the process comprising:
acquiring a source program;
generating a first program that performs processing equivalent to processing of the source program by performing lexical analysis, syntactic analysis, and semantic analysis on the source program; and
generating a second program, the second program includes:
a first code that determines whether a first area of a memory that a process inside a loop included in the first program refers to in a first execution time of the loop is in duplicate with a second area of the memory that the process refers to in a second execution time of the loop;
a second code that executes the process in an order of the first and second execution times when it is determined that the first area and the second area are duplicate; and
a third code that executes the process for the first execution time and the process for the second execution time in parallel when it is determined that the first area and the second area are not duplicate,
the loop has a first array indexed by an execution time of the loop and a second array indexed by each element of the first array,
the process is to store a first element of the second array in the memory in the first execution time and to store a second element of the second array in the memory in the second execution time,
the first area is an area in which the first element is stored in the first execution time, and
the second area is an area in which the second element is stored in the second execution time.