The invention discloses an
assembly level interprocedual
pointer analysis method based on
speculative multithreading. Through
assembly level interprocedual points-to analysis, a procedure
call graph of all processes is established in a source program before the interprocedual points-to analysis is carried out, and after establishment, points-to analysis is carried out in two stages. The method comprises: in the first stage, firstly, establishing a path profiling cost model based on probability, extracting speculative paths selected by all process nodes in the procedure
call graph, and then performing points-to analysis in a process; in the second stage, performing interprocedual points-to analysis and interprocedual side-effect calculation, on each process calling point, performing mappingand inverse mapping on points-to relations using a points-to analysis result in a process, to obtain an interprocedual side-effect calculation result, and realize context points-to relation update ofa calling procedure. On this basis, the method guides a whole procedure to perform interprocedual
data flow analysis, evaluates
data dependence degree among pointer variable memory points-to relations, and obtains a more accurate thread partitioning result.