back-ends for high-performance floating point DSP processors

Hi,

Are there any LLVM back-ends for high-performance floating point DSP
processors? E.g. TI C67x?
Can you share some insights about developing it with LLVM? Any
bottlenecks of current infrastructure, complexity estimation?

Thanks,
Sergey Yakoushkin,
RWTH Aachen University

Hi,

Are there any LLVM back-ends for high-performance floating point DSP
processors? E.g. TI C67x?

Not as far as I know.

Can you share some insights about developing it with LLVM? Any
bottlenecks of current infrastructure, complexity estimation?

LLVM does not currently have any VLIW targets, so supporting that would likely require some work to the target independent infrastructure. The Blackfin target does not use the VLIW capabilities of that processor.

Special DSP features like circular and bit-reversed addressing can be difficult to exploit in a compiler, and LLVM does not currently support anything like that.

Hardware loops should not cause too much trouble, but it would also be a first as far as I know.

The complexity of implementing a backend depends on your goals. A backend that generates correct code is pretty easy. A backend that produces optimal code for a complex signal processing kernel is hard.

/jakob