[LLVMdev] leveraging back-end C compiler features in the gcc-based front-end

Bob Frankel
2009-05-04T02:12:02Z

<meta content="text/html;charset=ISO-8859-1"
http-equiv="Content-Type">


wow!!! i
would be interested in
trying this....  any helpful instructions (for a novice like me) to get
started using the msp430 backend would be helpful....

as for your suggestion, it does work -- i can (say) place a call to
__get_SR_register() in my front-end source, and it simply shows up in
the back-end .c file; other "extensions" to compilers (such as
'interrupt' keyword to generate different prologue/epilogue code) would
be a little trickier (though there are presumably already gcc
mechansims for flagging interrupt routines??)



Eli Friedman wrote:
<blockquote
 cite="mid:f5aa3e9b0905031840j5511e5d2md2144a0438c32379@mail.gmail.com"
 type="cite">
On Sun, May 3, 2009 at 6:19 PM, Bob Frankel <a
class="moz-txt-link-rfc2396E"
href="mailto:bios.bob.frankel@gmail.com"><bios.bob.frankel@gmail.com>
wrote:


i'm looking into using llvm with TI's
MSP430



Ah, you're in luck then: an MSP430 backend was checked in to SVN today
:)  I don't think it's mature enough for general use yet, though.



is there a way to leverage these (non-gcc)
intrinsics in the llvm gcc-based
frontend -- perhaps flagging their use in such a way that they effectively
"pass through" the optimizer and are emitted "as is" in the
generated C
code?   in some respects, you can think of this usage as not unlike dropping
inline asm code into the C sources.



You could try just generating calls to the builtins in question; if
you're lucky, it'll just work... if not, you can always use sed (or
equivalent) to manipulate the C output into the correct form.

-Eli

_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated"
href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu
<a class="moz-txt-link-freetext"
href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu
<a class="moz-txt-link-freetext"
href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev