$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

Method and apparatus for compiling computer programs with interprocedural register allocation 원문보기

IPC분류정보
국가/구분 United States(US) Patent 등록
국제특허분류(IPC7판)
  • G06F-009/44
  • G06F-009/45
출원번호 US-0313432 (1995-01-23)
발명자 / 주소
  • Odnert Daryl (Boulder Creek CA) Santhanam Vatsa (Sunnyvale CA)
출원인 / 주소
  • Hewlett-Packard Company (Palo Alto CA 02)
인용정보 피인용 횟수 : 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 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

이 특허에 인용된 특허 (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.
  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.
  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.
  4. Hopkins Martin E. (Chappaqua NY) Warren ; Jr. Henry S. (Ossining NY), Generating efficient code for a computer with dissimilar register spaces.
  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.
  6. Reps Thomas (Madison WI) Horwitz Susan (Madison WI) Binkley David (Madison WI), Interprocedural slicing of computer programs using dependence graphs.
  7. Odnert Daryl (Boulder Creek CA) Santhanam Vatsa (Sunnyvale CA), Method and apparatus for compiling computer programs with interproceduural register allocation.
  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.
  9. Chaitin Gregory J. (Yorktown Heights NY), Register allocation and spilling via graph coloring.

이 특허를 인용한 특허 (116)

  1. Ramchandran, Amit, Adaptable datapath for a digital processing system.
  2. Ramchandran, Amit, Adaptable datapath for a digital processing system.
  3. Ramchandran, Amit, Adaptable datapath for a digital processing system.
  4. Ramchandran, Amit, Adaptable datapath for a digital processing system.
  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.
  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.
  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.
  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.
  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.
  10. Master, Paul L.; Uvacek, Bohumir, Apparatus and method for adaptive multimedia reception and transmission in communication environments.
  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.
  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.
  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.
  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.
  15. Master, Paul L.; Smith, Stephen J.; Watson, John, Apparatus, system and method for configuration of adaptive integrated circuitry having heterogeneous computational elements.
  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.
  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.
  18. Gschwind, Michael K., Call sequence generation based on type of routine.
  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.
  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.
  21. Williams,David J., Compiler having global element optimization.
  22. Koseki, Akira; Komatsu, Hideaki, Compiler register allocation and compilation.
  23. Koseki,Akira; Komatsu,Hideaki, Compiler register allocation and compilation.
  24. Peyton ; Jr. John T. ; de Jong Stuart, Compiler with inter-modular procedure optimization.
  25. Koseki, Akira; Takeuchi, Mikio; Komatsu, Hideaki, Compiling method and storage medium therefor.
  26. Koseki,Akira; Takeuchi,Mikio; Komatsu,Hideaki, Compiling method and storage medium therefor.
  27. Master, Paul L.; Watson, John, Configurable hardware based digital imaging apparatus.
  28. Blainey Robert James,CAX ; Donawa Christopher Michael,CAX ; McInnes James Lawrence,CAX, Connectivity based program partitioning.
  29. Scheuermann, W. James; Hogenauer, Eugene B., Control node for multi-core system.
  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.
  31. Woersching, Udo; Lunt, Martin; Markus, Elmar; Biegert, Uwe, Data consistency in data processing systems.
  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.
  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.
  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.
  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.
  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.
  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.
  38. Halahmi Dror,ILX, Efficient ROM and PLA recoding to save chip area.
  39. Brokenshire, Daniel A.; O'Brien, John Kevin Patrick, Ensuring maximum code motion of accesses to DMA buffers.
  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.
  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.
  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.
  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.
  44. Gschwind, Michael K., Executing instructions to store context information based on routine to be executed.
  45. Furtek, Frederick Curtis; Master, Paul L., External memory controller.
  46. Furtek, Frederick Curtis; Master, Paul L., External memory controller node.
  47. Furtek, Fredrick Curtis; Master, Paul L., External memory controller node.
  48. Furtek, Fredrick Curtis; Master, Paul L., External memory controller node.
  49. Blainey Robert James,CAX ; Donawa Christopher Michael,CAX ; McInnes James Lawrence,CAX, Global variable coalescing.
  50. Rogers, Steven W., Global variable structure in a graphical program.
  51. Scheuermann,Walter James, Hardware implementation of the secure hash standard.
  52. Scheuermann, W. James; Hogenauer, Eugene B., Hardware task manager.
  53. Scheuermann, W. James; Hogenauer, Eugene B., Hardware task manager.
  54. Scheuermann, W. James; Hogenauer, Eugene B., Hardware task manager.
  55. Scheuermann, W. James; Hogenauer, Eugene B., Hardware task manager.
  56. Arimilli,Ravi Kumar; Williams,Derek Edward, High speed promotion mechanism suitable for lock acquisition in a multiprocessor data processing system.
  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.
  58. Rogers, Steven W., In-place structure in a graphical program.
  59. Peng, Sheng; Sun, Jian; Hou, Lei; Zhang, Qin, Information retrieval based on semantic patterns of queries.
  60. Dubinsky, Leon; Lyon-Smith, John, Intermediate language representation and modification.
  61. Archambault,Roch Georges, Interprocedural dead store elimination.
  62. Sambhwani, Sharad; Heidari, Ghobad, Low I/O bandwidth method and system for implementing detection and identification of scrambling codes.
  63. Sambhwani, Sharad; Heidari, Ghobad, Low I/O bandwidth method and system for implementing detection and identification of scrambling codes.
  64. Sambhwani,Sharad; Heidari,Ghobad, Low I/O bandwidth method and system for implementing detection and identification of scrambling codes.
  65. Gschwind, Michael K., Marking external sibling caller routines.
  66. Gschwind, Michael K., Marking external sibling caller routines.
  67. Gschwind, Michael K., Marking sibling caller routines.
  68. Lueh, Guei-Yuan; Riffel, Andrew T.; Jiang, Hong; Zheng, Bixia; Tang, Lian, Method and apparatus for assigning subroutines.
  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.
  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.
  71. Deshmukh, Vijay; Swartzlander, Benjamin; Schwartz, Barry, Method and apparatus for representing file system metadata within a database for efficient queries.
  72. Master, Paul L., Method and system for achieving individualized protected space in an operating system.
  73. Master, Paul L., Method and system for creating and programming an adaptive computing engine.
  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.
  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.
  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.
  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.
  78. Scheuermann, W. James, Method and system for reconfigurable channel coding.
  79. Scheuermann, W. James, Method and system for reconfigurable channel coding.
  80. Scheuermann, W. James, Method and system for reconfigurable channel coding.
  81. Scheuermann, W. James, Method and system for reconfigurable channel coding.
  82. Opaterny, Thilo, Method for evaluating at least one characteristic value.
  83. Correa, Colt R, Method for supporting calibration parameters in an ECU.
  84. Arimilli, Ravi Kumar; Williams, Derek Edward, Method, apparatus and system for accessing a global promotion facility through execution of a branch-type instruction.
  85. Arimilli, Ravi Kumar; Williams, Derek Edward, Method, apparatus and system for acquiring a global promotion facility utilizing a data-less transaction.
  86. Arimilli, Ravi Kumar; Williams, Derek Edward, Method, apparatus and system for acquiring a plurality of global promotion facilities through execution of an instruction.
  87. Arimilli,Ravi Kumar; Williams,Derek Edward, Method, apparatus and system for managing released promotion bits.
  88. Arimilli, Ravi Kumar; Williams, Derek Edward, Method, apparatus and system that cache promotion information within a processor separate from instructions and data.
  89. Srinivasan, Uma, Method, apparatus, and product for optimizing compiler with rotating register assignment to modulo scheduled code in SSA form.
  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.
  91. Fuhler, Richard A.; Pennello, Thomas J.; Jalkut, Michael Lee; Warnes, Peter, Methods and apparatus for compiling instructions for a data processor.
  92. Fuhler,Richard A.; Pennello,Thomas J.; Jalkut,Michael Lee; Warnes,Peter, Methods and apparatus for compiling instructions for a data processor.
  93. Wolf William M., Methods for encoding decoding and processing six character date designations for the year 2000 and beyond.
  94. Chessin Stephen Alan ; Evans Rodrick Ison ; Walker Michael S., Methods, computer program products, and apparatus for initializing global registers.
  95. Santhanam Vatsa ; Gross David ; Kwan John, Optimization of source code with embedded machine instructions.
  96. Krishnamurthy,Gayathri; Granston,Elana D.; Stotzer,Eric J., Partitioning symmetric nodes efficiently in a split register file architecture.
  97. Makarov, Vladimir, Performing register allocation of program variables based on priority spills and assignments.
  98. Deshmukh, Vijay; Swartzlander, Benjamin, Pre-summarization and analysis of results generated by an agent.
  99. Master, Paul L., Profiling of software and circuit designs utilizing data operation analyses.
  100. Masaru Yokoyama JP, Program executing system for semiconductor testing equipment.
  101. Russell, Jeffry Thomas, Program slicing for codesign of embedded systems.
  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.
  103. George, Biju; Lueh, Guei-Yuan, Register liveness analysis for SIMD architectures.
  104. George, Biju; Lueh, Guei-Yuan, Register liveness analysis for SIMD architectures.
  105. Chakrabarti,Dhruva Ranjan; Liu,Shin Ming, Scalable cross-file inlining through locality-based transformation ordering.
  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.
  107. Master,Paul L.; Watson,John, Storage and delivery of device features.
  108. Deshmukh, Vijay; Swartzlander, Benjamin; Thompson, Timothy J., Storage resource management across multiple paths.
  109. Gschwind, Michael K., Suppressing storing of context information.
  110. Master, Paul L.; Watson, John, System for adapting device standards after manufacture.
  111. Master, Paul L.; Watson, John, System for authorizing functionality in adaptable hardware devices.
  112. Koseki, Akira; Takeuchi, Mikio; Komatsu, Hideaki, Systems and methods for efficiently using stack registers and storage medium therefor.
  113. Marcelais Michael Ronn ; Walsh James E., Systems and methods for pre-processing variable initializers.
  114. Pande,Santosh; Zhang,Tao; Dos Santos,Andre; Bruecklmayr,Franz Josef, Systems, methods and computer program products for leakage-proof program partitioning.
  115. Katragadda, Ramana; Spoltore, Paul; Howard, Ric, Task definition for specifying resource requirements.
  116. Stephen Alan Chessin, Unitary data structure systems, methods, and computer program products, for global conflict determination.
섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로