Patents by Inventor Jonathan F. Humphreys

Jonathan F. Humphreys has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 7240344
    Abstract: An improved method is provided for performing register allocation in a compiler. This method determines the allocation of a plurality R of registers of a processor for use during the execution of a software program. The register allocation process is treated as a graph-coloring problem, such that an interference graph is constructed for the software program, the graph is simplified, and an R-coloring the interference graph to the extent possible is attempted. Then, spill code is inserted in the software program each for each uncolored node of the graph, a new interference graph is constructed, and the process is repeated. During the simplification process, nodes with degree greater than or equal to R are removed from the graph in an order dictated by a spill cost metric. During the coloring process, these same nodes are reinserted in the graph in an order dictated by reapplying the spill cost metric.
    Type: Grant
    Filed: August 13, 2003
    Date of Patent: July 3, 2007
    Assignee: Texas Instruments Incorporated
    Inventors: Reid E. Tatge, Jonathan F. Humphreys
  • Patent number: 7237234
    Abstract: A compiler tool is provided to selectively solicit assistance from a programmer in order to improve optimization of code compiled by the compiler. As a program is being compiled, the compiler keeps track of the places where it could do better if it only knew certain information. The user is presented with one or more pieces of advice that each identify a problem that prevented the compiler from making a particular optimization due to not enough information and one or more suggestions as to how to provide additional information to the compiler. This list is generally filtered so that only a subset of missing information that has a high likelihood of leading to better performance is presented. Other missing information is not requested.
    Type: Grant
    Filed: December 12, 2002
    Date of Patent: June 26, 2007
    Assignee: Texas Instruments Incorporated
    Inventors: Elana D. Granston, Jonathan F. Humphreys, David H. Bartley
  • Patent number: 7103883
    Abstract: An interactive translation system (10) includes a front end (40), a back end (42), and a user interface (16). The front end (40) is operable to identify source elements (86) in a source file (24). The back end (42) is operable to generate a translation file having translation elements corresponding to translation of said identified source elements (86) and having an interface (16) for receiving inputs for modifying said translation.
    Type: Grant
    Filed: May 1, 2001
    Date of Patent: September 5, 2006
    Assignee: Texas Instruments Incorporated
    Inventors: Alan L. Davis, Jonathan F. Humphreys, Todd M. Snider
  • Patent number: 6922829
    Abstract: A method of generating profiled optimized code using user interface (17) that allows a user to visually understand, inspect, and manipulate a compiled application program as a function of compiler options, such as, code size and speed, is provided. A program (11) is compiled in a compiler (13) with two or more compiler options such as size and speed and the resulting executables (14) are profiled (15). The results of the profiles (19) are analyed in a solver (21) for generating sets of useful solutions (23) wherein the sets have methods of compiling at the function level. The useful solutions (23) are displayed (18) at the user interface (17) to allow the user to visually understand, inspect and manipulate compiler options to select compiler options (13a) for the program.
    Type: Grant
    Filed: January 17, 2001
    Date of Patent: July 26, 2005
    Assignee: Texas Instruments Incorporated
    Inventors: Alan S. Ward, Reid E. Tatge, Jonathan F. Humphreys, David H. Bartley, Paul C. Fuqua
  • Patent number: 6829759
    Abstract: A method for generating a translation display includes receiving a source file (414) including a plurality of source elements (422) and a translation file (418) including a plurality of translation elements (426) corresponding to the source elements (422). The source and translation files (414 and 418) are partitioned into a plurality of partitions (458). Each partition (458) has a group of source elements (422) and a group of all translation elements (426) corresponding to the group of source elements (422). The corresponding source and translation groups are aligned for display.
    Type: Grant
    Filed: October 28, 1999
    Date of Patent: December 7, 2004
    Assignee: Texas Instruments Incorporated
    Inventors: Alan L. Davis, Jonathan F. Humphreys, Todd M. Snider, Raj Kanagasabai
  • Patent number: 6728950
    Abstract: An interactive translation system (10) includes a front end (40), a back end (42), and a user interface (16). The front end (40) is operable to identify source elements (86) in a source file (24). The back end (42) is operable to generate a translation file having translation elements corresponding to translation of said identified source elements (86) and having an interface (16) for receiving inputs for modifying said translation.
    Type: Grant
    Filed: May 1, 2001
    Date of Patent: April 27, 2004
    Assignee: Texas Instruments Incorporated
    Inventors: Alan L. Davis, Jonathan F. Humphreys, Todd M. Snider, Raj Kanagasabai
  • Patent number: 6718544
    Abstract: A user interface that allows a user to visually understand, inspect, and manipulate a compiled application program as a function of compiler options, such as, code size and speed, is provided.
    Type: Grant
    Filed: February 22, 2000
    Date of Patent: April 6, 2004
    Assignee: Texas Instruments Incorporated
    Inventors: Jonathan F. Humphreys, Alan S. Ward, Reid E. Tatge, David H. Bartley, Paul C. Fuqua
  • Publication number: 20030140334
    Abstract: A compiler tool is provided to selectively solicit assistance from a programmer in order to improve optimization of code compiled by the compiler. As a program is being compiled, the compiler keeps track of the places where it could do better if it only knew certain information. The user is presented with one or more pieces of advice that each identify a problem that prevented the compiler from making a particular optimization due to not enough information and one or more suggestions as to how to provide additional information to the compiler. This list is generally filtered so that only a subset of missing information that has a high likelihood of leading to better performance is presented. Other missing information is not requested.
    Type: Application
    Filed: December 12, 2002
    Publication date: July 24, 2003
    Inventors: Elana D. Granston, Jonathan F. Humphreys, David H. Bartley
  • Patent number: 6477641
    Abstract: An interactive translation system (10) includes a front end (40), a back end (42), and a user interface (16). The front end (40) is operable to identify source elements (86) in a source file (24). The back end (42) is operable to generate a translation file having translation elements corresponding to translation of said identified source elements (86) and having an interface (16) for receiving inputs for modifying said translation.
    Type: Grant
    Filed: May 1, 2001
    Date of Patent: November 5, 2002
    Assignee: Texas Instruments Incorporated
    Inventors: Alan L. Davis, Jonathan F. Humphreys, Todd M. Snider, Raj Kanagasabai
  • Publication number: 20020157084
    Abstract: An interactive translation system (10) includes a front end (40), a back end (42), and a user interface (16). The front end (40) is operable to identify source elements (86) in a source file (24). The back end (42) is operable to generate a translation file having translation elements corresponding to translation of said identified source elements (86) and having an interface (16) for receiving inputs for modifying said translation.
    Type: Application
    Filed: May 1, 2001
    Publication date: October 24, 2002
    Inventors: Alan L. Davis, Jonathan F. Humphreys, Todd M. Snider, Raj Kanagasabai
  • Publication number: 20010032332
    Abstract: A method of generating profiled optimized code using user interface (17) that allows a user to visually understand, inspect, and manipulate a compiled application program as a function of compiler options, such as, code size and speed, is provided. A program (11) is compiled in a compiler (13) with two or more compiler options such as size and speed and the resulting executables (14) are profiled (15). The results of the profiles (19) are analyed in a solver (21) for generating sets of useful solutions (23) wherein the sets have methods of compiling at the function level. The useful solutions (23) are displayed (18) at the user interface (17) to allow the user to visually understand, inspect and manipulate compiler options to select compiler options (13a) for the program.
    Type: Application
    Filed: January 17, 2001
    Publication date: October 18, 2001
    Inventors: Alan S. Ward, Reid E. Tatge, Jonathan F. Humphreys, David H. Bartley, Paul C. Fuqua
  • Publication number: 20010018764
    Abstract: An interactive translation system (10) includes a front end (40), a back end (42), and a user interface (16). The front end (40) is operable to identify source elements (86) in a source file (24). The back end (42) is operable to generate a translation file having translation elements corresponding to translation of said identified source elements (86) and having an interface (16) for receiving inputs for modifying said translation.
    Type: Application
    Filed: May 1, 2001
    Publication date: August 30, 2001
    Inventors: Alan L. Davis, Jonathan F. Humphreys, Todd M. Snider, Raj Kanagasabai
  • Publication number: 20010016941
    Abstract: An interactive translation system (10) includes a front end (40), a back end (42), and a user interface (16). The front end (40) is operable to identify source elements (86) in a source file (24). The back end (42) is operable to generate a translation file having translation elements corresponding to translation of said identified source elements (86) and having an interface (16) for receiving inputs for modifying said translation.
    Type: Application
    Filed: May 1, 2001
    Publication date: August 23, 2001
    Inventors: Alan L. Davis, Jonathan F. Humphreys, Todd M. Snider, Raj Kanagasabai
  • Publication number: 20010016940
    Abstract: An interactive translation system (10) includes a front end (40), a back end (42), and a user interface (16). The front end (40) is operable to identify source elements (86) in a source file (24). The back end (42) is operable to generate a translation file having translation elements corresponding to translation of said identified source elements (86) and having an interface (16) for receiving inputs for modifying said translation.
    Type: Application
    Filed: May 1, 2001
    Publication date: August 23, 2001
    Inventors: Alan L. Davis, Jonathan F. Humphreys, Todd M. Snider, Raj Kanagasabai
  • Patent number: 6002876
    Abstract: A method of producing a computer program for a computer capable of operating in a plurality of disjoint instruction sets. The method produces a plurality of independently callable functions. For each function the method determines a target instruction set employed by the function. The method provides the function with a name corresponding to the target instruction set. The function name is preferably a modification of a user provided function name corresponding to the target instruction set. The method identifies each call of another independent function and provides each with a name corresponding to the target instruction set. The method produces a veneer function for each function and for each other instruction set. The veneer functions include changing the computer from operating in the other instruction set to operating in the target instruction set, calling the corresponding function, changing the computer to operate in the other instruction set, and a return command.
    Type: Grant
    Filed: September 26, 1997
    Date of Patent: December 14, 1999
    Assignee: Texas Instruments Incorporated
    Inventors: Alan L. Davis, Jonathan F. Humphreys, Reid E. Tatge