[LLVMdev] Status of LLVM-MC

Wayne Anderson wanderon_lists at comcast.net
Mon Mar 8 10:27:38 PST 2010


Hi Chris,

Thanks for the reply.

I'll take a look at this over the next few days.  I'm sure I'll have  
more questions as I get my head around it.


-Wayne

On Mar 6, 2010, at 12:27 PM, Chris Lattner wrote:

>
> On Mar 5, 2010, at 3:20 PM, Wayne Anderson wrote:
>
>> Hello,
>>
>> I'm interested in the status of LLVM-MC.  My particular interest is  
>> in
>> generating executables for ARM embedded applications.   I assume this
>> application is not terribly high on the priority list, so I would  
>> like
>> to know how I can contribute.  Can someone point me to some
>> information and/or docs on the project and its status.   Also, if
>> someone could give me an example of how to invoke the tool for any
>> currently working target; that would be a helpful start.
>
> Hi Wayne,
>
> There are a couple of different places to start.  Daniel and I have  
> been focused on darwin/x86[-64] to start with, but bringing up  
> support for other targets would be great.  The first piece of work  
> is to get the code generator to emit everything through the  
> MCStreamer interface instead of textually to the raw_ostream.
>
> For X86, we're to the point where this is done except for debug  
> info, exception info, and inline asm.  I plan to tackle the former  
> two over the next couple weeks.
>
> For ARM, the ARM backend has completely migrated yet.  The first  
> major step is to get the ARM backend emitting instructions by  
> lowering them to MCInst's then pushing the MCInst through the  
> AsmStreamer interface.  This allows the encoder to handle them, or  
> (if actually emitting a .s file) the ARMInstPrinter to print out the  
> instruction. I started this process, but haven't finished it and it  
> isn't a very high priority for me.
>
> To see what is being emitted textually, you can do something like  
> this:
>
> $ llc foo.bc -o - -filetype=null -march=arm
>
> This will cause everything emitted to the MCStreamer to be  
> discarded, and print everything done textually to stdout.  For ARM  
> it looks like this includes all the instructions, as well as PIC  
> stubs on darwin.
>
> In summary, the first step I'd suggest is to get the -enable-arm- 
> mcinst-printer option (which enables printing through mcinsts) to  
> work fully.
>
> -Chris




More information about the llvm-dev mailing list