From: Jurgen Vinju To: Date: Fri, 5 Nov 2004 13:09:53 +0100 Subject: PEM: Monoranjan Sathpati (I.I.T. Guwahati, India) | Improved Register Usage for Functional Programs through Multiple Function Versions | 21.09.98 From: pem (PEM moderator) To: pem-noreply Subject: PEM meeting | 21.09.98 | M280, CWI Precedence: bulk X-url: http://www.cwi.nl/~pem Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Dear Environmentalists, In two weeks time, we will have a guest from abroad. He will give a talk on MONDAY, September 21st. Because of the irregular day, and because this talk may interest people not on the PEM list, this announcement comes two weeks in advance. Please pass it on to anyone you think may be interested. Please note that this PEM will be in room 280 at the CWI. This announcement can be found at Improved Register Usage for Functional Programs through Multiple Function Versions Date: 21.09.98 Time: 11:00 Venue: M280, CWI Speaker: Monoranjan Sathpati (I.I.T. Guwahati, India) Title: Improved Register Usage for Functional Programs through Multiple Fu nction Versions To use registers effectively, functional programs rely on interprocedural register allocation. Existing interprocedural strategies adopt a naive approach in presence of recursion and spill registers whenever necessary. Moreover, such recursion induced spills cannot be avoided even by increasing the supply of registers. In this talk, we describe a strategy that reduces memory spills due to recursion by keeping multiple versions of the same function. Each version gets a different register assignment and has different spilling characteristics. Such a strategy shows better spilling behavior as compared to the original (single version) program, but the extent of gain is largely dependent on the control paths followed by the program during execution. We first determine the number of versions of each function, so that regardless of the execution path, the program with multiple function versions is guaranteed to perform better than the original program. Since some of these versions may be useless in the sense that they may never be called during any course of execution, we also have the problem of determining the number of meaningful versions. We solve this problem by casting it in terms of voltage graphs. _________________________________________________________________ The programming environment meetings are a forum for the presentation and discussion of new ideas, ongoing and finished work. A typical meeting addresses a subject in the area of programming environments, program generation, algebraic specification, term rewriting, parsing, etc. A presentation ideally takes between 45 and 90 minutes. Meetings taking longer than 45 minutes are interrupted by a coffeebreak. Most Thursdays, a meeting is held which starts at 10:00 am. in one of the rooms at CWI/WINS. Exceptionally, dates or times may change. The program of the meetings is available on WWW: http://www.cwi.nl/~pem _________________________________________________________________