DE69712965T2 - Verfahren, System und Rechnerprogrammprodukt zur Registerzuweisung unter Verwendung mehrerer Interferenzgraphen - Google Patents

Verfahren, System und Rechnerprogrammprodukt zur Registerzuweisung unter Verwendung mehrerer Interferenzgraphen

Info

Publication number
DE69712965T2
DE69712965T2 DE69712965T DE69712965T DE69712965T2 DE 69712965 T2 DE69712965 T2 DE 69712965T2 DE 69712965 T DE69712965 T DE 69712965T DE 69712965 T DE69712965 T DE 69712965T DE 69712965 T2 DE69712965 T2 DE 69712965T2
Authority
DE
Germany
Prior art keywords
computer program
program product
register assignment
several interference
interference graphs
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69712965T
Other languages
English (en)
Other versions
DE69712965T9 (de
DE69712965D1 (de
Inventor
Kurt J Goebel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of DE69712965D1 publication Critical patent/DE69712965D1/de
Application granted granted Critical
Publication of DE69712965T2 publication Critical patent/DE69712965T2/de
Publication of DE69712965T9 publication Critical patent/DE69712965T9/de
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/441Register allocation; Assignment of physical memory space to logical memory space

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
DE69712965T 1996-03-25 1997-02-28 Verfahren, System und Rechnerprogrammprodukt zur Registerzuweisung unter Verwendung mehrerer Interferenzgraphen Expired - Fee Related DE69712965T9 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/621,409 US5901317A (en) 1996-03-25 1996-03-25 Method and system for register allocation using multiple interference graphs
US621409 1996-03-25

Publications (3)

Publication Number Publication Date
DE69712965D1 DE69712965D1 (de) 2002-07-11
DE69712965T2 true DE69712965T2 (de) 2003-01-09
DE69712965T9 DE69712965T9 (de) 2004-09-09

Family

ID=24490061

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69712965T Expired - Fee Related DE69712965T9 (de) 1996-03-25 1997-02-28 Verfahren, System und Rechnerprogrammprodukt zur Registerzuweisung unter Verwendung mehrerer Interferenzgraphen

Country Status (4)

Country Link
US (1) US5901317A (de)
EP (1) EP0798636B1 (de)
JP (1) JPH103391A (de)
DE (1) DE69712965T9 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6059840A (en) * 1997-03-17 2000-05-09 Motorola, Inc. Automatic scheduling of instructions to reduce code size
US6182284B1 (en) * 1998-09-30 2001-01-30 Hewlett-Packard Company Method and system for eliminating phi instruction resource interferences and redundant copy instructions from static-single-assignment-form computer code
JP4573189B2 (ja) 1998-10-10 2010-11-04 インターナショナル・ビジネス・マシーンズ・コーポレーション プログラムコード変換方法
US20030079210A1 (en) * 2001-10-19 2003-04-24 Peter Markstein Integrated register allocator in a compiler
US7086045B2 (en) * 2001-10-19 2006-08-01 Sun Microsystems, Inc. Heuristic to improve register allocation using pass degree
US7469404B2 (en) * 2004-06-30 2008-12-23 Intel Corporation Bank assignment for partitioned register banks
CN100368992C (zh) * 2005-06-16 2008-02-13 中国科学院计算技术研究所 一种解决多寄存器组冲突的方法
US7650598B2 (en) * 2006-08-09 2010-01-19 National Tsing Hua University Method for allocating registers for a processor
US8832671B1 (en) * 2010-07-07 2014-09-09 Nvidia Corporation Conflict-free register allocation
US8555035B1 (en) 2010-07-07 2013-10-08 Nvidia Corporation Conflict-free register allocation using a multi-bank register file with input operand alignment
US20150078260A1 (en) * 2013-09-13 2015-03-19 Fujitsu Limited Parallel resource management in white space bands using transmit power control and channel set assignment
CN108804222B (zh) * 2018-04-13 2021-07-27 南京南瑞继保电气有限公司 一种临时变量的数据区分配方法
DE102022125248B4 (de) 2022-09-30 2024-05-02 Oliver Bartels Prozessor und Computer mit mindestens einem Prozessor mit vorzeitiger Programmvariantenauswahl bei noch unbekannten Vergleichsergebnissen

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4435753A (en) * 1980-10-31 1984-03-06 International Business Machines Corporation Register allocation system using recursive queuing during source code compilation
US4571678A (en) * 1982-11-05 1986-02-18 International Business Machines Corporation Register allocation and spilling via graph coloring
US4667290A (en) * 1984-09-10 1987-05-19 501 Philon, Inc. Compilers using a universal intermediate language
US4763255A (en) * 1984-10-31 1988-08-09 International Business Machines Corporation Method for generating short form instructions in an optimizing compiler
US4782444A (en) * 1985-12-17 1988-11-01 International Business Machine Corporation Compilation using two-colored pebbling register allocation method such that spill code amount is invariant with basic block's textual ordering
JPH02187825A (ja) * 1989-01-13 1990-07-24 Mitsubishi Electric Corp コンピュータ
US5175856A (en) * 1990-06-11 1992-12-29 Supercomputer Systems Limited Partnership Computer with integrated hierarchical representation (ihr) of program wherein ihr file is available for debugging and optimizing during target execution
US5249295A (en) * 1990-06-20 1993-09-28 Rice University Digital computer register allocation and code spilling using interference graph coloring
US5530866A (en) * 1991-07-30 1996-06-25 Tera Computer Company Register allocation methods having upward pass for determining and propagating variable usage information and downward pass for binding; both passes utilizing interference graphs via coloring
US5293631A (en) * 1991-08-06 1994-03-08 Hewlett-Packard Company Analysis and optimization of array variables in compiler for instruction level parallel processor
US5418958A (en) * 1992-07-15 1995-05-23 Sun Microsystems, Inc. Register allocation by decomposing, re-connecting and coloring hierarchical program regions
US5481706A (en) * 1993-11-01 1996-01-02 International Business Machines Corporation System and method for creating thread-safe shared libraries
US5590329A (en) * 1994-02-04 1996-12-31 Lucent Technologies Inc. Method and apparatus for detecting memory access errors
US5659754A (en) * 1995-03-31 1997-08-19 Sun Microsystems, Inc. Method and apparatus for an improved optimizing compiler

Also Published As

Publication number Publication date
EP0798636B1 (de) 2002-06-05
EP0798636A1 (de) 1997-10-01
DE69712965T9 (de) 2004-09-09
US5901317A (en) 1999-05-04
DE69712965D1 (de) 2002-07-11
JPH103391A (ja) 1998-01-06

Similar Documents

Publication Publication Date Title
DE69630480D1 (de) Verfahren, Vorrichtung und Datenstrukturen zur Objektverwaltung
DE69632746D1 (de) Verfahren und System zur interaktiven Programmführung
DE69623883D1 (de) System und Verfahren zur Zuweisung von Gruppenumgebungsvariablen
DE69636629D1 (de) Informationsverteilungsvorrichtung, zugehöriges Computerprogrammprodukt und Verfahren
DE69636693D1 (de) Verfahren zur Interferenz-Überwachung
DE69624543T2 (de) System und Verfahren zur Erkennung von Netzwerkfehlern
DE69608152T2 (de) Verfahren und System zur Wiederverwertung von Teppichen
DE69735720D1 (de) Verfahren, system und vorrichtung zur überwachung von teilnehmerbetribsamkeit
DE69521977D1 (de) Verfahren und System zur gesicherten Programmenverteilung
DE69624757T2 (de) Vorrichtung zur Koordinatenermittlung, Verfahren hierzu und Steuervorrichtung für den Rechner
DE69523567D1 (de) Verfahren zur handschrift-eingangsaufteilung
DE69512423D1 (de) Verfahren und vorrichtung fur ein verbessertes autopilotsystem fur spatenpistenwechsel
DE69833732D1 (de) Verfahren und Vorrichtung zur Übertragung von zwei parallelen Kanälen unter Verwendung von Code Division
DE69633844D1 (de) Verfahren und Vorrichtung zur mehrfachen Kommunikation
DE69628087D1 (de) Vorrichtung und Verfahren zur Verwaltung von Rechnerprozessen
DE69836296D1 (de) System und Verfahren zum Erfassen von Maschinendaten
DE69940867D1 (de) Vorrichtung und Verfahren zur Datenübertragung unter Verwendung von angepassten Befehlen
DE69630686D1 (de) Verfahren zur echtheitsprüfung von münzen
DE69829650D1 (de) System, vorrichtung und verfahren zur kommunikation
DE69712965T2 (de) Verfahren, System und Rechnerprogrammprodukt zur Registerzuweisung unter Verwendung mehrerer Interferenzgraphen
DE69602534T2 (de) Verfahren zur verwendung von metallocenkatalysatoren
DE69906223D1 (de) Farbübereinstimmungssystem und Verfahren für seine Verwendung
DE69837575D1 (de) Vorrichtung und Verfahren zur Inkubation von Teststreifen
DE69626083T2 (de) System und Verfahren zur Implementierung einer Druckerarchitektur unter Verwendung veränderlicher Binarisierungsverarbeitung
DE59808096D1 (de) Verfahren zur überwachung von bearbeitungsanlagen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee