DATA DEPENDENCE ANALYSIS SUPPORT DEVICE, DATA DEPENDENCE ANALYSIS SUPPORT PROGRAM, AND DATA DEPENDENCE ANALYSIS SUPPORT METHOD
A data dependence analysis support device calculates pointer information by performing a context-sensitive pointer analysis on every pointer used in a program; calculates dataflow information between statements by performing a context-sensitive dataflow analysis, using the context-sensitive pointer information, on all statements in an analysis target region and all statements that might be called upon execution of the analysis target region; and calculates inter-region data dependence information, using the dataflow information, for two or more threaded regions included in the source program.
1 . A data dependence analysis support device for performing a context-sensitive data dependence analysis on a source program, comprising:
a pointer information generation unit configured to generate pointer information by performing a context-sensitive pointer analysis on every pointer used in the source program;
a dataflow information generation unit configured to generate dataflow information by performing a context-sensitive dataflow analysis, using the pointer information, on an analysis target region that is a portion of the source program and is designated for analysis of data dependence between two or more threaded regions; and
an inter-region dependence information generation unit configured to generate inter-region dependence information on data dependence between the two or more threaded regions using the dataflow information, the inter-region dependence information indicating a threaded region that is a source of dependence, a threaded region that is a target of dependence, and a variable causing dependence.
2 . The data dependence analysis support device of claim 1 , wherein
the analysis target region is a collection of a single function and every function called by the single function, the collection including all of the two or more threaded regions.
3 . The data dependence analysis support device of claim 1 , wherein
the dataflow information generation unit generates combined pointer information by combining the pointer information for pointers used in a single function including the analysis target region and every function called by the single function, the combined pointer information treating the single function as a context.
4 . The data dependence analysis support device of claim 1 , further comprising
an analysis target region designation unit configured to receive input of information designating the analysis target region.
5 . The data dependence analysis support device of claim 1 , further comprising
a region designation unit configured to receive input of information designating the two or more threaded regions.
6 . The data dependence analysis support device of claim 1 , further comprising
an inter-region dependence information output unit configured to output the inter-region dependence information.
7 . The data dependence analysis support device of claim 1 , wherein
when the pointer information generation unit stores pointer information for a same source program, the dataflow information generation unit generates the dataflow information using the stored pointer information.
8 . The data dependence analysis support device of claim 1 , wherein
when the dataflow analysis unit stores dataflow information for a same analysis target region, the inter-region dependence information generation unit generates the inter-region dependence information using the stored dataflow information.
9 . A data dependence analysis support program for causing a computer to perform a context-sensitive data dependence analysis on a source program,
the context-sensitive data dependence analysis comprising the steps of:
generating pointer information by performing a context-sensitive pointer analysis on every pointer used in the source program;
generating dataflow information by performing a context-sensitive dataflow analysis, using the pointer information, on an analysis target region that is a portion of the source program and is designated for analysis of data dependence between two or more threaded regions; and
generating inter-region dependence information on data dependence between the two or more threaded regions using the dataflow information, the inter-region dependence information indicating a threaded region that is a source of dependence, a threaded region that is a target of dependence, and a variable causing dependence.
10 . A data dependence analysis support method for performing a context-sensitive data dependence analysis on a source program, comprising the steps of:
generating pointer information by performing a context-sensitive pointer analysis on every pointer used in the source program, the pointer information indicating correspondence between each pointer and the variable pointed to by the pointer;
generating dataflow information by performing a context-sensitive dataflow analysis, using the pointer information, on an analysis target region that is a portion of the source program and is designated for analysis of data dependence between two or more threaded regions, and
generating inter-region dependence information on data dependence between the two or more threaded regions using the dataflow information, the inter-region dependence information indicating a threaded region that is a source of dependence, a threaded region that is a target of dependence, and a variable causing dependence.