gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gcl-devel] inline optimizer improvement


From: Camm Maguire
Subject: [Gcl-devel] inline optimizer improvement
Date: 02 Sep 2004 18:29:24 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Greetings!  GCL can inline C code for certain functions in certain
circumstances.  Some functions, notable #'+, #'*, #'<, etc. take an
arbitrary number or arguments, the call to which is equivalent to the
nested tree of two argument calls.  Currently, GCL only optimizes an
actual two argument call, and I'd like to expand this to cover the
general case.  I'm trying to decide on the cleanest way.  I've written
a compiler-macro which modifies the code at the lisp level and which
works.  Alternatively, I could add a flag to the optimization entry,
eg. of the form:

(push '((long-float long-float) long-float #.(flags 
rfa)"(double)(#0)*(double)(#1)")
   (get '* 'inline-always))

which indicates that it is an 'implicit nesting call', and iterate the
template above as a string.  Of course, in the compiler-macro case,
only one expansion function needs defining for all the obvious
candidates. 

Ideas?

Take care,
-- 
Camm Maguire                                            address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah




reply via email to

[Prev in Thread] Current Thread [Next in Thread]