| US 7,478,376 B2 | ||
| Computer program code size partitioning method for multiple memory multi-processing systems | ||
| Kathryn M. O'Brien, South Salem, N.Y. (US); and John Kevin Patrick O'Brien, South Salem, N.Y. (US) | ||
| Assigned to International Business Machines Corporation, Armonk, N.Y. (US) | ||
| Filed on Dec. 02, 2004, as Appl. No. 11/2,552. | ||
| Prior Publication US 2006/0123404 A1, Jun. 08, 2006 | ||
| This patent is subject to a terminal disclaimer. | ||
| Int. Cl. G06F 9/45 (2006.01); G06F 9/46 (2006.01) | ||
| U.S. Cl. 717—149 [717/159; 718/106] | 1 Claim |

| 1. A method for computer program code size partitioning for multiple memory multi-processor systems, comprising:
identifying at least one system parameter of a computer system comprising one or more disparate processing nodes;
receiving computer program code comprising a program to be run on the computer system;
generating a program representation based on received computer program code;
identifying at least one single-entry-single-exit (SESE) region based on the whole program representation;
identifying at least one store-size-specific SESE region based on identified SESE regions and the at least one system parameter,
thereby forming a specified node;
identifying SESE regions proximate to the identified store-size-specific SESE region based on an ability of the specified
node to process the identified proximate SESE regions, wherein the identified proximate SESE regions are grouped with identified
store-size-specific SESE regions and are configured to be compiled for the specified node;
presenting the identified store-size-specific SESE regions and the identified proximate SESE regions to a user;
receiving user input from the user as to a grouping that should be used for the identified store-size-specific SESE regions
and the identified proximate SESE regions;
grouping each store-size-specific SESE region with at least one proximate SESE region into a node-specific subroutine based
on the user input;
modifying the non node-specific parts of the computer program code based on the node-specific subroutines; and
compiling the modified computer program code including each node-specific subroutine based on a specified node characteristic.
|