$\require{mediawiki-texvc}$
  • 검색어에 아래의 연산자를 사용하시면 더 정확한 검색결과를 얻을 수 있습니다.
  • 검색연산자
검색연산자 기능 검색시 예
() 우선순위가 가장 높은 연산자 예1) (나노 (기계 | machine))
공백 두 개의 검색어(식)을 모두 포함하고 있는 문서 검색 예1) (나노 기계)
예2) 나노 장영실
| 두 개의 검색어(식) 중 하나 이상 포함하고 있는 문서 검색 예1) (줄기세포 | 면역)
예2) 줄기세포 | 장영실
! NOT 이후에 있는 검색어가 포함된 문서는 제외 예1) (황금 !백금)
예2) !image
* 검색어의 *란에 0개 이상의 임의의 문자가 포함된 문서 검색 예) semi*
"" 따옴표 내의 구문과 완전히 일치하는 문서만 검색 예) "Transform and Quantization"

특허 상세정보

Method and apparatus for compiling computer programs with interprocedural register allocation

국가/구분 United States(US) Patent 등록
국제특허분류(IPC7판) G06F-009/44    G06F-009/45   
미국특허분류(USC) 395/700 ; 364/23223 ; 364/2804 ; 364/2805
출원번호 US-0313432 (1995-01-23)
발명자 / 주소
출원인 / 주소
인용정보 피인용 횟수 : 116  인용 특허 : 9
초록

Optimization techniques are implemented by means of a program analyzer used in connection with a program compiler to optimize usage of limited register resources in a computer processor. The first optimization technique, called interprocedural global variable promotion allows the global variables of a program to be accessed in common registers across a plurality of procedures. Moreover, a single common register can be used for different global variables in distinct regions of a program call graph. This is realized by identifying subgraphs, of the program...

대표
청구항

A method for optimizing register usage in an executable computer program on a computer processor having a limited plurality of machine registers, said computer program being compiled from a plurality of individual source code files, said method comprising the steps of: reading said individual source code files having high-level program language text reciting a plurality of procedures, said source code files being read one at a time; determining syntactic and semantic correctness of each said source code file; translating each said source code file into a...

이 특허에 인용된 특허 (9)

  1. Joy William (Palo Alto CA) Garner Robert B. (San Jose CA). BISC with interconnected register ring and selectively operating portion of the ring as a conventional computer. USP1992015083263.
  2. Munshi Ashfaq A. (San Jose CA) Schimpf Karl M. (Santa Cruz CA). Compilation using two-colored pebbling register allocation method such that spill code amount is invariant with basic bl. USP1988114782444.
  3. Case Brian W. (Mountain View CA) Fleck Rod G. (Mountain View CA) Johnson William M. (San Jose CA) Kong Cheng-Gang (San Jose CA) Moller Ole (Nivaa DKX). General-purpose register file optimized for intraprocedural register allocation, procedure calls, and multitasking perfo. USP1988104777588.
  4. Hopkins Martin E. (Chappaqua NY) Warren ; Jr. Henry S. (Ossining NY). Generating efficient code for a computer with dissimilar register spaces. USP1990104961141.
  5. Chaitin Gregory J. (Yorktown Heights NY) Hopkins Martin E. (Chappaqua NY) Markstein Peter W. (Yorktown Heights NY) Warren ; Jr. Henry S. (Ossining NY). Generating storage reference instructions in an optimizing compiler. USP1987044656582.
  6. Reps Thomas (Madison WI) Horwitz Susan (Madison WI) Binkley David (Madison WI). Interprocedural slicing of computer programs using dependence graphs. USP1992115161216.
  7. Odnert Daryl (Boulder Creek CA) Santhanam Vatsa (Sunnyvale CA). Method and apparatus for compiling computer programs with interproceduural register allocation. USP1995065428793.
  8. Auslander Marc A. (Millwood NY) Hopkins Martin E. (Chappaqua NY) Markstein Peter W. (Yorktown Heights NY). Method of developing formal identities and program bases in an optimizing compiler. USP1987024642764.
  9. Chaitin Gregory J. (Yorktown Heights NY). Register allocation and spilling via graph coloring. USP1986024571678.

