|
UDC 004.43
Gernot Gebhard and Philipp
Lucas
Dept. 6.2 Computer Science,
Compiler Design Lab,
Campus E1 3, Saarland
University,
D-66041 Saarbrucken, Germany
[gebhard|phlucas]@cs.uni-sb.de,
Website:
http://rw4.cs.uni-sb.de/~gebhard/projects/oors/
Abstract.
Retargeting a compiler's back end to a new
architecture is a time-consuming
process. This becomes an evident problem in the area
of programmable
graphics hardware (graphics processing units, GPUs)
or embedded processors,
where architectural changes are faster than
elsewhere.
We propose the object-oriented rewrite system OORS
to overcome this problem.
Using the OORS language, a compiler developer can
express the code
generation and optimization phase in terms of
cost-annotated rewrite rules
supporting complex non-linear matching and replacing
patterns.
Retargetability is achieved by organizing rules into
profiles, one for each
supported target architecture. Featuring a rule and
profile inheritance
mechanism, OORS makes the reuse of existing
specifications possible. This is
an improvement regarding traditional approaches.
Altogether OORS increases
the maintainability of the compiler's back end and
thus both decreases the
complexity and reduces the effort of the retargeting
process. To show the
potential of this approach, we have implemented a
code generation and a code
optimization pattern matcher supporting different
target architectures using
the OORS language and introduced them in a compiler
of a programming
language for CPUs and GPUs.
|