Compile time evaluation of library functions

Data processing: software development – installation – and managem – Software program development tool – Translation of code

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C717S152000, C717S154000, C717S136000, C717S140000, C717S141000

Reexamination Certificate

active

07921418

ABSTRACT:
A method and system for evaluating a call to a library function at compile time. A first call included in a program being compiled by a compiler is identified. The first call is a call to a library function included in a pre-defined list of library functions external to the program. The first call includes one or more arguments associated with one or more formal arguments of a library function in the pre-defined list. The identification of the first call includes searching the pre-defined list of library functions for the library function. The arguments are determined to be constants. A second call to the library function is constructed in an optimizer of the compiler. A result of the second call is statically computed in the optimizer by issuing the second call with the constants as arguments. During compile time, the first call is replaced with the result.

REFERENCES:
patent: 5355492 (1994-10-01), Frankel et al.
patent: 6079006 (2000-06-01), Pickett
patent: 6199201 (2001-03-01), Lamping et al.
patent: 6343375 (2002-01-01), Gupta et al.
patent: 6487716 (2002-11-01), Choi et al.
patent: 6721943 (2004-04-01), Krishnaiyer et al.
patent: 6832369 (2004-12-01), Kryka et al.
patent: 7089370 (2006-08-01), Luick
patent: 7318223 (2008-01-01), Blainey et al.
patent: 7331037 (2008-02-01), Dickey et al.
patent: 7716652 (2010-05-01), Smith et al.
patent: 2003/0046671 (2003-03-01), Bowen
patent: 2003/0065888 (2003-04-01), Nishiyama
patent: 2003/0204840 (2003-10-01), Wu
patent: 2004/0098711 (2004-05-01), Song et al.
patent: 2007/0055965 (2007-03-01), Colyer
patent: 2007/0283324 (2007-12-01), Geisinger
patent: 2008/0046871 (2008-02-01), Nair
patent: 2010/0023932 (2010-01-01), Eichenberger et al.
patent: 2000066896 (2000-03-01), None
Office Action (Mail Date May 4, 2010) for U.S. Appl. No. 11/505,148, filed Aug. 15, 2006; Confirmation No. 4552.
Cahoon, et al.; Recurrence analysis for effective array prefetching in Java; Concurrency and Computation: Practice and Experience; 2003; pp. 1-27.
Liu, et al.; Optimizing Aggregate Array Computations in Loops; ACM Transactions on Programming Languages and Systems; vol. 27, No. 1, Jan. 2005; ACM 0164-0925/05/0100-0091; pp. 91-125.
Cahoon, et al.; Simple and Effective Array Prefetching in Java; JGI'02, Nov. 3-5, 2002, Seattle, Washington, USA; ACM 1-58113-599-8/02/0011; pp. 86-95.
Pugh, et al.; Constraint-Based Array Dependence Analysis; ACM Transactions on Programming Languages and Systems; vol. 20, No. 3, May 1998; ACM 0164-0925/98/0500-0635; pp. 635-678.
Notice of Allowance (Mail Date Aug. 25, 2010) for U.S. Appl. No. 11/505,148, filed Aug. 15, 2006; Confirmation No. 4552.
Cahoon et al.; “Simple and Effective Array Prefetching in Java”; Nov. 2002, pp. 86-95. <http://delivery.acm.org/10.1145/590000/583820/p86-cahoon.pdf>.
Liu et al.; Optimizing Aggregate Array Computations in Loops:; Jan. 2005, pp. 91-125, <http://delivery.acm.org/10.1145/1060000/1053471/p91-liu.pdf>.
Derrien et al.; Combined Instruction and Loop Parallelism in Array Synthesis for FPGAs; Sep. 2001, pp. 165-170, <http://delivery.acm.org/10.1145/510000/500039/p165-derrien.pdf>.
Ogawa et al.; OMPI: Optimizing MPI Programs using Partial Evaluation; Proceedings of the 1996 ACM/IEEE Conference on Supercomputing, Pittsburgh, PA, USA 01-01 Jan. 1996, Piscataway, NY, USA, IEEE, Jan. 1, 1996; 18 pages.
Kleinrubatscher et al.; Fortran Program Specialization; ACM SIGPLAN Notices, vol. 30, No. 4, Apr. 1995; pp. 61-70, XP-002459522.
Samuel Z. Guyer and Calvin Lin; Optimizing the Use of High Performance Software Libraries; Languages and Compilers for Parallel Computing: 13th International Workshop, LCPC 2000, Yorktown Heights, NY, USA, Aug. 10-12, 2000, Lecture Notes In Computer Science, vol. 2017, 2001; pp. 227-243, XP-002459421.
Alt et al.; Cosy Compiler Phase Embedding with the Cosy Compiler Model; Compiler Construction; International Conference, vol. 5th, Apr. 7, 1991; pp. 278-293, XP009082491.
Bacon et al.; Compiler Transformations for High-Performance Computing; ACM Computing Surveys, New York, NY, US, vol. 26, No. 4, Dec. 1994; pp. 345-420, XP002246513.
Bacon, et al.; Fast Static Analysis of C++ Virtual Function Calls; SIGPLAN Notices (ACM Special Interest Group on Programming Languages), vol. 31, No. 10; Oct. 1996; 19 pages.
K.V. Seshu Kumar; Value Reuse Optimization: Reuse of Evaluated Math Library Function Calls Through Compiler Generated Cache; ACM SIGPLAN Notices, vol. 38(8); Aug. 2003; pp. 60-66.
Marino, et al.; Abstract of using static analysis to compile non-sequential functional logic programs; Practical Aspects of Declarative Languages. Second International Workshop, PADL 2000. Proceedings (Lecture Notes in Computer Science vol. 1753), Jan. 2000, Boston, MA, USA: p. 63.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Compile time evaluation of library functions does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Compile time evaluation of library functions, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Compile time evaluation of library functions will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2676690

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.