METHOD AND APPARATUS FOR COMPILING CODE IN A COMPUTER SYSTEMHAVING A LIMITED NUMBER OF REGISTERS

    公开(公告)号:CA2074615A1

    公开(公告)日:1994-01-25

    申请号:CA2074615

    申请日:1992-07-24

    Applicant: IBM CANADA

    Abstract: AN IMPROVED METHOD AND APPARATUS FOR COMPILING CODE IN A COMPUTER SYSTEM HAVING A LIMITED NUMBER OF REGISTERS Computer software developers have avoided using register oriented linkage conventions in systems having a limited number of registers where the programs to be compiled may include an indeterminate number of parameters of differing types. By creating a formal parameter descriptor with each call being processed that includes an indeterminate number and type of parameters, the program may be compiled using a register oriented linkage convention. The formal parameter descriptor is located in a location accessible to the executing subprogram but unaffected by it. The invention is particularly useful for compiling unprototyped C language programs using processors having limited registers such as the Intel? 80x86 processors.

    PARTITIONING CASE STATEMENTS FOR OPTIMAL EXECUTION PERFORMANCE

    公开(公告)号:CA2010068C

    公开(公告)日:1993-10-26

    申请号:CA2010068

    申请日:1990-02-14

    Applicant: IBM CANADA

    Inventor: HOXEY STEVEN M

    Abstract: This invention permits an optimizing compiler to select optimal instruction sequences for handling the source level multi-way branch, commonly known as the case or switch statement. A costing heuristic is established, based on machine specific information, which weights the relative performance of instruction sequences used to perform statement selection from several available selection methods. The constants, which form the basis of the selection criteria, are then clustered into sets. This clustering is controlled by the costing heuristic. The resulting sets represent clusters of values for which a particular selection method is most appropriate. The invention is preferably implemented at the intermediate code level, and with appropriate preselection of parameters by the compiler builder, allows the invention to be used on any type of target machine. The use of the invention results in faster compilation and execution.

    REDUCING PIPELINE DELAYS IN COMPILERS BY CODE HOISTING

    公开(公告)号:CA2010067C

    公开(公告)日:1993-10-26

    申请号:CA2010067

    申请日:1990-02-14

    Applicant: IBM CANADA

    Inventor: HOXEY STEVEN M

    Abstract: REDUCING PIPELINE DELAYS IN COMPILERS BY CODE HOISTING This invention permits an optimizing compiler to minimize the effect of pipeline delays, which are typically introduced by branching code. This invention employs code hoisting to introduce computations from lower regions of the flowgraph, into regions where pipeline delays are known to occur.

Patent Agency Ranking