Tzu-Chien Chiu wrote:> Hi,
>
> DSP-C is an extension to ISO C to support specific hardware features
> in DSP, e.g. fixed-point typer, memory spaces and circular pointers.
> It's generic for different DSP's.
>
> - http://www.dsp-c.org
>
> How difficult is it to extending the llvm-gcc for this extension?
I am not sure. There are two issues with what you want to do:
1) Changing the C frontend to compile the C extensions into LLVM.
2) Mapping the extensions into LLVM code.
The first issue is simply changing llvm-gcc. llvm-gcc is based on a
developmental version of GCC 3.4. We haven't documented our changes to
llvm-gcc, but the GCC people have written a document that explains the
internals of GCC (http://gcc.gnu.org/onlinedocs/gccint). If you browse
that document and then look at the llvm-* source files in our llvm-gcc
source distribution, you can probably figure out what to do. If you
have questions about the code, please don't hesitate to email the list.
As far as how difficult this is, it depends on who you are. If you're
comfortable working on GCC internals, it probably won't be too bad.
Otherwise, I think you could say that it's hard.
:)
The second issue is the stickier one. Your changes in the GCC frontend
need to map these extensions into LLVM code. Briefly looking over the
DSP-C specification, I believe LLVM can represent fixed point types and
circular pointers without modification. I'm not sure about the memory
spaces, though.
If you can't think of a way to map your extensions to LLVM code and
think that you need to extend LLVM to support your extensions, email the
llvmdev list with what you want to extend and why you think it needs to
be extended. We can offer feedback on whether the extension is
necessary and may be able to offer suggestions that will make the work
easier.
>
> Any document like "hitchhiker's guide to extend the GCC
fronted" ?
> (just like the guide for adding instructions and intrinsics)
>
I think such a document would get outsold by the Encyclopedia Galatica.
:)
-- John T.
--
John T. Criswell
Research Programmer
University of Illinois at Urbana-Champaign
"It's today!" said Piglet. "My favorite day," said Pooh.