Data processing: software development – installation – and managem – Software program development tool – Translation of code
Reexamination Certificate
2011-04-05
2011-04-05
Kang, Insun (Department: 2193)
Data processing: software development, installation, and managem
Software program development tool
Translation of code
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.
Nair Rohini
Ward Thomas James Christopher
International Business Machines - Corporation
Kang Insun
Pivnichny John
Schmeiser Olsen & Watts
LandOfFree
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.
Profile ID: LFUS-PAI-O-2676690