Data processing: software development – installation – and managem – Software program development tool – Translation of code
Reexamination Certificate
2000-02-22
2004-04-06
Dam, Tuan (Department: 2122)
Data processing: software development, installation, and managem
Software program development tool
Translation of code
C717S140000, C717S151000, C717S130000
Reexamination Certificate
active
06718544
ABSTRACT:
FIELD OF THE INVENTION
The present invention relates to a user interface for a compiler, and more particularly, to a user interface for making compiler tradeoffs.
BACKGROUND OF THE INVENTION
An application program may be built (compiled and linked) in a number of different ways. For example, as part of a compiler compiling an application program, different compiler options may be used and different memory maps or layouts (on chip vs off chip) may be used. For convenience herein, a specific way of building an application program (compiling and linking a program with specific choices for compiler options and other options like memory maps/layouts) will be termed a “method”. An application program typically consists of several different functions that are used to perform the activities an application program is to perform. If the method changes at the function level (from function to function), the term “solution” will be used to represent a specific assignment of methods to each function of the compiled application.
Each method of building an application can result in an executable version of the program application (version) that exhibits different results, such as, for example, code size and processor cycle count behavior. If an application is built using several different methods, each resulting version of the application can be profiled at the function level for its results over a consistent input set, for example, collecting compiled code size and execution cycles for the functions in the application program. The resulting set of profile information describes the effects that each method has on each profitable function; for the example previously employed, this is in terms of code size and number of cycles executed for each function of an application program.
A solution engine uses this profiling information to evaluate the permutations of varying methods at the function level to compute all of the useful solutions. A solution is “useful”, if no other solution results in a version of the application that is better optimized for a specific result, such as, for example, either faster and smaller in code size than it.
What is needed is a user interface that can be used to display the set of useful solutions and allow a user to effectively understand, inspect, and manipulate result tradeoffs.
SUMMARY OF THE INVENTION
The present invention provides a user interface that allows a user to visually understand, inspect, and manipulate a set of useful solutions as a function of compiler options and other options, such as for example, but not limited to, code size and speed tradeoffs for an application program.
A user interface for displaying and controlling the results of compiling an application program with a compiler having a preselected number of compiling options, comprising of a module for displaying at least a portion of solution information as a function of said selected compiling options and for selecting at least one displayed solution, and a module for outputting, for a selected solution, compiler information to allow for said application program to be compiled in a manner consistent with said selected solution.
Other device, system and method forms of the invention are also disclosed and claimed herein. Other features of the invention are disclosed and still other features will be apparent from the disclosure herein.
REFERENCES:
patent: 5862381 (1999-01-01), Advani et al.
patent: 5946493 (1999-08-01), Hanson
patent: 5966537 (1999-10-01), Ravichandran
patent: 5966538 (1999-10-01), Granston et al.
patent: 6199199 (2001-03-01), Johnston et al.
patent: 6205555 (2001-03-01), Kageshima et al.
patent: 6311324 (2001-10-01), Smith et al.
patent: 6332212 (2001-12-01), Organ et al.
“Compiler analysis: Critical step for optimazing embedded code”, Electronic Engineering Times; Manhasset; Apr. 5, 1999; Jan Liband, Issue 1055, Start p. 88.*
“An infrastructure for Profile-Driven Dynamic Recompilation”, Robert G. Burger, SAGIAN, A division of Beckman Coulter and R. Kent Dybvig, Computer Science Department, Indiana University. Computer Languages, 1998. pp. 240-249, May 14-16, 1998.
Bartley David H.
Fuqua Paul C.
Tatge Reid E.
Ward Alan S.
Dam Tuan
Steelman Mary
LandOfFree
User interface for making compiler tradeoffs does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with User interface for making compiler tradeoffs, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and User interface for making compiler tradeoffs will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3237898