This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

3x ARM

Note: This was originally posted on 3rd March 2013 at http://forums.arm.com

I am aware, i have few robust reasons against it: an ARM assembler, outputting ARM code
from a bare assembly language source and the whole... running on ARM.

it is fascinating me though :rolleyes:
What is your opinion, and why pros or contras ?

Thank You in advance,
Marc

p.s. should be this one a topic poll ?
Parents
  • Note: This was originally posted on 7th March 2013 at http://forums.arm.com

    > if you are not addressing a new language

    Even for new languages GCC and LLVM are an interesting approach because it is easy to remove the language-specific part (front-end) but re-use existing mid-end and back-end code generation. To a degree this makes life easier as it lets the language author focus on the efficiency of the language, without being distracted by the compiler, as the two are really separate problems.

    > [color=#222222][font=arial, helvetica, sans-serif]line debugging informations. [/font][/color]if your "toy compiler" does it well, i state it now a-priori, it should be not that "toy" afterall


    To my mind "toy" for compilers simply means less efficient than GCC, including libraries and debug support. If a new compiler in the wild can't complete with existing tools no commercial project is going to go near it. Therefore it is a project which is for fun - a.k.a a toy - toys are for fun too =)  Toy projects can be quite large, and often fairly well tested, but compilers face a serious hurdle to get out of the "just for fun" part.

    > but it is generally good to know that someone out there has raised some little doubt about those toolchains being huge

    GCC has a nicer internal architecture with 4.x, but personally I prefer LLVM to hack around with. It's a bit cleaner, and more modular. It is very easy to compile in or omit optimization passes, for example.

    > and i find somewhat bizarre the existence of embedded "jazelle" when on a development system like Linux-on-ARM the ELF format

    The Jazelle instructions are really designed for direct execution of (most) Java byte codes in hardware, and Thumb2 EE is designed for JIT targets such as Javascript. Neither are really static compiler target designed for offline tools like a traditional C compiler.
    [color=#222222][font=arial, helvetica, sans-serif][size=2]
    [/size][/font][/color]
    [color=#222222][font=arial, helvetica, sans-serif][size=2]> consider please i may be wrong, because i am very new to ARM[/size][/font][/color]
    [color=#222222][font=arial, helvetica, sans-serif][size=2]
    [/size][/font][/color]
    It's a good discussion - many people write compilers as projects =)
Reply
  • Note: This was originally posted on 7th March 2013 at http://forums.arm.com

    > if you are not addressing a new language

    Even for new languages GCC and LLVM are an interesting approach because it is easy to remove the language-specific part (front-end) but re-use existing mid-end and back-end code generation. To a degree this makes life easier as it lets the language author focus on the efficiency of the language, without being distracted by the compiler, as the two are really separate problems.

    > [color=#222222][font=arial, helvetica, sans-serif]line debugging informations. [/font][/color]if your "toy compiler" does it well, i state it now a-priori, it should be not that "toy" afterall


    To my mind "toy" for compilers simply means less efficient than GCC, including libraries and debug support. If a new compiler in the wild can't complete with existing tools no commercial project is going to go near it. Therefore it is a project which is for fun - a.k.a a toy - toys are for fun too =)  Toy projects can be quite large, and often fairly well tested, but compilers face a serious hurdle to get out of the "just for fun" part.

    > but it is generally good to know that someone out there has raised some little doubt about those toolchains being huge

    GCC has a nicer internal architecture with 4.x, but personally I prefer LLVM to hack around with. It's a bit cleaner, and more modular. It is very easy to compile in or omit optimization passes, for example.

    > and i find somewhat bizarre the existence of embedded "jazelle" when on a development system like Linux-on-ARM the ELF format

    The Jazelle instructions are really designed for direct execution of (most) Java byte codes in hardware, and Thumb2 EE is designed for JIT targets such as Javascript. Neither are really static compiler target designed for offline tools like a traditional C compiler.
    [color=#222222][font=arial, helvetica, sans-serif][size=2]
    [/size][/font][/color]
    [color=#222222][font=arial, helvetica, sans-serif][size=2]> consider please i may be wrong, because i am very new to ARM[/size][/font][/color]
    [color=#222222][font=arial, helvetica, sans-serif][size=2]
    [/size][/font][/color]
    It's a good discussion - many people write compilers as projects =)
Children
No data