이 특허를 인용한 특허 피인용횟수: 116

  1. Ramchandran, Amit. Adaptable datapath for a digital processing system. USP2013028380884.
  2. Ramchandran, Amit. Adaptable datapath for a digital processing system. USP2015049015352.
  3. Ramchandran, Amit. Adaptable datapath for a digital processing system. USP2014048706916.
  4. Ramchandran, Amit. Adaptable datapath for a digital processing system. USP2009107606943.
  5. Master, Paul L.; Hogenauer, Eugene; Scheuermann, Walter J.. Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements. USP2015109164952.
  6. Master, Paul L.; Hogenauer, Eugene; Scheuermann, Walter J.. Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements. USP2013098543795.
  7. Master, Paul L.; Hogenauer, Eugene; Scheuermann, Walter James. Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements. USP2013098533431.
  8. Master, Paul L.; Hogenauer, Eugene; Scheuermann, Walter James. Adaptive integrated circuitry with heterogenous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements. USP2013098543794.
  9. Master, Paul L.; Hogenauer, Eugene; Scheuermann, Walter James. Adaptive processor for performing an operation with simple and complex units each comprising configurably interconnected heterogeneous elements. USP2013018356161.
  10. Master, Paul L.; Uvacek, Bohumir. Apparatus and method for adaptive multimedia reception and transmission in communication environments. USP2015049002998.
  11. Master, Paul L.; Smith, Stephen J.; Watson, John. Apparatus, method, system and executable module for configuration and operation of adaptive integrated circuitry having fixed, application specific computational elements. USP2016059330058.
  12. Master, Paul L.; Smith, Stephen J.; Watson, John. Apparatus, method, system and executable module for configuration and operation of adaptive integrated circuitry having fixed, application specific computational elements. USP2014118880849.
  13. Master, Paul L.; Smith, Stephen J.; Watson, John. Apparatus, method, system and executable module for configuration and operation of adaptive integrated circuitry having fixed, application specific computational elements. USP2012088250339.
  14. Master, Paul L.; Smith, Stephen J.; Watson, John. Apparatus, system and method for configuration of adaptive integrated circuitry having fixed, application specific computational elements. USP2017039594723.
  15. Master, Paul L.; Smith, Stephen J.; Watson, John. Apparatus, system and method for configuration of adaptive integrated circuitry having heterogeneous computational elements. USP2012078225073.
  16. Cawlfield, Kevin J.; Chen, Chang W.; Harding, Mitchell P.; Hollinger, Michael C.; Reddock, Michael R.. Application initiated negotiations for resources meeting a performance parameter in a virtualized computing environment. USP2014048694995.
  17. Cawlfield, Kevin J.; Chen, Chang W.; Harding, Mitchell P.; Hollinger, Michael C.; Reddock, Michael R.. Application initiated negotiations for resources meeting a performance parameter in a virtualized computing environment. USP2014048694996.
  18. Gschwind, Michael K.. Call sequence generation based on type of routine. USP20181010095493.
  19. Heidari, Ghobad; Chang, Kuor Hsin; Master, Paul L.; Hogenauer, Eugene B.; Scheuermann, Walter James. Communications module, device, and method for implementing a system acquisition function. USP2009117620097.
  20. Odani Kensuke,JPX ; Tanaka Akira,JPX ; Tanaka Hirohisa,JPX. Compiler for optimizing memory instruction sequences by marking instructions not having multiple memory address paths. USP2001066243864.
  21. Williams,David J.. Compiler having global element optimization. USP2008027337173.
  22. Koseki, Akira; Komatsu, Hideaki. Compiler register allocation and compilation. USP2012018104026.
  23. Koseki,Akira; Komatsu,Hideaki. Compiler register allocation and compilation. USP2007127305665.
  24. Peyton ; Jr. John T. ; de Jong Stuart. Compiler with inter-modular procedure optimization. USP1999075920723.
  25. Koseki, Akira; Takeuchi, Mikio; Komatsu, Hideaki. Compiling method and storage medium therefor. USP2012048161467.
  26. Koseki,Akira; Takeuchi,Mikio; Komatsu,Hideaki. Compiling method and storage medium therefor. USP2008027331044.
  27. Master, Paul L.; Watson, John. Configurable hardware based digital imaging apparatus. USP2009107609297.
  28. Blainey Robert James,CAX ; Donawa Christopher Michael,CAX ; McInnes James Lawrence,CAX. Connectivity based program partitioning. USP1998085797012.
  29. Scheuermann, W. James; Hogenauer, Eugene B.. Control node for multi-core system. USP20190110185502.
  30. Aizikowitz Nava E.,ILX ; Bar-Haim Roy N.,ILX ; Edelstein Orit,ILX ; Prosser Edward Curtis ; Roediger Robert Ralph. Cooperation of global and local register allocators for better handling of procedures. USP1999035890000.
  31. Woersching, Udo; Lunt, Martin; Markus, Elmar; Biegert, Uwe. Data consistency in data processing systems. USP2013068464236.
  32. Walker, Douglas Jay; Turner, Bryan C.; Toebes, John. Distributed client services based on execution of service attributes and data attributes by multiple nodes in resource groups. USP2009067543020.
  33. Walker, Douglas Jay; Turner, Bryan C.; Toebes, John. Distributed client services based on execution of service attributes and data attributes by multiple nodes in resource groups. USP2012068195742.
  34. Walker, Douglas Jay; Turner, Bryan C.; Toebes, John. Distributed client services based on execution of service attributes and data attributes by multiple nodes in resource groups. USP2011087991835.
  35. Turner, Bryan C.; Toebes, John; Walker, Douglas Jay. Distributed computing based on multiple nodes with determined capacity selectively joining resource groups having resource requirements. USP2011118051170.
  36. Turner, Bryan C.; Toebes, John; Walker, Douglas Jay. Distributed computing based on multiple nodes with determined capacity selectively joining resource groups having resource requirements. USP2012088239540.
  37. Turner, Bryan C.; Toebes, John; Walker, Douglas Jay. Distributed computing based on multiple nodes with determined capacity selectively joining resource groups having resource requirements. USP2014018639816.
  38. Halahmi Dror,ILX. Efficient ROM and PLA recoding to save chip area. USP1998095812856.
  39. Brokenshire, Daniel A.; O'Brien, John Kevin Patrick. Ensuring maximum code motion of accesses to DMA buffers. USP2012038141067.
  40. Cawlfield, Kevin J.; Chen, Chang W.; Harding, Mitchell P.; Hollinger, Michael C.; Reddock, Michael R.. Estimating migration costs for migrating logical partitions within a virtualized computing environment based on a migration cost history. USP2015089110705.
  41. Cawlfield, Kevin J.; Chen, Chang W.; Harding, Mitchell P.; Hollinger, Michael C.; Reddock, Michael R.. Estimating migration costs for migrating logical partitions within a virtualized computing environment based on a migration cost history. USP2016019229764.
  42. Cawlfield, Kevin J.; Chen, Chang W.; Harding, Mitchell P.; Hollinger, Michael C.; Reddock, Michael R.. Estimating migration costs for migrating logical partitions within a virtualized computing environment based on a migration cost history. USP2014108863141.
  43. Cawlfield, Kevin J.; Chen, Chang W.; Harding, Mitchell P.; Hollinger, Michael C.; Reddock, Michael R.. Estimating migration costs for migrating logical partitions within a virtualized computing environment based on a migration cost history. USP2014128904404.
  44. Gschwind, Michael K.. Executing instructions to store context information based on routine to be executed. USP20190310235190.
  45. Furtek, Frederick Curtis; Master, Paul L.. External memory controller. USP2012098266388.
  46. Furtek, Frederick Curtis; Master, Paul L.. External memory controller node. USP2014078769214.
  47. Furtek, Fredrick Curtis; Master, Paul L.. External memory controller node. USP2011077984247.
  48. Furtek, Fredrick Curtis; Master, Paul L.. External memory controller node. USP2011077979646.
  49. Blainey Robert James,CAX ; Donawa Christopher Michael,CAX ; McInnes James Lawrence,CAX. Global variable coalescing. USP1998125850549.
  50. Rogers, Steven W.. Global variable structure in a graphical program. USP2013028381174.
  51. Scheuermann,Walter James. Hardware implementation of the secure hash standard. USP2009027489779.
  52. Scheuermann, W. James; Hogenauer, Eugene B.. Hardware task manager. USP2017059665397.
  53. Scheuermann, W. James; Hogenauer, Eugene B.. Hardware task manager. USP2012068200799.
  54. Scheuermann, W. James; Hogenauer, Eugene B.. Hardware task manager. USP2010017653710.
  55. Scheuermann, W. James; Hogenauer, Eugene B.. Hardware task manager. USP2014078782196.
  56. Arimilli,Ravi Kumar; Williams,Derek Edward. High speed promotion mechanism suitable for lock acquisition in a multiprocessor data processing system. USP2007057213248.
  57. Pritchard, Jeffrey Orion; Blackburn, Jarrod Colin James; Lau, David James; Molson, Philippe; Ball, James L.; Kempa, Jesse. High-level language code sequence optimization for implementing programmable chip designs. USP2016059329847.
  58. Rogers, Steven W.. In-place structure in a graphical program. USP2013038392878.
  59. Peng, Sheng; Sun, Jian; Hou, Lei; Zhang, Qin. Information retrieval based on semantic patterns of queries. USP2014088799275.
  60. Dubinsky, Leon; Lyon-Smith, John. Intermediate language representation and modification. USP2014108875111.
  61. Archambault,Roch Georges. Interprocedural dead store elimination. USP2006087100156.
  62. Sambhwani, Sharad; Heidari, Ghobad. Low I/O bandwidth method and system for implementing detection and identification of scrambling codes. USP2013058442096.
  63. Sambhwani, Sharad; Heidari, Ghobad. Low I/O bandwidth method and system for implementing detection and identification of scrambling codes. USP2010027668229.
  64. Sambhwani,Sharad; Heidari,Ghobad. Low I/O bandwidth method and system for implementing detection and identification of scrambling codes. USP2009037512173.
  65. Gschwind, Michael K.. Marking external sibling caller routines. USP20181210152338.
  66. Gschwind, Michael K.. Marking external sibling caller routines. USP20181110140133.
  67. Gschwind, Michael K.. Marking sibling caller routines. USP20190310241769.
  68. Lueh, Guei-Yuan; Riffel, Andrew T.; Jiang, Hong; Zheng, Bixia; Tang, Lian. Method and apparatus for assigning subroutines. USP2014088799876.
  69. Bortnikov Vita,ILX ; Mendelson Bilha,ILX ; Novick Mark,ILX ; Roediger Robert Ralph ; Schmidt William Jon ; Shavit-Lottem Inbal,ILX. Method and apparatus for modular reordering of portions of a computer program based on profile data. USP2000026029004.
  70. Bortnikov Vita,ILX ; Mendelson Bilha,ILX ; Novick Mark,ILX ; Schmidt William Jon ; Shavit-Lottem Inbal,ILX. Method and apparatus for profile-based reordering of program portions in a computer program. USP1999095950009.
  71. Deshmukh, Vijay; Swartzlander, Benjamin; Schwartz, Barry. Method and apparatus for representing file system metadata within a database for efficient queries. USP2010117844646.
  72. Master, Paul L.. Method and system for achieving individualized protected space in an operating system. USP2010027660984.
  73. Master, Paul L.. Method and system for creating and programming an adaptive computing engine. USP2011017865847.
  74. Plunkett, Robert T.; Heidari, Ghobad; Master, Paul L.. Method and system for managing hardware resources to implement system functions using an adaptive computing architecture. USP2015059037834.
  75. Plunkett, Robert T.; Heidari, Ghobad; Master, Paul L.. Method and system for managing hardware resources to implement system functions using an adaptive computing architecture. USP2016079396161.
  76. Plunkett, Robert T.; Heidari, Ghobad; Master, Paul L.. Method and system for managing hardware resources to implement system functions using an adaptive computing architecture. USP2013118589660.
  77. Plunkett, Robert T.; Heidari, Ghobad; Master, Paul L.. Method and system for managing hardware resources to implement system functions using an adaptive computing architecture. USP2010077752419.
  78. Scheuermann, W. James. Method and system for reconfigurable channel coding. USP2014078767804.
  79. Scheuermann, W. James. Method and system for reconfigurable channel coding. USP2012088249135.
  80. Scheuermann, W. James. Method and system for reconfigurable channel coding. USP2010107809050.
  81. Scheuermann, W. James. Method and system for reconfigurable channel coding. USP2010107822109.
  82. Opaterny, Thilo. Method for evaluating at least one characteristic value. USP2014018627297.
  83. Correa, Colt R. Method for supporting calibration parameters in an ECU. USP2012078225293.
  84. Arimilli, Ravi Kumar; Williams, Derek Edward. Method, apparatus and system for accessing a global promotion facility through execution of a branch-type instruction. USP2005086925551.
  85. Arimilli, Ravi Kumar; Williams, Derek Edward. Method, apparatus and system for acquiring a global promotion facility utilizing a data-less transaction. USP2004126829698.
  86. Arimilli, Ravi Kumar; Williams, Derek Edward. Method, apparatus and system for acquiring a plurality of global promotion facilities through execution of an instruction. USP2005016842847.
  87. Arimilli,Ravi Kumar; Williams,Derek Edward. Method, apparatus and system for managing released promotion bits. USP2006037017031.
  88. Arimilli, Ravi Kumar; Williams, Derek Edward. Method, apparatus and system that cache promotion information within a processor separate from instructions and data. USP2005076920514.
  89. Srinivasan, Uma. Method, apparatus, and product for optimizing compiler with rotating register assignment to modulo scheduled code in SSA form. USP2003116651247.
  90. Master,Paul L.; Hogenauer,Eugene; Wu,Bicheng William; Chuang,Dan MingLun; Freeman Benson,Bjorn. Method, system and program for developing and scheduling adaptive integrated circuity and corresponding control or configuration information. USP2009017478031.
  91. Fuhler, Richard A.; Pennello, Thomas J.; Jalkut, Michael Lee; Warnes, Peter. Methods and apparatus for compiling instructions for a data processor. USP2012048166450.
  92. Fuhler,Richard A.; Pennello,Thomas J.; Jalkut,Michael Lee; Warnes,Peter. Methods and apparatus for compiling instructions for a data processor. USP2007107278137.
  93. Wolf William M.. Methods for encoding decoding and processing six character date designations for the year 2000 and beyond. USP1999105970247.
  94. Chessin Stephen Alan ; Evans Rodrick Ison ; Walker Michael S.. Methods, computer program products, and apparatus for initializing global registers. USP2000026026242.
  95. Santhanam Vatsa ; Gross David ; Kwan John. Optimization of source code with embedded machine instructions. USP2001066247174.
  96. Krishnamurthy,Gayathri; Granston,Elana D.; Stotzer,Eric J.. Partitioning symmetric nodes efficiently in a split register file architecture. USP2006067062762.
  97. Makarov, Vladimir. Performing register allocation of program variables based on priority spills and assignments. USP2013108555267.
  98. Deshmukh, Vijay; Swartzlander, Benjamin. Pre-summarization and analysis of results generated by an agent. USP2015038990285.
  99. Master, Paul L.. Profiling of software and circuit designs utilizing data operation analyses. USP2012098276135.
  100. Masaru Yokoyama JP. Program executing system for semiconductor testing equipment. USP2002116484116.
  101. Russell, Jeffry Thomas. Program slicing for codesign of embedded systems. USP2009117620946.
  102. Aizikowitz Nava Arela,ILX ; Bar-Haim Roy,ILX ; Prosser Edward Curtis ; Roediger Robert Ralph ; Schmidt William Jon. Register allocation method and apparatus for truncating runaway lifetimes of program variables in a computer system. USP1998065761514.
  103. George, Biju; Lueh, Guei-Yuan. Register liveness analysis for SIMD architectures. USP2015049015687.
  104. George, Biju; Lueh, Guei-Yuan. Register liveness analysis for SIMD architectures. USP2016069372677.
  105. Chakrabarti,Dhruva Ranjan; Liu,Shin Ming. Scalable cross-file inlining through locality-based transformation ordering. USP2007117302679.
  106. De Oliveira Kastrup Pereira, Bernardo; Augusteijn, Alexander; Pires Dos Reis Moreira, Orlando Miguel; Van Loon, Paul A. C. J.. Source-to-source partitioning compilation. USP2009077559051.
  107. Master,Paul L.; Watson,John. Storage and delivery of device features. USP2009027493375.
  108. Deshmukh, Vijay; Swartzlander, Benjamin; Thompson, Timothy J.. Storage resource management across multiple paths. USP2011098024309.
  109. Gschwind, Michael K.. Suppressing storing of context information. USP20190110180827.
  110. Master, Paul L.; Watson, John. System for adapting device standards after manufacture. USP2009107602740.
  111. Master, Paul L.; Watson, John. System for authorizing functionality in adaptable hardware devices. USP201109E042743.
  112. Koseki, Akira; Takeuchi, Mikio; Komatsu, Hideaki. Systems and methods for efficiently using stack registers and storage medium therefor. USP2014038671399.
  113. Marcelais Michael Ronn ; Walsh James E.. Systems and methods for pre-processing variable initializers. USP2000086110227.
  114. Pande,Santosh; Zhang,Tao; Dos Santos,Andre; Bruecklmayr,Franz Josef. Systems, methods and computer program products for leakage-proof program partitioning. USP2007097269671.
  115. Katragadda, Ramana; Spoltore, Paul; Howard, Ric. Task definition for specifying resource requirements. USP2012018108656.
  116. Stephen Alan Chessin. Unitary data structure systems, methods, and computer program products, for global conflict determination. USP2002026351848.