Patents by Inventor Rakesh Ghiya

Rakesh Ghiya 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: 7634765
    Abstract: Methods and apparatus for reducing a control flow graph are disclosed. A disclosed method comprises: creating a points-to set associated with a function in a computer program; determining if a control flow edge between: (1) a call-site associated with a restore and return instruction and (2) a successor block following the call-site is removable from a control flow graph representing the computer program; and removing the control flow edge if it is determined that the control flow edge is removable.
    Type: Grant
    Filed: August 27, 2004
    Date of Patent: December 15, 2009
    Assignee: Intel Corporation
    Inventors: Rakesh Ghiya, Robert J. Cox, David C. Sehr
  • Patent number: 7257809
    Abstract: An arrangement is provided for estimating type-cast sets of a program. Type-cast sets of a program are computed with respect to the declared types contained in the program.
    Type: Grant
    Filed: December 31, 2002
    Date of Patent: August 14, 2007
    Assignee: Intel Corporation
    Inventors: Rakesh Ghiya, David C. Sehr
  • Patent number: 7243342
    Abstract: Methods and apparatus are disclosed for determining if a user-defined software function is a memory allocation function during compile-time. The methods and apparatus determine if a user-defined function returns a new memory object every time the user-defined function is invoked. In addition, the methods and apparatus determine if the memory objects created by the user-defined function are available outside the scope of the user defined function. If the user-defined function returns a new memory object every time the user-defined function is invoked, and the memory objects created by the user-defined function are not available outside the scope of the user defined function, then the user-defined function is determined to be a memory allocation function. Otherwise, the user-defined function is determined to be a non-memory allocation function.
    Type: Grant
    Filed: June 11, 2002
    Date of Patent: July 10, 2007
    Assignee: Intel Corporation
    Inventors: Rakesh Ghiya, Daniel M. Lavery, David C. Sehr
  • Patent number: 7127710
    Abstract: In one embodiment, disambiguation of memory references, such as structure field accesses, of a computer program is performed. Disambiguation may be effected by identifying pure pointer variables within the computer program and applying at least one disambiguation rule to memory references associated with the pure pointers to determine whether the references are disjoint.
    Type: Grant
    Filed: June 24, 2002
    Date of Patent: October 24, 2006
    Assignee: Intel Corporation
    Inventors: Rakesh Ghiya, Daniel Lavery, David Sehr
  • Publication number: 20060047681
    Abstract: Methods and apparatus for reducing a control flow graph are disclosed. A disclosed method comprises: creating a points-to set associated with a function in a computer program; determining if a control flow edge between: (1) a call-site associated with a restore and return instruction and (2) a successor block following the call-site is removable from a control flow graph representing the computer program; and removing the control flow edge if it is determined that the control flow edge is removable.
    Type: Application
    Filed: August 27, 2004
    Publication date: March 2, 2006
    Inventors: Rakesh Ghiya, Robert Cox, David Sehr
  • Publication number: 20040205740
    Abstract: A memory disambiguation method and system that provides accurate memory disambiguation and is efficient in compile time and memory usage. The method preserves high-level and intermediate-level semantics and other information necessary for disambiguation in a new structure called a disam token. The disam token and a symbolic memory reference representation associated with it are also the means by which the various memory disambiguation modules and their clients communicate, forming the basis of a complete memory disambiguation system. The method includes an algorithm for creating and maintaining the disam tokens and disambiguation information and an algorithm for applying various disambiguation rules that utilize the information during program and/or module compilation.
    Type: Application
    Filed: March 29, 2001
    Publication date: October 14, 2004
    Inventors: Daniel M. Lavery, David C. Sehr, Rakesh Ghiya
  • Publication number: 20040128657
    Abstract: An arrangement is provided for estimating type-cast sets of a program. Type-cast sets of a program are computed with respect to the declared types contained in the program.
    Type: Application
    Filed: December 31, 2002
    Publication date: July 1, 2004
    Inventors: Rakesh Ghiya, David C. Sehr
  • Publication number: 20040117606
    Abstract: The invention provides a method comprising monitoring an indicator indicating a usage of data speculatively loaded by a processor as a result of executing a speculative instruction; and selectively executing said speculative instruction when it is next encountered as an instruction pointer based on said usage. According to another embodiment, the invention provides a processor comprising a monitoring mechanism to monitor an indicator indicating a usage of data speculative loaded by said processor as a result of executing a speculative instruction; and a speculation control mechanism to selectively execute said speculative instruction when it is next encountered at an instruction pointer based on said usage.
    Type: Application
    Filed: December 17, 2002
    Publication date: June 17, 2004
    Inventors: Hong Wang, Rakesh Ghiya, John P. Shen, Ed Grochowski, Jim Fung, David Sehr, Kevin Rudd
  • Publication number: 20040117778
    Abstract: A system and method for optimizing software code are provided. Based on user input, a desired segmentation model is determined. Resultant code is generated to replace smaller N-bit pointers, when feasible, for larger pointers in the source code, while maintaining the desired segmentation model.
    Type: Application
    Filed: December 16, 2002
    Publication date: June 17, 2004
    Inventors: David C. Sehr, Rakesh Ghiya, Kevin J. Smith, Richard B.. Wirt
  • Publication number: 20040078789
    Abstract: Methods and apparatus are disclosed for determining if a user-defined software function is a memory allocation function during compile-time. The methods and apparatus determine if a user-defined function returns a new memory object every time the user-defined function is invoked. In addition, the methods and apparatus determine if the memory objects created by the user-defined function are available outside the scope of the user defined function. If the user-defined function returns a new memory object every time the user-defined function is invoked, and the memory objects created by the user-defined function are not available outside the scope of the user defined function, then the user-defined function is determined to be a memory allocation function. Otherwise, the user-defined function is determined to be a non-memory allocation function.
    Type: Application
    Filed: June 11, 2002
    Publication date: April 22, 2004
    Inventors: Rakesh Ghiya, Daniel M. Lavery, David C. Sehr
  • Publication number: 20030237077
    Abstract: In one embodiment, disambiguation of memory references, such as structure field accesses, of a computer program is performed. Disambiguation may be effected by identifying pure pointer variables within the computer program and applying at least one disambiguation rule to memory references associated with the pure pointers to determine whether the references are disjoint.
    Type: Application
    Filed: June 24, 2002
    Publication date: December 25, 2003
    Inventors: Rakesh Ghiya, Daniel Lavery, David Sehr