scispace - formally typeset
Search or ask a question

Showing papers by "Wei-Ngan Chin published in 1999"


Proceedings ArticleDOI
01 Nov 1999
TL;DR: This paper provides a generic framework on which different size variants can be expressed and computed, and describes an effective algorithm for inferring, instead of checking, size information.
Abstract: Many program optimisations and analyses, such as array-bound checking, termination analysis, etc, depend on knowing the size of a function's input and output. However, size information can be difficult to compute. Firstly, accurate size computation requires detecting size relation between different inputs of a function. Secondly, different optimisations and analyses may require slightly different size information, and thus slightly different computation. Literature in size computation has mainly concentrated on size checking, instead of inferencing. In this paper, we provide a generic framework on which different size variants can be expressed and computed. We also describe an effective algorithm for inferring, instead of checking, size information. Size information are expressed in terms of Presburger formulae, and our algorithm utilises the Omega Calculator to compute as exact a size information as possible, within the linear arithmetic capability.

62 citations


Proceedings Article
01 Jan 1999
TL;DR: This paper investigates the pragmatic issues behind elimination of multiple data traversal in the context of lazy languages and proposes a framework of tupling tactic called strictness guided tupling, capable of exploiting specialised strictness contexts where possible.
Abstract: Tupling transformation strategy can be applied to eliminate redundant calls in a program and also to elim inate multiple traversals of data structures While the former application can produce super linear speedup in the transformed program the e ectiveness of the latter has yet to be appreciated In this paper we investigate the pragmatic issues behind elimination of multiple data traversal in the context of lazy languages and propose a framework of tupling tactic called strictness guided tu pling This tactic is capable of exploiting specialised strictness contexts where possible to e ect tupling op timisation Two further enhancements of the tupling tactic are also proposed One achieves circular tupling when multiple traversals from nested recursive calls are eliminated The other exploits speculative strictness to further improve the performance of tupling Bench marks are given throughout the paper to illustrate the performance gains due to these tactics

11 citations