Patents by Inventor Richard E. Hank

Richard E. Hank 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: 8990547
    Abstract: Systems, methodologies, computer-readable media, and other embodiments associated with ordering instructions are described. One exemplary system embodiment can include an analysis logic configured to analyze executable instructions from an executable program. A re-write logic can be configured to re-order selected load instructions within the executable program based on latency times for the selected load instructions.
    Type: Grant
    Filed: August 23, 2005
    Date of Patent: March 24, 2015
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: James R. Callister, Richard E. Hank, Teresa L. Johnson
  • Patent number: 8141062
    Abstract: A method for optimizing a code section prior to performing register allocation for variables referenced in the plurality of computer instructions. The method includes performing at least one of a full prematerialization or a partial prematerialization for a variable in the plurality of computer instructions. The full prematerialization replaces the variable in every use of the variable in the plurality of computer instructions with one or more variants of the variable and replaces a definition of the variable with a nop instruction. The partial prematerialization replaces some but not all occurrences of the variable in uses of the variable in the plurality of computer instructions with one or more variants of the variable without replacing the definition of the variable with the nop instruction.
    Type: Grant
    Filed: January 31, 2007
    Date of Patent: March 20, 2012
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Ivan D. Baev, David H. Gross, Richard E. Hank
  • Patent number: 7594223
    Abstract: A compiler configured for optimizing non-loop memory access instructions of a computer program to form architected memory instructions conforming to a base register auto-incrementing addressing mode. The compiler includes code for obtaining an intermediate stream of code containing pseudo-memory instructions from the non-loop memory access instructions. The intermediate stream of code includes at least one place holder instruction preserving a value associated with a base of a first non-loop memory access instruction even after the first non-loop memory instruction is converted to one of the pseudo-memory instructions. The compiler includes code for converting the intermediate stream of code using the intermediate stream of code and the at least one place holder instruction to obtain the architected memory instructions.
    Type: Grant
    Filed: June 27, 2005
    Date of Patent: September 22, 2009
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Richard E. Hank, Le-Chun Wu
  • Publication number: 20080184215
    Abstract: A method for optimizing a code section prior to performing register allocation for variables referenced in the plurality of computer instructions. The method includes performing at least one of a full prematerialization or a partial prematerialization for a variable in the plurality of computer instructions. The full prematerialization replaces the variable in every use of the variable in the plurality of computer instructions with one or more variants of the variable and replaces a definition of the variable with a nop instruction. The partial prematerialization replaces some but not all occurrences of the variable in uses of the variable in the plurality of computer instructions with one or more variants of the variable without replacing the definition of the variable with the nop instruction.
    Type: Application
    Filed: January 31, 2007
    Publication date: July 31, 2008
    Inventors: Ivan D. Baev, David H. Gross, Richard E. Hank
  • Patent number: 6986131
    Abstract: A method of efficient code generation for modulo scheduled uncounted loops includes: assigning a given stage predicate to each instruction in each stage, including assigning a given stage predicate to each instruction in each speculative stage; and using the stage predicate to conditionally enable or disable the execution of an instruction during the prologue and epilogue execution.
    Type: Grant
    Filed: June 18, 2002
    Date of Patent: January 10, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Carol L. Thompson, Uma Srinivasan, Richard E. Hank, Dale Morris
  • Publication number: 20040025153
    Abstract: The present invention is a software pipeline method and system. In one embodiment a software pipeline method commences pipeline operations. If a flow control condition is valid, a branch operation is performed. After the pausing the software pipeline method returns to the pipeline operations at the same point in the pipeline operations at which the pause initiated.
    Type: Application
    Filed: July 30, 2002
    Publication date: February 5, 2004
    Inventors: Teresa L. Johnson, Richard E. Hank
  • Publication number: 20030233643
    Abstract: A method of efficient code generation for modulo scheduled uncounted loops includes: assigning a given stage predicate to each instruction in each stage, including assigning a given stage predicate to each instruction in each speculative stage; and using the stage predicate to conditionally enable or disable the execution of an instruction during the prologue and epilogue execution.
    Type: Application
    Filed: June 18, 2002
    Publication date: December 18, 2003
    Inventors: Carol L. Thompson, Uma Srinivasan, Richard E. Hank, Dale Morris