2001
DOI: 10.1007/3-540-45306-7_5
|View full text |Cite
|
Sign up to set email alerts
|

Imperative Program Transformation by Rewriting

Abstract: We present a method of specifying standard imperative program optimisations as a rewrite system. To achieve this we have extended the idea of matching sub-terms in expressions with simple patterns to matching blocks in a control flow graph. In order to express the complex restrictions on the applicability of these rewrites we add temporal logic side conditions. The combination of these features allows a flexible, high level, yet executable specification of many of the transformations found in optimising compil… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
38
0

Year Published

2004
2004
2021
2021

Publication Types

Select...
4
2
1

Relationship

0
7

Authors

Journals

citations
Cited by 39 publications
(38 citation statements)
references
References 25 publications
0
38
0
Order By: Relevance
“…Patterns are described using formulas of a variant of the temporal logic CTL [9], allowing the description of complex, context-sensitive properties. A pattern is either a local pattern or a path pattern.…”
Section: Extending Knit With Finegrained Rewrite Rulesmentioning
confidence: 99%
See 1 more Smart Citation
“…Patterns are described using formulas of a variant of the temporal logic CTL [9], allowing the description of complex, context-sensitive properties. A pattern is either a local pattern or a path pattern.…”
Section: Extending Knit With Finegrained Rewrite Rulesmentioning
confidence: 99%
“…To allow interposing this support within existing function definitions, the rewrite rules use temporal logic to precisely describe rewriting sites in terms of control-flow patterns [1,9]. To facilitate evolution to new versions of the legacy code, these rewritings are performed using an automatic tool.…”
Section: Introductionmentioning
confidence: 99%
“…Temporal logic is commonly used to express properties of sequences of events, particularly in the context of model checking [8]. Our approach is inspired by that of Lacey et al, who use this logic to define rewrite rules that describe common compiler optimizations [9,10].…”
Section: Aop-based Instrumentation Of the Linux Kernelmentioning
confidence: 99%
“…For this purpose, we use judgments of the form: n` where n is a node of the CFG and is a formula of temporal logic (specifically, a variant of CTL [9]). Formulas in this logic are as follows:…”
Section: Rewrite Rulesmentioning
confidence: 99%
See 1 more Smart Citation