[LLVMdev] Software Pipelineing | Embedded C Extensions
ebner at complang.tuwien.ac.at
Tue Feb 13 09:35:38 PST 2007
we're considering LLVM as an excellent framework for a compiler backend
for a novel dsp architecture based on vliw principles that is still
development. in this context, two students at our institute are
interested in the following projects:
I) software pipelining
apparently , there has been already an remarkable amount of
by tanya lattner for the sparc backend. however, it appears it
did not (yet)
make its way into llvm. are there ongoing efforts in this
direction? most of
the work seems to be done in an architecture dependent, very low-
level IR. are
there any efforts to generalize architecture independent portions
of the code.
any comments on this are very appreciated.
II) Embedded C Extensions [2,3]
there's a ongoing project in gcc  that aims to implement
embedded c extensions
for gcc. it appears that the portions belonging to the frontend
are already pretty
stable. are there already people working on getting those bits
i see two basic approaches:
a) implement fractional and saturated operations using
(conditional) integer arithmetic.
this does not require to change anything within llvm but might
make it hard to detect
those patterns for the instruction selector in order to
generate efficient code
for architectures with hardware support for those features.
b) introduce new types for llvm that handle types such as
__Fract, __Accum and _Sat.
again, comments are highly appreciated.
CD Laboratory - Compilation Techniques for Embedded Processors
Institut fuer Computersprachen E: ebner at complang.tuwien.ac.at
Technische Universitaet Wien T: (+431) 58801-18598
Argentinierstrasse 8 / E1851 F: (+431) 58801-58521
1040 Wien, Austria W: www.complang.tuwien.ac.at/cd/ebner
More information about the llvm-dev