METHOD AND SYSTEM FOR TARGET REGISTER ALLOCATION

A computer-based method and system for allocating target registers to branch operations and for determining the location of target definitions for the branch operations within a computer program. The target register allocation system of the present invention allocates a target register to be specifi...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
1. Verfasser: CALLAHAN, CHARLES, DAVID, II
Format: Patent
Sprache:eng ; fre
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page
container_issue
container_start_page
container_title
container_volume
creator CALLAHAN, CHARLES, DAVID, II
description A computer-based method and system for allocating target registers to branch operations and for determining the location of target definitions for the branch operations within a computer program. The target register allocation system of the present invention allocates a target register to be specified by each branch operation. The target register is to contain the address of the target that is loaded by the target definition. The target register allocation system determines a location in the computer program for a target definition such that whenever the branch operation is executed, the allocated target register contains the address of the target of the branch. The target allocation system may determine the location to be in a dominator block of the branch operation. The target allocation system may also determine the location a target definition so that the address of the target that is loaded by the target definition can be used by multiple branch operations. The target allocation system may also determine the location of the target definition based on execution frequency of locations. The target allocation system may, when a branch operation is in a loop, determine the location of the target definition to be outside the loop. The target allocation system may, when the program is a function, give preference to a non-callee save register in allocating a target register. The target allocation system may give preference to a callee save register of a function whose invocation is located in between the determined location and the location of the branch operation on a path of execution when allocating a target register. La présente invention concerne un procédé et un système automatisés servant à affecter des registres cibles à des opérations de branchement et à déterminer l'emplacement de définitions cibles pour les opérations de branchement dans un programme informatique. Le système d'affectation de registres cibles de l'invention affecte un registre cible devant être spécifié par chaque opération de branchement. Le registre cible doit contenir l'adresse de la cible qui est chargée par la définition cible. Le système d'affectation de registres cibles détermine un emplacement dans le programme informatique pour une définition cible de manière que chaque fois que l'opération de branchement est exécutée, le registre cible affecté contient l'adresse de la cible du branchement. Le système d'affectation de cible peut déterminer cet emplacement dans un bloc domin
format Patent
fullrecord <record><control><sourceid>epo_EVB</sourceid><recordid>TN_cdi_epo_espacenet_WO0038057A2</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>WO0038057A2</sourcerecordid><originalsourceid>FETCH-epo_espacenet_WO0038057A23</originalsourceid><addsrcrecordid>eNrjZDDwdQ3x8HdRcPRzUQiODA5x9VVw8w9SCHEMcncNUQhydfcEigUpOPr4-Ds7hnj6-_EwsKYl5hSn8kJpbgYFN9cQZw_d1IL8-NTigsTk1LzUkvhwfwMDYwsDU3NHI2MilAAA5mAmAw</addsrcrecordid><sourcetype>Open Access Repository</sourcetype><iscdi>true</iscdi><recordtype>patent</recordtype></control><display><type>patent</type><title>METHOD AND SYSTEM FOR TARGET REGISTER ALLOCATION</title><source>esp@cenet</source><creator>CALLAHAN, CHARLES, DAVID, II</creator><creatorcontrib>CALLAHAN, CHARLES, DAVID, II</creatorcontrib><description>A computer-based method and system for allocating target registers to branch operations and for determining the location of target definitions for the branch operations within a computer program. The target register allocation system of the present invention allocates a target register to be specified by each branch operation. The target register is to contain the address of the target that is loaded by the target definition. The target register allocation system determines a location in the computer program for a target definition such that whenever the branch operation is executed, the allocated target register contains the address of the target of the branch. The target allocation system may determine the location to be in a dominator block of the branch operation. The target allocation system may also determine the location a target definition so that the address of the target that is loaded by the target definition can be used by multiple branch operations. The target allocation system may also determine the location of the target definition based on execution frequency of locations. The target allocation system may, when a branch operation is in a loop, determine the location of the target definition to be outside the loop. The target allocation system may, when the program is a function, give preference to a non-callee save register in allocating a target register. The target allocation system may give preference to a callee save register of a function whose invocation is located in between the determined location and the location of the branch operation on a path of execution when allocating a target register. La présente invention concerne un procédé et un système automatisés servant à affecter des registres cibles à des opérations de branchement et à déterminer l'emplacement de définitions cibles pour les opérations de branchement dans un programme informatique. Le système d'affectation de registres cibles de l'invention affecte un registre cible devant être spécifié par chaque opération de branchement. Le registre cible doit contenir l'adresse de la cible qui est chargée par la définition cible. Le système d'affectation de registres cibles détermine un emplacement dans le programme informatique pour une définition cible de manière que chaque fois que l'opération de branchement est exécutée, le registre cible affecté contient l'adresse de la cible du branchement. Le système d'affectation de cible peut déterminer cet emplacement dans un bloc dominateur de l'opération de branchement. Le système d'affectation de cible peut également déterminer l'emplacement d'une définition de cible de manière que l'adresse de la cible chargée par la définition cible puisse être utilisée par des opérations de branchement multiples. Ledit système peut également déterminer l'emplacement de la définition cible à partir de la fréquence d'exécution des emplacements. Le système peut, lorsqu'une opération de branchement se fait dans une boucle, déterminer l'emplacement de la définition cible en dehors de la boucle. Le système peut, lorsque le programme est une fonction, donner préférence à un registre de sauvegarde non appelé dans l'affectation d'un registre cible. Le système d'affectation de cible peut donner préférence à un registre de sauvegarde appelé d'une fonction dont l'invocation est positionnée entre l'emplacement déterminé et l'emplacement de l'opération de branchement sur une voie d'exécution, au moment de l'affectation d'un registre cible.</description><edition>7</edition><language>eng ; fre</language><subject>CALCULATING ; CHECKING-DEVICES ; COIN-FREED OR LIKE APPARATUS ; COMPUTING ; COUNTING ; ELECTRIC DIGITAL DATA PROCESSING ; PHYSICS</subject><creationdate>2000</creationdate><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://worldwide.espacenet.com/publicationDetails/biblio?FT=D&amp;date=20000629&amp;DB=EPODOC&amp;CC=WO&amp;NR=0038057A2$$EHTML$$P50$$Gepo$$Hfree_for_read</linktohtml><link.rule.ids>230,308,776,881,25543,76293</link.rule.ids><linktorsrc>$$Uhttps://worldwide.espacenet.com/publicationDetails/biblio?FT=D&amp;date=20000629&amp;DB=EPODOC&amp;CC=WO&amp;NR=0038057A2$$EView_record_in_European_Patent_Office$$FView_record_in_$$GEuropean_Patent_Office$$Hfree_for_read</linktorsrc></links><search><creatorcontrib>CALLAHAN, CHARLES, DAVID, II</creatorcontrib><title>METHOD AND SYSTEM FOR TARGET REGISTER ALLOCATION</title><description>A computer-based method and system for allocating target registers to branch operations and for determining the location of target definitions for the branch operations within a computer program. The target register allocation system of the present invention allocates a target register to be specified by each branch operation. The target register is to contain the address of the target that is loaded by the target definition. The target register allocation system determines a location in the computer program for a target definition such that whenever the branch operation is executed, the allocated target register contains the address of the target of the branch. The target allocation system may determine the location to be in a dominator block of the branch operation. The target allocation system may also determine the location a target definition so that the address of the target that is loaded by the target definition can be used by multiple branch operations. The target allocation system may also determine the location of the target definition based on execution frequency of locations. The target allocation system may, when a branch operation is in a loop, determine the location of the target definition to be outside the loop. The target allocation system may, when the program is a function, give preference to a non-callee save register in allocating a target register. The target allocation system may give preference to a callee save register of a function whose invocation is located in between the determined location and the location of the branch operation on a path of execution when allocating a target register. La présente invention concerne un procédé et un système automatisés servant à affecter des registres cibles à des opérations de branchement et à déterminer l'emplacement de définitions cibles pour les opérations de branchement dans un programme informatique. Le système d'affectation de registres cibles de l'invention affecte un registre cible devant être spécifié par chaque opération de branchement. Le registre cible doit contenir l'adresse de la cible qui est chargée par la définition cible. Le système d'affectation de registres cibles détermine un emplacement dans le programme informatique pour une définition cible de manière que chaque fois que l'opération de branchement est exécutée, le registre cible affecté contient l'adresse de la cible du branchement. Le système d'affectation de cible peut déterminer cet emplacement dans un bloc dominateur de l'opération de branchement. Le système d'affectation de cible peut également déterminer l'emplacement d'une définition de cible de manière que l'adresse de la cible chargée par la définition cible puisse être utilisée par des opérations de branchement multiples. Ledit système peut également déterminer l'emplacement de la définition cible à partir de la fréquence d'exécution des emplacements. Le système peut, lorsqu'une opération de branchement se fait dans une boucle, déterminer l'emplacement de la définition cible en dehors de la boucle. Le système peut, lorsque le programme est une fonction, donner préférence à un registre de sauvegarde non appelé dans l'affectation d'un registre cible. Le système d'affectation de cible peut donner préférence à un registre de sauvegarde appelé d'une fonction dont l'invocation est positionnée entre l'emplacement déterminé et l'emplacement de l'opération de branchement sur une voie d'exécution, au moment de l'affectation d'un registre cible.</description><subject>CALCULATING</subject><subject>CHECKING-DEVICES</subject><subject>COIN-FREED OR LIKE APPARATUS</subject><subject>COMPUTING</subject><subject>COUNTING</subject><subject>ELECTRIC DIGITAL DATA PROCESSING</subject><subject>PHYSICS</subject><fulltext>true</fulltext><rsrctype>patent</rsrctype><creationdate>2000</creationdate><recordtype>patent</recordtype><sourceid>EVB</sourceid><recordid>eNrjZDDwdQ3x8HdRcPRzUQiODA5x9VVw8w9SCHEMcncNUQhydfcEigUpOPr4-Ds7hnj6-_EwsKYl5hSn8kJpbgYFN9cQZw_d1IL8-NTigsTk1LzUkvhwfwMDYwsDU3NHI2MilAAA5mAmAw</recordid><startdate>20000629</startdate><enddate>20000629</enddate><creator>CALLAHAN, CHARLES, DAVID, II</creator><scope>EVB</scope></search><sort><creationdate>20000629</creationdate><title>METHOD AND SYSTEM FOR TARGET REGISTER ALLOCATION</title><author>CALLAHAN, CHARLES, DAVID, II</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-epo_espacenet_WO0038057A23</frbrgroupid><rsrctype>patents</rsrctype><prefilter>patents</prefilter><language>eng ; fre</language><creationdate>2000</creationdate><topic>CALCULATING</topic><topic>CHECKING-DEVICES</topic><topic>COIN-FREED OR LIKE APPARATUS</topic><topic>COMPUTING</topic><topic>COUNTING</topic><topic>ELECTRIC DIGITAL DATA PROCESSING</topic><topic>PHYSICS</topic><toplevel>online_resources</toplevel><creatorcontrib>CALLAHAN, CHARLES, DAVID, II</creatorcontrib><collection>esp@cenet</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>CALLAHAN, CHARLES, DAVID, II</au><format>patent</format><genre>patent</genre><ristype>GEN</ristype><title>METHOD AND SYSTEM FOR TARGET REGISTER ALLOCATION</title><date>2000-06-29</date><risdate>2000</risdate><abstract>A computer-based method and system for allocating target registers to branch operations and for determining the location of target definitions for the branch operations within a computer program. The target register allocation system of the present invention allocates a target register to be specified by each branch operation. The target register is to contain the address of the target that is loaded by the target definition. The target register allocation system determines a location in the computer program for a target definition such that whenever the branch operation is executed, the allocated target register contains the address of the target of the branch. The target allocation system may determine the location to be in a dominator block of the branch operation. The target allocation system may also determine the location a target definition so that the address of the target that is loaded by the target definition can be used by multiple branch operations. The target allocation system may also determine the location of the target definition based on execution frequency of locations. The target allocation system may, when a branch operation is in a loop, determine the location of the target definition to be outside the loop. The target allocation system may, when the program is a function, give preference to a non-callee save register in allocating a target register. The target allocation system may give preference to a callee save register of a function whose invocation is located in between the determined location and the location of the branch operation on a path of execution when allocating a target register. La présente invention concerne un procédé et un système automatisés servant à affecter des registres cibles à des opérations de branchement et à déterminer l'emplacement de définitions cibles pour les opérations de branchement dans un programme informatique. Le système d'affectation de registres cibles de l'invention affecte un registre cible devant être spécifié par chaque opération de branchement. Le registre cible doit contenir l'adresse de la cible qui est chargée par la définition cible. Le système d'affectation de registres cibles détermine un emplacement dans le programme informatique pour une définition cible de manière que chaque fois que l'opération de branchement est exécutée, le registre cible affecté contient l'adresse de la cible du branchement. Le système d'affectation de cible peut déterminer cet emplacement dans un bloc dominateur de l'opération de branchement. Le système d'affectation de cible peut également déterminer l'emplacement d'une définition de cible de manière que l'adresse de la cible chargée par la définition cible puisse être utilisée par des opérations de branchement multiples. Ledit système peut également déterminer l'emplacement de la définition cible à partir de la fréquence d'exécution des emplacements. Le système peut, lorsqu'une opération de branchement se fait dans une boucle, déterminer l'emplacement de la définition cible en dehors de la boucle. Le système peut, lorsque le programme est une fonction, donner préférence à un registre de sauvegarde non appelé dans l'affectation d'un registre cible. Le système d'affectation de cible peut donner préférence à un registre de sauvegarde appelé d'une fonction dont l'invocation est positionnée entre l'emplacement déterminé et l'emplacement de l'opération de branchement sur une voie d'exécution, au moment de l'affectation d'un registre cible.</abstract><edition>7</edition><oa>free_for_read</oa></addata></record>
fulltext fulltext_linktorsrc
identifier
ispartof
issn
language eng ; fre
recordid cdi_epo_espacenet_WO0038057A2
source esp@cenet
subjects CALCULATING
CHECKING-DEVICES
COIN-FREED OR LIKE APPARATUS
COMPUTING
COUNTING
ELECTRIC DIGITAL DATA PROCESSING
PHYSICS
title METHOD AND SYSTEM FOR TARGET REGISTER ALLOCATION
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-25T15%3A19%3A30IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-epo_EVB&rft_val_fmt=info:ofi/fmt:kev:mtx:patent&rft.genre=patent&rft.au=CALLAHAN,%20CHARLES,%20DAVID,%20II&rft.date=2000-06-29&rft_id=info:doi/&rft_dat=%3Cepo_EVB%3EWO0038057A2%3C/epo_EVB%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true