Third party integration

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Third party integration

Kyle Lahnakoski

I have only just begun looking through the docs for LLVM.  I have read
through some of the PP presentations to get an idea of the modularity of
LLVM.

May someone be so kind to point me to some documentation on how to
communicate with the LLVM modules (specifically the optimizer) from some
third party piece of software (my compiler)?

I am hoping there is a file format, or some serialization, that LLVM
modules can read and write.  I am looking at the v1.9 tar file: are the
*.ll files this serialization?  If so, then I guess I am looking for a
doc with a high level grammar specification.


Thanks ahead of time.


--
----------------------------------------------------------------------
Kyle Lahnakoski                                       [hidden email]
(416) 892-7784                                    Arcavia Software Ltd

_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Reply | Threaded
Open this post in threaded view
|

Re: Third party integration

Devang Patel

On Mar 28, 2007, at 2:06 PM, Kyle Lahnakoski wrote:

>
> I have only just begun looking through the docs for LLVM.  I have read
> through some of the PP presentations to get an idea of the  
> modularity of
> LLVM.
>
> May someone be so kind to point me to some documentation on how to
> communicate with the LLVM modules (specifically the optimizer) from  
> some
> third party piece of software (my compiler)?
>
> I am hoping there is a file format, or some serialization, that LLVM
> modules can read and write.  I am looking at the v1.9 tar file: are  
> the
> *.ll files this serialization?  If so, then I guess I am looking for a
> doc with a high level grammar specification.

.ll files are human readable LLVM intermediate code. Modules operate
(see 'opt' tool) on byte codes which use .bc as file extension.

See,

        http://llvm.org/docs/LangRef.html
        http://llvm.org/docs/BytecodeFormat.html

llvm-gcc is a GCC based front-end that produces LLVM IR.

        http://llvm.org/docs/CommandGuide/html/llvmgcc.html
        http://llvm.org/docs/CommandGuide/html/opt.html

http://llvm.org/docs/ has lots of useful documents to get started.

-
Devang

_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Reply | Threaded
Open this post in threaded view
|

Re: Third party integration

Reid Spencer-2
In reply to this post by Kyle Lahnakoski
On Wed, 2007-03-28 at 17:06 -0400, Kyle Lahnakoski wrote:

> I have only just begun looking through the docs for LLVM.  I have read
> through some of the PP presentations to get an idea of the modularity of
> LLVM.
>
> May someone be so kind to point me to some documentation on how to
> communicate with the LLVM modules (specifically the optimizer) from some
> third party piece of software (my compiler)?
>
> I am hoping there is a file format, or some serialization, that LLVM
> modules can read and write.  I am looking at the v1.9 tar file: are the
> *.ll files this serialization?  If so, then I guess I am looking for a
> doc with a high level grammar specification.

Binary Format: Bytecode: http://llvm.org/docs/BytecodeFormat.html
Text Format: Assembly: http://llvm.org/docs/LangRef.html

I suggest that you read http://llvm.org/docs/ (the index) to learn more
about what documentation is available. Most of the answers you want are
already covered there.

Reid.

>
>
> Thanks ahead of time.
>
>

_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev